您的位置:首页 > 移动开发 > 微信开发

微信登录小程序

2018-03-16 14:01 232 查看

转自:http://www.cnblogs.com/leinov/p/7837610.html

微信小程序登录方案


登录程序 app.js

调用wx.login获取code
将code作为参数请求自己业务登录接口获取session_key
存储session_key
如果有回调执行回调
App({
wxLogin: function (callback) {
wx.login({
success: function (res) {
console.log("weixin res", res);

if (res.code) {
//发起网络请求
wx.request({
url: `${app.globalData.apiurl}wx_login`,
data: {
code: res.code
},
success: function (data) {
console.log("请求登录接口返回", data);
wx.setStorage({
key: "session_key",
data: data.data.data.session_key
});
if(callback && typeof(callback) === "function"){
callback(data.data.session_key);
}

},
fail: function (res) {
wx.showToast({
title: '登录失败',
})
}
})
} else {
wx.showToast({
title: '登录失败',
})
}
}
});
}
})

业务数据请求 index.js

getStorage获取session_key
业务请求带上session_key参数
登录状态ok 返回业务数据
登录失效调用登录函数并执行回调重新getData();
var app = getApp();
page({
getData:function(){
var that = this;
wx.getStorage({
key:"session_key",
success:function(data){
wx.request({
url: `${app.globalData.apiurl}?session_key=${data.data}`,
success:function(res){
if(res.success == "true"){
that.setData({data:res.data});
}else{
//登录失效
if(res.code == 4100){
app.wxLogin(function(){
that.getData();
})
}else{
wx.showToast({
title: res.msg,
})
}
}
}
})
}
});
}
})

参考文档 https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: