前言
ui设计没有登录页所以将微信小程序登录方法同一封装一个方法一、登录接口
二、登录
上代码
代码如下(示例):
// 登录统一接口
tologin: function(cb, ) {
// 防止拉起多个登录授权
return new Promise((reslove, reject) => {
let userInfo
uni.getUserProfile({
desc: '登录',
success: (res) => {
console.log(res);
userInfo = res.userInfo
// 获取登录用户code
uni.login({
provider: 'weixin',
success: function(res) {
//console.log(res);
if (res.code) {
let code = res.code;
console.log(code);
//将用户登录code传递到后台置换用户SessionKey、OpenId等信息
//...写用code置换SessionKey、OpenId的接口
//置换成功调用登录方法_this.updateUserInfo();
utils.request('login/loginInfo', "post", {
code
}).then((data) => {
console.log(data);
// 存储token
uni.setStorage({
key: 'token',
data: data.data.token,
success: function() {
utils.request(
'login/WcLogin',
"post", {
...
data
.data,
...
userInfo
}).then((userData) => {
console.log(userData);
store.commit("login",userData.data)
utils.toast("登录成功")
if (cb)
cb()
reslove(false)
})
}
});
})
} else {
console.log('登录失败!' + res.errMsg)
reslove(false)
}
},
});
},
fail: (res) => {
uni.showToast({
title: '已取消登录!',
icon: "none",
duration: 2000
});
console.log(res)
reslove(false)
}
});
})
},