1.封装配置微信公众号的方法
import { getWxInfo } from '@/api/index.js'
function loadScript (url) {
return new Promise((resolve, reject) => {
let script = document.createElement('script')
script.src = url
script.onload = function () {
resolve()
}
script.onerror = function () {
reject()
}
document.body.appendChild(script)
})
}
async function setWxDeployHandle () {
const res = await getWxInfo()
wxConfig(res.body)
}
function wxConfig (data) {
wx.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage',
'onMenuShareTimeline',
],
})
wx.ready(function () {
const params = {
title: '标题',
desc: '描述',
link: data.url,
imgUrl: '',
}
wx.updateAppMessageShareData({
...params,
success: function () {
console.log('设置成功-updateAppMessageShareData')
},
})
wx.updateTimelineShareData({
...params,
success: function () {
console.log('设置成功-updateTimelineShareData')
},
})
wx.onMenuShareAppMessage({
...params,
success: function () {
console.log('设置成功-onMenuShareAppMessage')
},
})
wx.onMenuShareTimeline({
...params,
success: function () {
console.log('设置成功-onMenuShareTimeline')
},
})
})
}
2.使用
const sdkList = ['https://res.wx.qq.com/open/js/jweixin-1.6.0.js', 'https://res2.wx.qq.com/open/js/jweixin-1.6.0.js ']
try {
loadScript(sdkList[0]).then(() => {
console.log('微信sdk加载成功-1',wx)
setWxDeployHandle()
})
} catch (e) {
loadScript(sdkList[1]).then(() => {
console.log('微信sdk加载成功-2')
setWxDeployHandle()
})
}