摘要:前端配置微信微信是微信公眾平臺(tái)面向網(wǎng)頁開發(fā)者提供的基于微信的網(wǎng)頁開發(fā)工具包,通過使用微信,網(wǎng)頁開發(fā)者,可借助微信高效的使用拍照掃碼錄音定位等原生應(yīng)用愛具有的能力。
前端配置微信 js-sdk
前端開發(fā)者使用 js-sdk 的 步驟:微信js-sdk 是微信公眾平臺(tái)面向網(wǎng)頁開發(fā)者提供的基于微信的網(wǎng)頁開發(fā)工具包,通過使用微信 js-sdk,網(wǎng)頁開發(fā)者,可借助微信高效的使用 拍照、掃碼、錄音、定位等原生應(yīng)用愛具有的能力。
在微信公眾平臺(tái)綁定安全域名
后端接口實(shí)現(xiàn)js-sdk配置所需要的參數(shù)
頁面實(shí)現(xiàn) js-sdk 中 config 的注入配置,并實(shí)現(xiàn)成功失敗的處理
步驟一 在微信公平臺(tái)綁定安全域名
在微信公眾平臺(tái)綁定安全域名(注意:域名的書寫要求,以及那個(gè) txt 文件下載);
-
步驟二 引入 js 文件
文件在需要調(diào)用JS接口的頁面引入如下JS文件,(支持https):
http://res.wx.qq.com/open/js/...
備注:支持使用 AMD/CMD 標(biāo)準(zhǔn)模塊加載方法加載
步驟三:通過config接口注入權(quán)限驗(yàn)證配置
//分享文案 var title = "碼客街"; // 分享標(biāo)題 var desc = "歡迎您,進(jìn)駐碼客街"; // 分享描述 var link = "http://*******.com/html/share.html"; // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁面對(duì)應(yīng)的公眾號(hào)JS安全域名一致 var imgUrl = "http://******.com/web3/rs/img/about/about-logo.png"; // 分享圖標(biāo) var type = ""; // 分享類型,music、video或link,不填默認(rèn)為link var dataUrl = ""; // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空 $.ajax({ type: "GET", url:"http://*********.com/WeixinJDK/GetSignPackageJSONP", data: { url: window.location.href.split("#")[0] }, dataType: "jsonp", success: function(result) { //獲取appid,timestamp,noncestr,signature等信息,需要后端小伙伴配合 myconfig(rusult.data); }, error: function() { alert("ajax error"); } }); function myconfig(data){ //將data值寫入 wx.config wx.config({ debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會(huì)通過log打出,僅在pc端時(shí)才會(huì)打印。 appId: "", // 必填,公眾號(hào)的唯一標(biāo)識(shí) timestamp: , // 必填,生成簽名的時(shí)間戳 nonceStr: "", // 必填,生成簽名的隨機(jī)串 signature: "",// 必填,簽名,見附錄1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2 }); //通過ready wx.ready(function(){ // config信息驗(yàn)證后會(huì)執(zhí)行ready方法,所有接口調(diào)用都必須在config接口獲得結(jié)果之后,config是一個(gè)客戶端的異步操作,所以如果需要在頁面加載時(shí)就調(diào)用相關(guān)接口,則須把相關(guān)接口放在ready函數(shù)中調(diào)用來確保正確執(zhí)行。對(duì)于用戶觸發(fā)時(shí)才調(diào)用的接口,則可以直接調(diào)用,不需要放在ready函數(shù)中。 // 在wx.ready 里面 判斷當(dāng)前客戶端版本是否支持指定JS接口 wx.checkJsApi({ jsApiList: ["chooseImage"], // 需要檢測(cè)的JS接口列表,所有JS接口列表見附錄2, success: function(res) { // 以鍵值對(duì)的形式返回,可用的api值true,不可用為false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} //調(diào)用具體 api 接口 function api(); } }); }); wx.error(function(res){ // config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù),如簽名過期導(dǎo)致驗(yàn)證失敗,具體錯(cuò)誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看,對(duì)于SPA可以在這里更新簽名。 alert(JSON.stringify(res)); }); } function api(){ //分享給朋友 wx.onMenuShareAppMessage({ title: title, // 分享標(biāo)題 desc: desc, // 分享描述 link: linkUrl, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁面對(duì)應(yīng)的公眾號(hào)JS安全域名一致 imgUrl: imgUrl, // 分享圖標(biāo) type: "", // 分享類型,music、video或link,不填默認(rèn)為link dataUrl: "", // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空 success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) }, cancel: function () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) } }); //分享到朋友圈 wx.onMenuShareTimeline({ title: title, // 分享標(biāo)題 link: linkUrl, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁面對(duì)應(yīng)的公眾號(hào)JS安全域名一致 imgUrl: imgUrl, // 分享圖標(biāo) success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) }, cancel: function () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) } }); //分享到qq wx.onMenuShareQQ({ title: title, // 分享標(biāo)題 desc: desc, // 分享描述 link: linkUrl, // 分享鏈接 imgUrl: imgUrl, // 分享圖標(biāo) success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) }, cancel: function () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) } }); //分享到qq空間 wx.onMenuShareQZone({ title: title, // 分享標(biāo)題 desc: desc, // 分享描述 link: linkUrl, // 分享鏈接 imgUrl: imgUrl, // 分享圖標(biāo) success: function () { // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù) }, cancel: function () { // 用戶取消分享后執(zhí)行的回調(diào)函數(shù) } }); // ············更多的api 請(qǐng)參見微信 js-sdk 開發(fā)文檔 }遇到問題:
配置過程中,一定要確保 注入 config 中的參數(shù)正確
. 如果配置過程中,wx.error 彈出 {"errMsg":"config:invalid url domain"}
原因:
js安全域名配置錯(cuò)誤(去掉 http://)
ajax 請(qǐng)求的接口填寫錯(cuò)誤(我就是大意,寫錯(cuò)了)
配置中出現(xiàn) {"errMsg":"config fail"}
原因:多半是輸入 config 的參數(shù)錯(cuò)誤,請(qǐng)檢查 config 參數(shù)
在使用 錄音 接口的時(shí)候,碰到了很多坑,等我解決完再來分享
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83603.html
摘要:未使用微信如果網(wǎng)頁中未使用微信用戶在微信中打開網(wǎng)站可能會(huì)觸發(fā)這個(gè)錯(cuò)誤,目前看來只有忽略。關(guān)于微信支付方法監(jiān)聽事件之后再進(jìn)行下一步操作方法直接使用文檔中的支付代碼,不要使用公眾號(hào)支付文檔里面的代碼。 Fundebug并沒有使用微信JS-SDK,然而卻收到了WeixinJSBridge is not defined的報(bào)錯(cuò): showImg(https://segmentfault.com...
摘要:進(jìn)過下面的步驟,一步一步的配置,就可以讓你正確的在項(xiàng)目中引入微信的。在進(jìn)行了正確的微信文件引入后看上面在頁面中調(diào)用如下代碼就可以注入權(quán)限驗(yàn)證配置??梢酝ㄟ^微信提供的兩個(gè)接口來進(jìn)行事件回調(diào)。到這為止,微信的接入就完成了。 微信JS-SDK的功能 如果你點(diǎn)進(jìn)來,那么我相信你應(yīng)該知道微信的JS-SDK可以用來做什么了。微信的官方文檔描述如下。 微信JS-SDK是微信公眾平臺(tái)面向網(wǎng)頁開發(fā)者提供...
摘要:微信選擇圖片遇到的坑有個(gè)需求要在微信企業(yè)號(hào)里面做開發(fā),有個(gè)功能是選擇圖片,使用標(biāo)簽肯定是不管用了,手機(jī)上不能多選,所以使用了微信的提供的相關(guān),這個(gè)地方真的是有坑,記錄一下。 微信JS-SDK選擇圖片遇到的坑 有個(gè)需求要在微信企業(yè)號(hào)里面做開發(fā),有個(gè)功能是選擇圖片,使用input標(biāo)簽肯定是不管用了,Android手機(jī)上不能多選,所以使用了微信的JS-SDK提供的相關(guān)API,這個(gè)地方真的是有...
摘要:最近開發(fā)微信公眾號(hào)內(nèi)嵌頁面,使用搭建的項(xiàng)目,由于業(yè)務(wù)需求,需要實(shí)現(xiàn)微信自定義分享功能,所以項(xiàng)目中集成微信。 最近開發(fā)微信公眾號(hào)內(nèi)嵌H5頁面,使用vue搭建的項(xiàng)目,由于業(yè)務(wù)需求,需要實(shí)現(xiàn)微信自定義分享功能,所以項(xiàng)目中集成微信JS-SDK。微信JS-SDK是微信公眾平臺(tái)面向網(wǎng)頁開發(fā)者提供的基于微信內(nèi)的網(wǎng)頁開發(fā)工具包。通過使用微信JS-SDK,網(wǎng)頁開發(fā)者可借助微信高效地使用拍照、選圖、語音、...
摘要:安裝并引入依賴包這里是說明文檔下載依賴包在需要用到的模塊引入檢查是否引入成功可以在引入的模塊中執(zhí)行控制臺(tái)顯示以上代碼表示引入成功配置微信所有需要使用的頁面必須先注入配置信息,否則將無法調(diào)用開啟調(diào)試模式調(diào)用的所有的返回值會(huì) 1.安裝并引入JS-SDK依賴包 這里是JS-SDK說明文檔 1.1 npm 下載依賴包 npm install weixin-js-sdk --save 1.2.在...
閱讀 2951·2023-04-26 02:14
閱讀 3795·2019-08-30 15:55
閱讀 1883·2019-08-29 16:42
閱讀 2790·2019-08-26 11:55
閱讀 2876·2019-08-23 13:38
閱讀 519·2019-08-23 12:10
閱讀 1339·2019-08-23 11:44
閱讀 2881·2019-08-23 11:43