api.js里的内容
function weChatShare(data) {
if(isWeiXin()){
if(localStorage.getItem('token')){
//微信
var share ={
title: data.title,
link: data.link,
imgUrl: data.imgUrl,
desc: data.title
};
wx.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage'
]
});
wx.checkJsApi({
jsApiList: ['updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage' ], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
}
});
wx.ready(function(){
wx.updateAppMessageShareData({
title: share.title,
desc: share.desc,
link: share.link,
imgUrl: share.imgUrl,
success: function () {
// 设置成功
},
});
wx.updateTimelineShareData({
title: share.title,
desc: share.desc,
link: share.link,
imgUrl: share.imgUrl,
success: function () {
// 设置成功
}
});
wx.onMenuShareAppMessage({
title: share.title,
desc: share.desc,
link: share.link,
imgUrl: share.imgUrl,
success: function () {
// 设置成功
},
});
});
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,
也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
}
}
}
需要调用授权的地方,
if (isWeiXin()) {
// 微信授权 token失效,schid变化都要重新授权
var schid = $.getUrlParam('schid');
var oldschid = localStorage.getItem('schid');
var token = localStorage.getItem('token');
var code = $.getUrlParam('code');
// 微信授权重定向后,会携带code返回
if (token) {
if (schid == oldschid) {
pageInit();
}else{
localStorage.removeItem('token');
localStorage.setItem('redirect_url', location.href);
localStorage.setItem('ppkid', ppkid);
WeChatCode();
}
} else {
if (code) {
gotoLogin(schid, code);
} else {
localStorage.setItem('redirect_url', location.href);
localStorage.setItem('ppkid', ppkid);
WeChatCode();
}
}
// 微信授权获取code方法
function WeChatCode() {
let para = {
schid: schid
}
getUrlState(para).then(res => {
if (res.code == 1) {
var appid = res.data.appid;
var state = res.data.state;
if (isWeiXin()) {
var url =
`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${encodeURIComponent(localStorage.getItem('redirect_url'))}` +
"&response_type=code&scope=snsapi_userinfo&state=" + state + "#wechat_redirect";
} else {
var url =
`https://open.weixin.qq.com/connect/qrconnect?appid=${appid}&redirect_uri=${encodeURIComponent(localStorage.getItem('redirect_url'))}` +
"&response_type=code&scope=snsapi_userinfo&state=" + state + "#wechat_redirect";
}
window.location.href = url;
} else {
mui.short(res.msg, {
duration: 'short',
type: 'div'
})
}
})
}
// 获取code登录后方法
function gotoLogin(schid, code) {
let para = {
schid,
code
}
WeChatLogin(para).then((res) => {
if (res.code == '1') {
localStorage.setItem('token', res.data.token);
// localStorage.setItem('sharesid', res.data.sid);
// branchPath();
localStorage.setItem('schid', schid);
pageInit()
} else {
mui.toast(res.msg, {
duration: 'short',
type: 'div'
});
}
});
}
} else {
location.href = '/mobile/views/kyk/tips.html';
}
细节还需要后期查看 微信开发文档