1.首先配置manifest.json文件
appid: 是从微信开放平台申请的
ios平台通用链接(不开发ios可不填) 最好 最好 最好!!!! 自动生成 ,教程在此
注意:ios不支持仅开通微信登录,如果开通了微信登录那么必须带上苹果登录。
2.小程序登录直接上代码
html
<button class="login-btn" open-type="getPhoneNumber" @getphonenumber="onGetPhoneNumber"></button>
js
onLoad() {
uni.login({
provider: 'weixin',
success: res => {
this.code = res.code
uni.getUserInfo({
success: res1 => {
this.avatarUrl = res1.userInfo.avatarUrl
this.nickName = res1.userInfo.nickName
this.gender = res1.userInfo.gender
}
})
},
fail: err => {
console.log('err', err);
}
});
},
onGetPhoneNumber(e) {
this.userdetail = e.detail
this.wxLogin()
},
// 获取openid 去登录或者注册
wxLogin() {
let params = {
code: this.code
};
this.$http.getOpenId(params).then(res => {
this.userdetail.session_key = res.data.session_key
this.wxAuth(res.data.openid);
});
},
// 解析数据
wxAuth(openid) {
let params = {
openid,
session: this.userdetail.session_key,
iv: this.userdetail.iv,
encryptedData: this.userdetail.encryptedData,
imageUrl: this.avatarUrl,
nickName: this.nickName,
sex: this.gender
};
// 调登录接口
this.$http.wxAuth(params).then(res => {
if (res.code === 200) {
uni.setStorageSync('token', res.data.token)
uni.navigateBack()
}
});
},
2.微信登录直接上代码
wxLogin() {
let self = this
uni.getProvider({
service: 'oauth',
success(res1) {
if (~res1.provider.indexOf('weixin')) {
uni.login({
provider: 'weixin',
success(res2) {
uni.getUserInfo({
provider: 'weixin',
success(res3) {
self.$http.weixinLogin({
openid: res3.userInfo.openId,
nickName: res3.userInfo.nickName,
sex: res3.userInfo.gender,
imageUrl: res3.userInfo.avatarUrl
}).then(res => {
if (res.code === 200) {
uni.setStorageSync('token', res.data.token)
uni.navigateBack()
}
})
}
})
}
})
}
}
})
},
微信登录结束流程结束
接下来就是调试了。。。。。