1. 程式人生 > >微信JS-SDK呼叫微信介面方法說明

微信JS-SDK呼叫微信介面方法說明

概述

微信JS-SDK是微信公眾平臺面向網頁開發者提供的基於微信內的網頁開發工具包。

通過使用微信JS-SDK,網頁開發者可藉助微信高效地使用拍照、選圖、語音、位置等手機系統的能力,同時可以直接使用微信分享、掃一掃、卡券、支付等微信特有的能力,為微信使用者提供更優質的網頁體驗。

這裡主要記錄呼叫 微信掃一掃、拍照或從手機相簿中選圖、上傳圖片的介面,其他介面呼叫方法類似,只是傳遞引數不同。

步驟一:繫結域名

先登入微信公眾平臺進入“公眾號設定”的“功能設定”裡填寫“JS介面安全域名”。

備註:登入後可在“開發者中心”檢視對應的介面許可權。

步驟二:引入JS檔案

備註:支援使用 AMD/CMD 標準模組載入方法載入

步驟三:通過config介面注入許可權驗證配置

所有需要使用JS-SDK的頁面必須先注入如下的配置資訊,否則將無法呼叫介面(同一個url僅需呼叫一次,對於變化url的SPA的web app可在每次url變化時進行呼叫)。

wx.config({

    debug: true, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。

    appId: '', // 必填,公眾號的唯一標識

    timestamp: , // 必填,生成簽名的時間戳

    nonceStr: ''
, // 必填,生成簽名的隨機串 signature: '',// 必填,簽名,見附錄1 jsApiList: [] // 必填,需要使用的JS介面列表,所有JS介面列表見附錄2 });

上面的引數需要後臺寫一個介面獲取:,如

var url = window.location.href;
$.ajax({
    url: url_bjtest + "/wechat/get_signature",
    type: "post",
    data: { "url" : url },
    dataType: "json",
    success: function (data
) { wx.config({ appId: data.data.appId, timestamp: data.data.timestamp, nonceStr: data.data.nonceStr, signature: data.data.signature, jsApiList: ['scanQRCode','chooseImage','uploadImage'] }); } });

步驟四:處理驗證結果

如果呼叫微信介面的程式碼放在事件處理函式中,則可以不用進行此步驟,否則必須放在如下ready方法內。

wx.ready(function(){
    // config資訊驗證後會執行ready方法,所有介面呼叫都必須在config介面獲得結果之後,config是一個客戶端的非同步操作,所以如果需要在頁面載入時就呼叫相關介面,則須把相關介面放在ready函式中呼叫來確保正確執行。對於使用者觸發時才呼叫的介面,則可以直接呼叫,不需要放在ready函式中。

});
wx.error(function(res){
    // config資訊驗證失敗會執行error函式,如簽名過期導致驗證失敗,具體錯誤資訊可以開啟config的debug模式檢視,也可以在返回的res引數中檢視,對於SPA可以在這裡更新簽名。

});

步驟五:呼叫介面

所有介面通過wx物件(也可使用jWeixin物件)來呼叫,引數是一個物件,除了每個介面本身需要傳的引數之外,還有以下通用引數:

1.success:介面呼叫成功時執行的回撥函式。

2.fail:介面呼叫失敗時執行的回撥函式。

3.complete:介面呼叫完成時執行的回撥函式,無論成功或失敗都會執行。

4.cancel:使用者點選取消時的回撥函式,僅部分有使用者取消操作的api才會用到。

5.trigger: 監聽Menu中的按鈕點選時觸發的方法,該方法僅支援Menu中的相關介面。

注意:所有介面呼叫都必須在config介面獲得結果之後,放在wx.ready(function(){…})函式中呼叫來確保正確執行;

或者放在DOM元素的事件處理函式中呼叫來確保正確執行。

1、基礎介面

判斷當前客戶端版本是否支援指定JS介面

wx.checkJsApi({

    jsApiList: ['chooseImage'], // 需要檢測的JS介面列表

    success: function(res) {

        // 以鍵值對的形式返回,可用的api值true,不可用為false
        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}

    }

});

2、掃一掃介面

wx.ready(function(){
    wx.scanQRCode({
        needResult: 1, // 預設為0,掃描結果由微信處理,1則直接返回掃描結果,  
        scanType: ["qrCode", "barCode"], // 可以指定掃二維碼還是一維碼,預設二者都有  
        success: function (res) {
            var result = res.resultStr; // 當needResult 設定為 1 時,掃碼返回的結果
            //(result 就是一個帶有sid的網址)
        }
    })
});

3、呼叫 拍照或從手機相簿中選圖介面

這裡獲取到的是使用者選擇的圖片的 本地地址列表(res.localIds)

<button type="button" id="addImg">上傳圖片</button>
var imgFiles = [];
$("#addImg").on("click",function(){
    wx.chooseImage({
        success: function(res) {
            //res.localIds為返回的選定照片的本地ID列表(即儲存本地圖片路徑字串的陣列)
            imgFiles = imgFiles.concat(res.localIds);
        }
    });
});

4、呼叫 上傳圖片 介面

這裡獲取到的是使用者選擇圖片後 上傳到微信伺服器的伺服器端地址(res.serverId)

var serverIds = [];   //要傳到伺服器的圖片列表serverId
var i = 0, length = imgFiles.length;
function upload() {
    wx.uploadImage({
        localId: imgFiles[i],
        isShowProgressTips: 0,
        success: function(res) {
            i++;
            //alert('已上傳:' + i + '/' + length);
            serverIds.push(res.serverId);
            if (i < length) {
                upload();
            }
        },
        fail: function(res) {
            alert(JSON.stringify(res));
        }
    });
}
upload();   //通過imgFiles本地Id,上傳圖片到微信伺服器,並獲取serverId,便於傳給後臺

相關推薦

JS-SDK呼叫介面方法說明

概述 微信JS-SDK是微信公眾平臺面向網頁開發者提供的基於微信內的網頁開發工具包。 通過使用微信JS-SDK,網頁開發者可藉助微信高效地使用拍照、選圖、語音、位置等手機系統的能力,同時可以直接使用微信分享、掃一掃、卡券、支付等微信特有的能力,為微信

js-sdk+JAVA實現分享介面

1、獲取公眾號appid和secret       登入微信公眾平臺-基本配置 2、配置JS安全域名       公眾號設定-功能設定       注意:MP_verify_0MVuWBvVPoPJOmPF.txt伺服器不能攔截 3、IP白名單配置       開

JS-SDK介面呼叫及填坑攻略

/**  * 微信公眾平臺開發文件  * 配置安全域名  * 文件連結  * 引入微信jssdk文件  * 獲取簽名(後臺配合返回前臺config)  * 通過ready介面處理成功驗證 (所有介面呼叫都必須在config介面獲得結果之後)  * 調取相應的介面  *   

呼叫JS-SDK自定義分享以及其他介面

package com.zzx.Weixin.Util.action; import java.io.IOException; import java.security.MessageDigest; import java.util.UUID; import javax.servlet.http.Http

關於JS-SDK 分享介面的兩個報錯記錄

一、前提: 微信測試號,用微信開發者工具測試 二、簡單複述文件: 1、引入JS檔案 在需要呼叫JS介面的頁面引入如下JS檔案,(支援https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js 如需進一步提升服務穩定性,當上述資源不可訪問時,可改訪問:ht

JAVA實現呼叫js-sdk掃一掃

喜歡的朋友可以關注下。 已經很久沒有給大家分享一片技術文章了,今天抽了點時間來,給大家說一說如何呼叫微信提供的掃一掃介面。 前提: 需要申請一個公眾號:申請公眾號需要的資料我就不說了,去申請微信會提示需要哪些。 準備appid(公眾號的id) AppSecret (

js-sdk 上傳圖片、下載圖片介面

前提已經在wx.config()中,將圖片介面驗證通過。 微信js-sdk 中上傳圖片介面(uploadImage)和下載圖片介面(downloadImage)都是針對微信伺服器本身的。以官方文件為準 注: 1.使用chooseImage介面獲取到微信客戶端圖片地址的與都是

JS-SDK之影象介面開發詳解

由於現在手頭的專案中有一個上傳證件照認證的功能(手機端),之前的思路是直接點選上傳,然後直接將圖片上傳到伺服器去,這篇文章有講到( http://www.cnblogs.com/it-cen/p/4535219.html ),但在微信裡開啟網頁去上傳,速度並不快,而且,假如我上傳一張2M大的圖片,也沒

JS-SDK 分享介面開發(介紹版)

本文主要是分享自己的開發過程,希望能給部分存在同樣問題的朋友一點點幫助;最近專案中的網頁通過微信分享朋友或朋友圈等功能出現了無法顯示分享圖片等資訊,後經過排查發現是微信版本升級導致,採用js-sdk完成分享介面,為了快速實現該功能效果,於是我打算通過前臺js進行實現來看看分享

js-sdk 介面操作介面使用

前提已經在wx.config()中獲取到介面的許可權,以官方文件為準 說明: 1.目前提供的介面操作介面和使用都比較簡單 2.有些好像還有點重複 3.“調整字型”、“投訴”這兩個測試的時候無法隱藏,屬於基礎類 一、關閉微信瀏覽器視窗 wx.closeWindow() win

JS-SDK影象介面的具體實現

影象選擇、上傳、預覽、下載 首先就是通過config介面注入許可權驗證配置這個就不多說了,通過百度大家基本上都可以自行解決。 影象選擇 wx.chooseImage({ count: 1, // 預設9,這個是可以選擇圖片的數量 siz

官方教程:教你用好JS-SDK介面

  1、分享類介面:支援獲取“分享到朋友圈”、“傳送給朋友”、“分享到QQ”和“分享到微博”按鈕的使用者點選狀態,同時支援自定義分享內容。 2、影象類介面:支援拍照,並從手機相簿選擇、上

開發(2):js sdk分享朋友圈,朋友,獲取config介面注入許可權驗證(java)

進行微信開發已經一陣子了,從最初的什麼也不懂,到微信授權登入,分享,更改底部選單,素材管理,等。 今天記錄一下微信jssdk 的分享給朋友的功能,獲取config介面注入。 官方文件走一下 簡單說:四步走 1.繫結域名 (注意:設定js安全域名的時候,需

JS SDK實現分享到朋友圈和分享給朋友的功能(服務端介面開發)

前端呼叫的介面(getInfo.php)如下,通過該介面可以獲取所需的校驗欄位。 <?php require_once "jssdk.php"; $url=isset($_GET['url'])

企業JS-SDK開發(一)------通過config介面注入許可權驗證配置

企業微信JS-SDK是企業微信面向網頁開發者提供的基於企業微信內的網頁開發工具包。通過js-sdk可以在企業微信內實現眾多功能,如調出通訊錄、調出攝像頭、隱藏部分按鈕等。使用js-sdk分為三步:1.開發頁面引入JS檔案html頁面加入<script src="//re

公眾號H5開發呼叫 js-sdk 的那些事

需求 如果你在開發微信H5頁面,並且需要呼叫微信的js介面,特意總結了一下呼叫的過程 步驟  一,繫結安全域名 登入微信公眾平臺進入“公眾號設定”的“功能設定”裡填寫“JS介面安全域名” 注意:    1.  需要從公眾號管理平臺中下載校驗憑證txt文字內容,然後上傳

呼叫JS-SDK上傳圖片爬坑之路

最近最用 vue 開發微信服務號 ,也是第一次呼叫微信的sdk , ( 先吐槽下自己 斷斷續續的整理一個星期才搞出來 ) 日了狗了 ,坑太多 , 更多是 ios 不相容 ,圖片不顯示呀 , 不能上傳多張啦 這裡就可以幫你解決 ! 廢話不多說 直接上程式碼

親測:ThinkPHP 呼叫JS-SDK 開發詳解

轉自http://my.oschina.net/superkangning/blog/368043 一:準備檔案,並將檔案置於網站根目錄下     access_token.json ? 1 {"acc

JS-SDK怎樣使用

html cli net api entity auth sandbox nature wiki 前兩天要用到微信JS庫的的一句話——wx.closeWindow();可是整個調用過程有點兒淚奔了。。。。 盡管開發人員

JS SDK Demo

index cor play cts location 超過 voice error red 微信JS-SDK 分享到朋友圈 分享給朋友 分享到QQ 拍照或從手機相冊中選圖 識別音頻並返回識別結果 使用微信內置地圖查看位置原文:http://www.cnblogs.com/