微信小程序 getUserProfile 获取用户信息 iv encryptedData 参数
Posted 早起的年轻人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序 getUserProfile 获取用户信息 iv encryptedData 参数相关的知识,希望对你有一定的参考价值。
人生七十古来稀,十年少小,十年老弱,还有五十年,五十年再分成日夜,只有二十五年的风景,再加上刮风下雨,三灾六病,人这一辈子,所剩时间不多,不如好好写写代码
效果
1 wxml 中定义的按钮
<button bindtap="toLogin"
lang="zh_CN" open-type='getUserInfo'>立即登录
</button>
2 对应的 js 中调用 结合 login 方法获取 code
我这里是在 进入页面时获取了 code
getWxCode()
let that = this;
wx.login(
success: function (data)
console.log(" wx.login ---success ")
that.setData(
wxCode: data.code
);
)
,
然后在调用登录方法时直接使用的这个code
toLogin(e)
this.getUserInfoFunction(e,this.data.wxCode);
,
调用 getUserProfile 方法来获取微信的用户消息
getUserInfoFunction(e,code)
//获取微信用户信息
wx.getUserProfile(
desc: '用于完善资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) =>
//保存微信用户信息
wx.setStorageSync('user_info', res.userInfo)
let avatarUrl = res.userInfo.avatarUrl;
let nickName = res.userInfo.nickName;
let province = res.userInfo.province;
let country = res.userInfo.country;
let gender = res.userInfo.gender;
let iv = res.iv;
let encryptedData = res.encryptedData;
let wxCode = code;
//在这里去调用 后台接口
//后台接口会根据 iv encryptedData wxCode
//来获取 openID 以及获取用户的基本信息
,
fail: (err) =>
console.log('err', err);
);
,
调用 api.weixin.qq.com 接口来获取用户的 openId
我这里是在 微信中调用的此api 接口,为了给大家演示效果,实际业务开发中,微信小程序中不可以调用此接口。
在你的 java 服务接口 或者 php 服务接口中调用 此 api 即可获取到 openId
let appid = "";
let secret = "";
let wxCode ="";
wx.request(
url: "https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + wxCode + "&grant_type=authorization_code",
success: (res) =>
console.log(res);
let session_key = res.data.session_key;
let openid = res.data.openid;
)
3 第一次登录出现解密失败 第二次登录就可以了
引起的这个错误一般是 错误的流程:引导用户点击授权按钮(getUserProfile)=>调起授权(wx.getUserProfile)=>获取code(wx.login)=>请求后端、传输数据(code、iv等)=>后端解密并登陆。
正确的流程(本文所述)正确的流程:获取code(wx.show)=>引导用户点击授权按钮(getUserProfile)=>调起授权(wx.getUserProfile)=>请求后端、传输数据(code、iv等)=>后端解密并登陆。
完毕
以上是关于微信小程序 getUserProfile 获取用户信息 iv encryptedData 参数的主要内容,如果未能解决你的问题,请参考以下文章
微信小程序 getUserProfile 获取用户信息 iv encryptedData 参数
微信小程序 getUserProfile 获取用户信息 iv encryptedData 参数