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

微信公众号获取用户头像 昵称等信息

时间:2022-03-19 11:40:34

相关推荐

微信公众号获取用户头像 昵称等信息

微信公众号网页可以获取用户头像昵称等信息,具体怎么获取看代码:

前端代码:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="keywords" content=""><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"><title></title><link rel="icon" href="" type="image/x-icon"/><script src="js/jquery-1.11.0.min.js"></script><style></style></head><body><div class="jpmenpiao"><img id="headimgurl" src=""/></div> <script>function getUrlParam (name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')let url = window.location.href.split('#')[0]let search = url.split('?')[1]if (search) {var r = search.substr(0).match(reg)if (r !== null) return unescape(r[2])return null} else {return null}}var code = getUrlParam('code');var local = window.location.href;console.log(code);var userinfoid;var userinfoname;var userinfoimg;if(code==null||code==''){window.location.href ="https://open./connect/oauth2/authorize?appid=wx7bd203a60100c6d4&redirect_uri="+encodeURIComponent(local)+"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"}else{$.ajax({url:'https:/#####/index.php/Home/Getuserwxinfo/getuserinfo',type:'post',dataType:'json',data:{'code':code},success:function(data){console.log(data);console.log(data.data.headimgurl);$('#headimgurl').attr('src',data.data.headimgurl);localStorage.setItem("headimgurl",data.data.headimgurl);},error:function (error) {console.log(error)}});}</script></body></html>

后端代码:

public function getuserinfo(){$appid = "微信公众号APPID";$secret = "微信公众号secret";//这里获取到了code$code = $_POST['code'];//$code = "051c0vFa1HfTbA0fTRFa1jfbr81c0vF0";//第一步:取得openid$oauth2Url = "https://api./sns/oauth2/access_token?appid=".$appid."&secret=".$secret."&code=".$code."&grant_type=authorization_code";$oauth2 = $this->http_curl($oauth2Url);//accestoken$access_token = $oauth2["access_token"];//openid$openid = $oauth2['openid'];//第二步:根据全局access_token和openid查询用户信息$get_user_info_url = "https://api./sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";$userinfo = $this->http_curl($get_user_info_url);$arr = array('status' => 200,'data'=>$userinfo,'openid'=>$openid);$this -> ajaxReturn($arr);//打印用户信息}function http_curl($url){//用curl传参$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//关闭ssl验证curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch,CURLOPT_HEADER, 0);$output = curl_exec($ch);curl_close($ch);return json_decode($output, true);}

我这里介绍的是前后端分离的方法,网上有很多都是后端实现,但目前基本都是前后端分离开发的所欲我记录下来供大家借鉴。

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