微信版本:8.0.16
jssdk:1.6.0
debug提示OK,但是分享出来的是当前页面链接(下面有解释)
现在微信想自定义分享需要符合以下场景:
1. 从公众号菜单进入的H5页面
2. 扫码进入的H5页面
3. 从别人分享的自定义分享H5进入的H5页面
可以用草料二维码把当前的链接做成二维码,扫码进入,就可以自定义分享了。
下面附上一个我封装的sdk:或可参考这里
代码注解:
api.getWxJsapiSignature 是我请求解决返回得到config配置信息,需要根据你的项目修改。
import config from "./config.js";
import api from "./api.js";
import myRequest from "./request.js";
var wxjssdk = (_wx) => {
return new Promise(rr => {
let url = location.href;
if (url.indexOf('http://localhost') !== -1) url = config.http_url
// console.log('url', url)
let data = {
url: encodeURIComponent(url)
}
myRequest.request(api.getWxJsapiSignature, data,'GET').then(res => {
let configData = res.data;
let configObj = {
// debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: configData.appId, // 必填,公众号的唯一标识
timestamp: configData.timestamp, // 必填,生成签名的时间戳
nonceStr: configData.nonceStr, // 必填,生成签名的随机串
signature: configData.signature, // 必填,签名
jsApiList: ['updateAppMessageShareData', 'getNetworkType',
'updateTimelineShareData', 'getLocation'
],
openTagList: ['wx-open-launch-weapp']
}
console.log('configObj',configObj);
_wx.config(configObj);
_wx.ready(function(res) {
console.log('wx-jssdk-ready')
rr(true)
});
_wx.error(function(err) {
console.log('wx-jssdk-error', err)
rr(false)
});
})
})
}
export default wxjssdk;