thinkphp5小程序微信登录

阅读: 评论:0

thinkphp5小程序微信登录

thinkphp5小程序微信登录

1、绑定登录事件 < button open-type = "getUserInfo" bindgetuserinfo = "wxlogin"> 登录 </ button > 2、获取用户信息之后调用微信登录接口获取code发送给服务端

3、服务端处理
//微信登录public function wxLogin(){$code = input(&#de');//获取code$iv = input('param.iv');//获取IV用于解密$encryptedData = input(&#ptedData');//用户加密信息//通过code获取openid、session_key$url = '='.$this->appid.'&secret='.$this->serect.'&js_code='.$code.'&grant_type=authorization_code';$res = file_get_contents($url);$jscode_res = json_decode($res,true);//解密用户信息并获取open_id、unionID、用户信息$wechat = new WxBizDataCrypt($this->appid,$jscode_res['session_key']);$errCode = $wechat->decryptData($encryptedData,$iv,$data);$heavy_data = $data;//引用值赋值给变量$en_res = json_decode($heavy_data,true);$user_id = db('member')->where('unionid',$en_res['unionId'])->value('id');if(!empty($user_id)){//判断该用户是否存在if(empty(db('member')->where('id',$user_id)->value('small_open_id'))){//判断该用户小程序openid不存在就写入if(!db('member')->where('unionid',$en_res['unionId'])->update(['small_open_id' => $en_res['openId']])) return $this->ReturnStatus(false,'小程序openid更新异常');}return  $this->ReturnStatus(true,'正常',array('user_id' => $user_id));}else{$data = array('small_open_id' => $en_res['openId'],'user_name' => $en_res['nickName'],'user_pass' => md5('000000'),'add_time' => time(),'user_type' => 1,'head_ico' => $en_res['avatarUrl'],'unionid' => $en_res['unionId'],'login_type' => 2,);$user_id = db('member')->insertGetId($data);if($user_id){return  $this->ReturnStatus(true,'新增用户正常',array('user_id' => $user_id));}else{return  $this->ReturnStatus(false,'新增用户异常',null);}}}


本文发布于:2024-01-28 03:13:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063828144373.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23