最近在重构我们平台得前端页面以及逻辑,再此记录一下微信网页版授权获取用户资料得过程

  1. 第一步,安装
composer require "overtrue/laravel-wechat:~3.0"  //overtrue/laravel-wechat:~5.0适应于高版本laravel
  1. 第二步,在config/app.php中添加两行代码
providers下添加Overtrue\LaravelWeChat\ServiceProvider::class,aliases下添加'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class,
  1. 创建配置文件
php artisan vendor:publish

创建成功后进入config/wechat.php下配置公众号信息。如图:

可以在.env里去配置公众号信息

  1. 项目中使用,上代码
use EasyWeChat\Factory;
//1
public function index(Request $request){//通过路由进入首先判断session是否有值if(empty(session('userInfo'))){//没有值去授权获取资料$this->getUserInfo();}else{//有值就从session中获取值,进入页面$userinfo = session('userInfo');return view('index.HomeIndex',['data'=>$userinfo]);}     }
//3    获取codepublic static function getCode(){//获取公众号配置信息$config = config('wechat.official_account.default');$http = urlencode('http://xxxx.com/api/getUserInfo')//回调地址,处理获取微信用户信息$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$config['app_id'].'&redirect_uri='. $http.'&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect';//snsapi_userinfo:弹出授权页面,可通过openid拿到昵称、性别、所在地   snsapi_user:不弹出授权页面,直接跳转,只能获取用户openidheader('location:'. $url);}// 4 通过code获取用户信息public static function getCodeUser(){//这一步可以获取到微信用户信息$config = config('wechat.official_account.default');$app = Factory::officialAccount($config);$oauth = $app->oauth;$response = $oauth->user(); return $response;}//2 执行获取资料public function getUserInfo(){//这里是回调地址,如果有code。地址是:http://xxx.com/h5/?code=011NRLFa1aRx3A0Mx9Ia1LSDn13NRLFs&state=STATEif(empty($_GET['code'])){//code为空就去获取code,这一步会授权,在下面的方法成功执行后会再次回到此方法,所以要先判断code是否为空self::getCode();}else{//已经授权,回调会走此方法,下面方法会获取用户资料$userInfo = self::getCodeUser();$data = User::getUser($userInfo);//执行添加用户信息并返回return redirect("/api/Home-index");}}// 存在就修改,不存在添加(用户)public static function getUser($data){//获取本人信息,有就更新,没有就添加$info = User::where('openid',$data['id'])->first();if(empty($info)){//添加$userInfo['openid'] =$data['id'];$userInfo['avatar'] =$data['avatar'];$userInfo['name'] =$data['name'];User::create($userInfo);}else{//修改User::where('openid',$data['id'])->update(['avatar'=>$data['avatar'],'name'=>$data['name']]);}session(['userInfo'=>$info]);//存储到sessionreturn $data;}

因前端重构工程大,所以暂时搁置,代码没有测试完整,欢迎讨论。

laravel-admin微信网页授权获取用户信息过程相关推荐

  1. Spring Boot 微信-网页授权获取用户信息

    微信-验证服务器有效性 微信-网页授权获取用户信息 网页授权获取用户信息步骤 第一步:用户同意授权,获取code 第二步:通过code换取网页授权access_token 第三步:拉取用户信息(需sc ...

  2. PHP 微信网页授权获取用户信息

    最近用到过微信用户授权获取用户信息的功能,在这里记录一下. 因为用户授权要用到认证过的服务号才有权限,而线上正在使用公众号,而开发就有些不方便了,这里可以申请一个微信公众测试号. 1.申请一个微信公众 ...

  3. 微信网页授权获取用户信息实战代码

    微信授权的整体思路: 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信 ...

  4. 微信用户绑定java实例_OAuth2.0微信网页授权获取用户信息实现全过程(JAVA版本)...

    一.前言 为什么需要OAuth2.0网页授权接口,主要是为了获取微信用户的基本信息(比如用户绑定,用户统计等等) 特别注意:只有认证的服务号有此接口权限 那么订阅号如何实现这个功能呢?可以通过另一个服 ...

  5. 连小白都能看懂的微信开发之 微信自定义菜单 + 获取网页授权 + 获取用户信息

    微信自定义菜单+获取网页授权+获取用户信息 今天项目需要一个需求,就是添加一个菜单接口,并且还可以获取用于的信息,从而根据用户的信息去做一些业务的查询.通过百度和自己查看文档大致的解决办法如下: 注意 ...

  6. 微信网页授权获取用户基本信息 --- 20/03/16

    ThinkPHP5实现微信网页授权获取用户基本信息 本次使用的appID与appSecret为公众号 一:准备工作 登录微信公众平台,左侧菜单下拉至开发选中基本配置 启用开发者密码(AppSecret ...

  7. PHP开发之-微信网页授权获取用户基本信息

    如何通过网页授权获取用户基本信息(国家,省,市,昵称)相关信息 必要条件: 1)公众号认证 2)有网页授权获取用户基本信息的权限接口 注意:最近有朋友说:在公众平台申请的测试号,会出现无法取到用户信息 ...

  8. PHP通过微信网页授权获取用户基本信息

    微信网页授权获取用户基本信息: <?php$appid = '你的appid'; $secret = '你的secret';if (isset($_GET['code'])) {$code = ...

  9. 支付宝 网页授权 获取用户信息

    ****** 支付宝 网页授权 获取用户信息(昵称,头像等)****** 最近有个项目 需要获取到支付宝的头像和昵称作为互动数据,作为php新人,对于看文档来说 很是痛苦,网上也没有很多关于支付宝网页 ...

最新文章

  1. 分享一段PowerShell用户认证Function
  2. Python魔法函数
  3. eclispe使用外部tomcat总结
  4. 汽车之家店铺数据抓取 DotnetSpider实战
  5. 测试如何转为开发人员
  6. 4001.基于双向链表的双向冒泡排序法
  7. 电脑突然无法播放html音频,电脑无法播放音频怎么办
  8. 移动开发之手势与双指缩放
  9. 【50】了解new和delete的合理替换时机
  10. 利用c语言实现函数信号发生器,基于51单片机函数信号发生器完整论文下载 带源码 原理图...
  11. -XX:+PrintGCTimeStamps -XX:+PrintGCDetails 日志分析
  12. 《2小时品牌素养》读后感
  13. mysql 用户 多次登录失败_限制用户登录失败次数,在连续登陆失败10次后冻结该用户。...
  14. 今日头条,今日特卖自媒体号如何申请。
  15. win10/win11快速隐藏/显示桌面图标快捷方式
  16. php基于浏览器的linux终端模拟器,回顾最佳的9款Linux终端模拟器
  17. 设计模式之命令模式(C语言)
  18. 国内云通讯渗透率不足3% 容联云SaaS业务迈入高速发展期
  19. 嘎吱作响Creaks for mac(解谜游戏)中文版支持m1
  20. java添加坚挺_Java连载136-两种方式插入数据

热门文章

  1. R语言几何布朗运动 GBM模拟股票价格优化建立期权定价概率加权收益曲线可视化
  2. 达利欧《成功的原则》中文字幕
  3. 大数据采集的流程是什么,主要分为哪几步?
  4. 中国第三方输入法行业发展趋势如何?看这篇报告就够了
  5. 局域网文件共享工具(有权限管理、备份等功能)
  6. SSM+Redis的小demo
  7. java计算机毕业设计的课程交流系统源程序+mysql+系统+lw文档+远程调试
  8. Python-输入一串字符,判断是否为手机号码
  9. “土豪金”的正确打开方式:18K黄金定制,iPhone13 Pro起售价27万元
  10. 使用U盘启动盘进入winPE后蓝屏怎么解决