900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 超简明php 微信公众号获取用户openid 昵称头像基本信息

超简明php 微信公众号获取用户openid 昵称头像基本信息

时间:2024-01-07 16:18:00

相关推荐

超简明php 微信公众号获取用户openid 昵称头像基本信息

在TP5中配置好 config.php 的appid和 appsecret

如果没有授权信息的,就网页首页自动弹窗获取信息,代码如下。

// 获取GET参数function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg); //匹配目标参数if (r != null) return unescape(r[2]); return null; //返回参数值}// 获取授权function getCode(){var appid = '{php}echo config("wxpay.appid");{/php}';var url = '{php}echo config("app_host");{/php}';location.href = 'https://open./connect/oauth2/authorize?appid='+appid+'&redirect_uri='+url+'&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect';}// 页面加载完毕事件$(document).ready(function(){{if condition="empty($my->weixin)"}// 授权获得codevar code = getUrlParam('code');if(code){// 存在就获取信息$.ajax({url: '/api/user/get_mp_user/'+code,type: 'GET',success: function(x){console.log(x);// alert(JSON.stringify(x));}});}else{getCode();}{/if}});

PHP后端代码

// 获取公众号用户信息// @route('/api/user/get_mp_user/:code','get')public function get_mp_user($code){$url = 'https://api./sns/oauth2/access_token?appid='.config('wxpay.appid').'&secret='.config('wxpay.appsecret').'&code='.$code.'&grant_type=authorization_code';$json = file_get_contents($url);$arr = json_decode($json,true);if(empty($arr['openid'])){return make_return_json(500,'获取失败');}$token = $arr['access_token'];$openid = $arr['openid'];//拿到token后就可以获取用户基本信息了$url = 'https://api./sns/userinfo?access_token='.$token.'&openid='.$openid;$json = file_get_contents($url);//获取微信用户基本信息$arr = json_decode($json,true);if(empty($arr['nickname'])){return make_return_json(500,'获取信息失败');}$this->userData->weixin = $arr;$this->userData->save();return make_return_json(200,'success',$arr);}

参考:/txw1958/p/weixin76-user-info.html

参考:/shenlingsuifeng/article/details/17419985

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。