1. 程式人生 > >最全、最好用微信瀏覽器JS API合集!!!

最全、最好用微信瀏覽器JS API合集!!!

尋找了多少次,終於發現它了,感謝網友的貢獻,在此也分享給大家,檢視附件~微信公眾平臺Js API(WeixinApi)  
微信公眾平臺Js API(WeixinApi)
1、API能實現什麼?

1、分享到微信朋友圈
2、分享給微信好友
3、分享到騰訊微博
4、新的分享介面,包含朋友圈、好友、微博的分享(for iOS)
5、隱藏/顯示右上角的選單入口
6、隱藏/顯示底部瀏覽器工具欄
7、獲取當前的網路狀態
8、調起微信客戶端的圖片播放元件
9、關閉公眾平臺Web頁面
10、判斷當前網頁是否在微信內建瀏覽器中開啟
11、增加開啟掃描二維碼
12、支援WeixinApi的錯誤監控
13、檢測應用程式是否已經安裝(需要官方開通許可權)

你可以用微信的“掃一掃”來開啟下面這個二維碼體驗一把:

Weixin Api Demo

2、如何使用?

使用起來比較簡單,具體可參考demo.html中的實現

1)、初始化等待分享

JavaScript程式碼 
  1. // 開發階段,開啟WeixinApi的除錯模式
  2. WeixinApi.enableDebugMode();
  3. // 初始化WeixinApi,等待分享
  4. WeixinApi.ready(function(Api) {
  5.   // 微信分享的資料
  6.   var wxData = {
  7.     "appId"""// 服務號可以填寫appId
  8.     "imgUrl" : 'http://www.baidufe.com/fe/blog/static/img/weixin-qrcode-2.jpg'
    ,
  9.     "link" : 'http://www.baidufe.com',
  10.     "desc" : '大家好,我是Alien,Web前端&Android客戶端碼農,喜歡技術上的瞎倒騰!歡迎多交流',
  11.     "title" : "大家好,我是趙先烈"
  12.   };
  13.   // 分享的回撥
  14.   var wxCallbacks = {
  15.     // 分享操作開始之前
  16.     ready : function() {
  17.     // 你可以在這裡對分享的資料進行重組
  18.     alert("準備分享");
  19.     },
  20.     // 分享被使用者自動取消
  21.     cancel : function(resp) {
  22.     // 你可以在你的頁面上給使用者一個小Tip,為什麼要取消呢?
  23.     alert("分享被取消,msg=" + resp.err_msg);
  24.     },
  25.     // 分享失敗了
  26.     fail : function(resp) {
  27.     // 分享失敗了,是不是可以告訴使用者:不要緊,可能是網路問題,一會兒再試試?
  28.     alert("分享失敗,msg=" + resp.err_msg);
  29.     },
  30.     // 分享成功
  31.     confirm : function(resp) {
  32.     // 分享成功了,我們是不是可以做一些分享統計呢?
  33.     alert("分享成功,msg=" + resp.err_msg);
  34.     },
  35.     // 整個分享過程結束
  36.     all : function(resp,shareTo) {
  37.     // 如果你做的是一個鼓勵使用者進行分享的產品,在這裡是不是可以給使用者一些反饋了?
  38.     alert("分享" + (shareTo ? "到" + shareTo : "") + "結束,msg=" + resp.err_msg);
  39.     }
  40.   };
  41.   // 使用者點開右上角popup選單後,點選分享給好友,會執行下面這個程式碼
  42.   Api.shareToFriend(wxData, wxCallbacks);
  43.   // 點選分享到朋友圈,會執行下面這個程式碼
  44.   Api.shareToTimeline(wxData, wxCallbacks);
  45.   // 點選分享到騰訊微博,會執行下面這個程式碼
  46.   Api.shareToWeibo(wxData, wxCallbacks);
  47.   // iOS上,可以直接呼叫這個API進行分享,一句話搞定
  48.   Api.generalShare(wxData,wxCallbacks);
  49. });
