url
轉碼官方文檔描述: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62javascript
確認url
是頁面完整的url
(請在當前頁面alert(location.href.split('#')[0])
確認),包括'http(s)😕/'
部分,以及'?'後面的GET
參數部分,但不包括'#'hash
後面的部分
即獲取url
完成地址的方法爲html
let url = window.location.href.split('#')[0];
若是連接帶有中文字符或者特殊符號,前端須要使用encodeURIComponent
編碼,同時後端須要配合解碼前端
let url = encodeURIComponent(window.location.href.split('#')[0]);
config
注入官網文檔描述: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#4vue
同一個url
僅需調用一次,對於變化url
的SPA
的web app
可在每次url
變化時進行調用,
注意,每次使用jssdk
方法前都要先注入配置信息,而且,每使用一次,就要注入config
一次.java
在vue
裏,能夠寫在每次路由變化時web
router.beforeEach((to, from, next) => { // 獲取權限驗證配置(簽名) 後端返回 getConfig, 注意返回字段的大小寫! let res // 注入配置信息 wx.config({ debug: false, // 調試開關 appId: res.appId, // 必填,公衆號的惟一標識 timestamp:res.timestamp , // 必填,生成簽名的時間戳 nonceStr: res.nonceStr, // 必填,生成簽名的隨機串 signature: res.signature,// 必填,簽名 jsApiList: ["updateAppMessageShareData","updateTimelineShareData"] // 必填,須要使用的JS接口列表 }); wx.ready(() => { // doSoming }); })
必定要再三確認安全域名等微信公衆號配置信息,如分享連接link
字段後端
不少時候的錯誤並非前端方法或者sdk
等問題,而是後臺有沒有設置正確的安全域名和白名單等.安全
wx.updateAppMessageShareData({ title: '', // 分享標題 desc: '', // 分享描述 link: '', // 分享連接,該連接域名或路徑必須與當前頁面對應的公衆號JS安全域名一致 imgUrl: '', // 分享圖標 success: function () { // 設置成功 } })
參考微信官網文檔-附錄5
微信
地址: https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62app
在開發過程遇到
invalid signature
the permission value is offline verifying
permission denied
先參考文檔,排除基本因素,仍是不行,再查找搜索引擎的答案.