2023年6月28日发(作者:)
java微信⼩程序获取⽤户openid_微信⼩程序授权获取⽤户详细信息openid的实例详解...⼩程序获取⽤户的头像昵称openid之类第⼀种使⽤rInfo直接获取微信头像,昵称rInfo({success: function (res) {a({nickName: me,avatarUrl: Url,})},})第⼆种我们在使⽤⼩程序 API进⾏登录的时候,直接使⽤rInfo是不能获取更多的信息的,如微信⽤户的openid。官⽅提⽰,需要发送获取到的code进⾏请求到微信的后端API,进⾏⽤户解密之类的操作才可以获取,根据⽂档,只需要进⾏⼀个get请求到如下地址即可:appid和secret在微信⼩程序后台可以看到,js_code为使⽤登录时获取到的code参数数据,grant_type这个不⽤改动。js⽂件var openId = (rageSync('openId'))if (openId) {rInfo({success: function (res) {a({nickName: me,avatarUrl: Url,})},fail: function () {// ("获取失败!")},complete: function () {// ("获取⽤户信息完成!")}})} else {({success: function (res) {()if () {rInfo({withCredentials: true,success: function (res_user) {t({//后台接⼝地址url: '....com/wx/login',data: {code: ,encryptedData: res_tedData,iv: res_},method: 'GET',header: {'content-type': 'application/json'},success: function (res) {// fo = ();a({nickName: me,avatarUrl: Url,})rageSync('openId', );}})}, fail: function () {dal({title: '警告通知',content: '您点击了拒绝授权,将⽆法正常显⽰个⼈信息,点击确定重新获取授权。',success: function (res) {if (m) {tting({success: (res) => {if (tting["fo"]) {如果⽤户重新同意了授权登录({success: function (res_login) {if (res_) {rInfo({withCredentials: true,success: function (res_user) {t({url: '....com/wx/login',data: {code: res_,encryptedData: res_tedData,iv: res_},method: 'GET',header: {'content-type': 'application/json'},success: function (res) {a({nickName: me,avatarUrl: Url,})rageSync('openId', );}})}})}}});}}, fail: function (res) {}})}}})}, complete: function (res) {}})}}})}},globalData: {userInfo: null}后台是php 框架是laravel5.4版本官⽅⽂档:微信官⽅提供了多种编程语⾔的⽰例代码(点击下载)。每种语⾔类型的接⼝名字均⼀致。调⽤⽅式可以参照⽰例。下载之后在php⽂件中引⼊:namespace AppHttpControllersAdmin;use IlluminateHttpRequest;use AppHttpControllersController;use AppModelsUser;use AppModelsWechatuser;include_once app_path('/Http/Controllers/Admin/PHP/');// 获取微信⽤户信息public function getWxLogin(Request $request){// require_once ROOTPATH . "./PHP/";$code = $request->get('code');$encryptedData = $request->get('encryptedData');$iv = $request->get('iv');$appid = "***" ;$secret = "***";$URL = "/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code";$apiData=file_get_contents($URL);// var_dump($code,'wwwwwwww',$apiData['errscode']);// $ch = curl_init();// curl_setopt($ch, CURLOPT_URL, $URL);// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// curl_setopt($ch, CURLOPT_HEADER, 0);// $output = curl_exec($ch);// curl_close($ch)if(!isset($apiData['errcode'])){$sessionKey = json_decode($apiData)->session_key;$userifo = new WXBizDataCrypt($appid, $sessionKey);$errCode = $userifo->decryptData($encryptedData, $iv, $data );if ($errCode == 0) {return ($data . "n");} else {return false;}}}官⽅⽂档的登录流程图,整个登录流程基本如下图所⽰:如有疑问请留⾔或者到本站社区交流讨论,感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687896261a54829.html
评论列表(0条)