可能有的朋友不知道appId從哪兒獲取,請看這裡:如何獲取appId

2)、隱藏右上角option menu入口

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // 隱藏
  3.   Api.hideOptionMenu();
  4.   // 顯示
  5.   // Api.showOptionMenu();
  6. });
3)、隱藏底部工具欄

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // 隱藏
  3.   Api.hideToolbar();
  4.   // 顯示
  5.   // Api.showToolbar();
  6. });
4)、獲取當前的網路型別

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   Api.getNetworkType(function(network){
  3.     /**
  4.     * network取值:
  5.     *
  6.     * network_type:wifi  wifi網路
  7.     * network_type:edge  非wifi,包含3G/2G
  8.     * network_type:fail  網路斷開連線
  9.     * network_type:wwan  2g或者3g
  10.     */
  11.   });
  12. });
5)、調起客戶端圖片播放元件

PHP程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // 需要播放的圖片src list
  3.   var srcList = [src1, src2, ..., srcN];
  4.   // 選一個作為當前需要展示的圖片src
  5.   var curSrc = src1;
  6.   // 調起
  7.   Api.imagePreview(curSrc, srcList);
  8. });
調起客戶端圖片播放元件,還有一種更屌的方法,不需要依賴這個WeixinApi,直接a標籤實現就行,具體格式:

HTML程式碼 
  1. <a href="weixin://viewimage/`YourImageURL`">AnyThing</a>
我們可以用A標籤來巢狀這個img,具體Demo如下:

HTML程式碼 
  1. <a href="weixin://viewimage/http://www.baidu.com/img/bdlogo.gif">
  2.   <img src="http://www.baidu.com/img/bdlogo.gif">
  3. </a>
  4. <a href="weixin://viewimage/http://tb2.bdstatic.com/tb/static-common/img/search_logo_big_6a13b553.gif">
  5.   <img src="http://tb2.bdstatic.com/tb/static-common/img/search_logo_big_6a13b553.gif">
  6. </a>
6)、關掉當前微信公眾頁面視窗

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // 關閉視窗
  3.   WeixinApi.closeWindow({
  4.     success : function(resp){
  5.     alert('關閉視窗成功!');
  6.     },
  7.     fail : function(resp){
  8.     alert('關閉視窗失敗');
  9.     }
  10.   });
  11. });
7)、判斷當前網頁是否在微信內建瀏覽器中開啟

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // true or false
  3.   var flag = Api.openInWeixin();
  4. });
8)、開啟掃描二維碼

JavaScript程式碼 
  1. WeixinApi.ready(function(Api) {
  2.   // 掃描二維碼
  3.   WeixinApi.scanQRCode({
  4.     success : function(resp){
  5.     alert('掃描器已開啟!');
  6.     },
  7.     fail : function(resp){
  8.     alert('掃描器無法開啟');
  9.     }
  10.   });
  11. });
9)、開啟WeixinApi的錯誤監控

注意,這句程式碼務必放在WeixinApi.ready之前;上線的時候,根據實際需要,可刪掉它

JavaScript程式碼 
  1. // 方法1:不帶任何引數,將以alert方式提示出錯資訊
  2. WeixinApi.enableDebugMode();
  3. // 方法2:給一個callback,自己處理錯誤資訊
  4. WeixinApi.enableDebugMode(function(errObj){
  5.   // errObj = {
  6.   //  message : errorMessage,
  7.   //  script : scriptURI,
  8.   //  line : lineNumber,
  9.   //  column : columnNumber
  10.   // }
  11. });
// 當然,你還可以做一件事:把這些錯誤資訊上報到伺服器
3、其他

詳細的使用場景,可以到這裡獲取:http://www.baidufe.com/item/f07a3be0b23b4c9606bb.html

注意:這只是發燒版本,非微信官方出品!有問題可大家一起來討論,我很樂意與大家一起來完善這個API。