版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1333786
openID/unionID
步骤梳理:
> (1).获取临时登录凭证—— code
> (2).将上述获得的 code 通过request 请求发送给代码服务器
> (3).请求接口地址:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
> ;# 成功则会返回我们所需要的 "openID/unionID"
"WxController.class.php"
中,可作参考 js
编码"button"
按钮,通过点击而调用其中的方法逻辑,其实在实际开发中,自行将其中的代码提取调用就可;/**
* 获取用户唯一凭证
*/
bingGetOpenID: function() {
wx.login({
success: function(data) {
console.log('获取登录 Code:' + data.code)
var postData = {
code: data.code
};
wx.request({
url: 'http://fetowNew.com/wxApi/wx/getOpenID',//注意改成自己的服务器请求地址哦!
data: postData,
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
},
success: function(res) {
//回调处理
console.log('getOpenID-OK!');
console.log(res.data);
},
fail: function(error) {
console.log(error);
}
})
},
fail: function() {
console('登录获取Code失败!');
}
})
},
"unionID"
,这是因为我在微信开放平台进行了绑定操作,如果你没有这样的操作,那么就不会有这个数据 提示:
UnionID
只在满足一定条件的情况下返回。具体参看 UnionID机制说明 注意配置信息的填写,需要正确填写自己的数据哦,应该歧义不大
wx.getUserInfo()
方法进行操作的,但是因为近期版本更新,现在有了新的方法,推荐阅读文档了解, wx.getUserInfo(OBJECT) 接口获取用户信息 button
引导官方文档已做注明:
请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作
Button
进行引导操作即可:<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="bingGetUserInfo">获取用户信息</button>
js
文件中,创建相应的方法 bingGetUserInfo()
: /**
* 获取用户信息
*/
bingGetUserInfo:function(e){
console.log(e.detail);
},
e.detail
打印出的对象数据,直接进行提取所需要的数据(比如微信昵称和头像链接、性别等);wx.request()
存储到自己的服务器中即可;注意
(后面步骤,可继续也可停止,自行决定!):> 其实,获取当前登录用户的 "openID/unionID" 信息在前面"(一)"已经可以简单的获得了;
> 但是如果想继续当前的步骤的话:
"encryptedData"
,然后对其进行 算法对称解密操作,就可以获取到用户的 openID/unionID
这些敏感数据,并且文档中也提供了不同语言的示例代码步骤梳理:
1).获取临时登录凭证(code)
2).根据上一步中微信端传来的参数 "code",在本地服务器中请求微信的接口地址,从而得到"session_key"
>接口地址为:"https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code"
3).服务端获取数据签名加密信息
js
代码的补充扩展,其实还是前面的 bingGetUserInfo()
方法: 提示:
以我的 PHP
代码为例,调用 WXBizDataCryptController
类的 wxDecrypt()
方法,传入前面所获得的所有参数即可
提示:
> 此时只要进行数据转化即可得到我们所需要的 "openid/unionid" 重要信息;
> 比如,我需要用到此信息去数据库比对该用户的业务信息等;
> 当然,我建议的是在服务端获取到数据后就与自己的数据库进行匹配处理即可
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有