最近公司小程序有个获取用户手机号功能,废话不多说直接上代码。
1.login方法获取code,用code调用后端接口获取sessionKey(即code2sessionAPI)
function getSessionKey() {
return new Promise((resolve, reject) => {
uni.login({
provider: 'weixin',
success: res => {
ajax({
url: `后端获取session_key接口`,
loading: false,
data: {
js_code: res.code
},
}).then(resp => {
if(resp.respCode=='T'&&resp.result.session_key){
resolve(resp.result.session_key);
}else{
console.log('接口error:',resp)
reject(resp.errorData)
}
})
},fail:res=>{
console.log('login方法error:',res)
reject(res)
}
});
})
}
2.拿到sessionKey,结合用户授权成功后得到的iv,encryptedData发送给后端做解密
getPhoneNumber(e) {
getSessionKey().then(sessionKey => {