uni_app端程式碼 vue
import jweixin from '../../jweixin'
//在根目錄下建立jweixin資料夾,內放index.js,下載微信jsdk,連結http://res.wx.qq.com/open/js/jweixin-1.4.0.js,最新版本為1.6.0,但是不能使用會報錯
shareWechat(){
let that = this;
uni.request({
url: app.appUrl +'index/getWechatSignature?token='+this.token,//獲取服務端簽名介面
method: 'POST',
data: {
url: encodeURIComponent(location.href.split('#')[0])//js動態獲取當前域名,此域名需要在公眾號端配置
},
success(res) {
let s = res.data.data
console.log(s)
jweixin.config({
debug: false, // 開啟除錯模式,呼叫的所有api的返回值會在客戶端alert出來,若要檢視傳入的引數,可以在pc端開啟,引數資訊會通過log打出,僅在pc端時才會列印。
appId: 'appid', // 必填,公眾號的唯一標識
timestamp: s.timestamp, // 必填,生成簽名的時間戳
nonceStr: s.noncestr, // 必填,生成簽名的隨機串
signature: s.signature,// 必填,簽名
jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"] // 必填,需要使用的JS介面列表
});
jweixin.ready(function () {
//獲取“分享給朋友”按鈕點選狀態及自定義分享內容介面(即將廢棄)
jweixin.onMenuShareAppMessage({
title: that.info.title, // 分享標題
desc: that.info.intro, // 分享描述
link: location.href, // 分享連結
imgUrl: that.author.headimgurl, // 分享圖示
type: '', // 分享型別,music、video或link,不填預設為link
dataUrl: '', // 如果type是music或video,則要提供資料連結,預設為空
success: function (e) {
console.log(e)
}
})
})
}
})
}
服務端獲取access_token,JsapiTicket,sha1簽名等方法,官方給出的有例子
demo.open.weixin.qq.com/jssdk/sampl...
注意,注意,注意:
js傳url需要encodeURIComponent(),後端需要urldecode(),url也是需要動態獲取的,固定寫死簽名是不會成功的
本作品採用《CC 協議》,轉載必須註明作者和本文連結