微信公众号授权登录方法
01.先请求后台接口获取回调链接地址,使用window.location.href进行跳转。
1 // 授权登录
2 login() {
3 uni.request({ 4 url: '后台给的接口地址', 5 method: 'post', 6 data: {} 7 }).then(res => { 8 window.location.href = res.data.data; 9 }) 10 },
02.在onLoad()方法中接收参数对code进行赋值,然后通过getUserInfo()方法获取用户信息。
1 onLoad(option) {
2 console.log('授权登录页面的option', option) 3 this.code = option.code 4 if (this.code) { 5 this.getUserInfo() 6 } else { 7 this.login() 8 } 9 },
1 // 获取用户信息
2 getUserInfo() {
3 var that = this; 4 uni.request({ 5 url: '获取用户信息接口', 6 method: 'post', 7 data: { 8 code: that.code, 9 openid: uni.getStorageSync('openId') || "", 10 userId: uni.getStorageSync('parentId') || '', 11 } 12 }).then(res => { 13 if (res.data.code == 200) { 14 console.log("获取用户信息"); 15 uni.setStorageSync('userInfo', res.data.data) 16 uni.setStorageSync('openId', res.data.data.wechatOpenId) 17 that.getToken(res.data.data.id); 18 } 19 }) 20 },
03.最后调用getToken()方法,获取token。
1 // 获取Token
2 getToken(userId) {
3 var that = this; 4 uni.request({ 5 url: '获取token接口', 6 method: 'POST', 7 data: { 8 id: userId 9 } 10 }).then(res => { 11 if (res.data.code == 200) { 12 uni.setStorageSync('token', res.data.data) 13 //获取到token之后就可以跳转到项目首页了 14 } 15 }) 16 },
前端小白刚开通博客,如若有好的修改建议欢迎大家评论留言交流。