返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >thinkphp5.1 easywechat4微信第三方开放平台的示例分析
  • 584
分享到

thinkphp5.1 easywechat4微信第三方开放平台的示例分析

2023-06-20 12:06:45 584人浏览 泡泡鱼
摘要

小编给大家分享一下thinkPHP5.1 easywechat4微信第三方开放平台的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!thinkphp5.1

小编给大家分享一下thinkPHP5.1 easywechat4微信第三方开放平台的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

thinkphp5.1 easywechat4 微信第三方开放平台

需求描述

  1. 当前商城(uid标识)授权第三方开发平台.

  2. 网页授权成功后跳转到另一个商城项目链接并带上当前微信用户信息和微信初始化验证签名.

第三方平台授权

安装easywechat4
$ composer require overtrue/wechat:~4.0 -vvv
引用
use EasyWeChat\Factory;
创建一个跳转到微信扫二维码授权页面
public function accessView(){    //     $uid = Request()->route('uid' , 0);    $url = 'Http://qGCloud.capsui.com/public/index/wxopen/config?uid=' . $uid;    $this->assign('url' , $url);    return $this->fetch();}
跳转方法(为什么我不写到上一个方法呢 因为微信要求同一个地址)
public function config(){    $uid = Request()->get('uid' , 0);    $config = [        'app_id'   => '开放平台第三方平台 APPID',        'secret'   => '开放平台第三方平台 Secret',        'token'    => '开放平台第三方平台 Token',        'aes_key'  => '开放平台第三方平台 AES Key'    ];    $openPlatfORM = Factory::openPlatform($config);        $url = $openPlatform->getPreAuthorizationUrl('http://qgcloud.capsui.com/public/index/wxopen/wxcallback?uid=' . $uid);    $this->redirect($url);}
授权回调(注意:扫码确认授权后他第一次回调不会带uid参数,)
引入 use EasyWeChat\OpenPlatform\Server\Guard;
public function wxcallback(){    // 这个表是记录授权成功的    //$Wxpublic   = new Wxpublic;    // 这个表是记录授权成功后传过来所属uid商城绑定appid    //$ShopConfig = new ShopConfig;    $get = Request()->param();        $config = [        'app_id'   => '开放平台第三方平台 APPID',        'secret'   => '开放平台第三方平台 Secret',        'token'    => '开放平台第三方平台 Token',        'aes_key'  => '开放平台第三方平台 AES Key'    ];    $openPlatform = Factory::openPlatform($config);    $server       = $openPlatform->server;        // 处理授权成功事件-第一次回调    // 闭包方法!里面调用外面的方法请在use里面填写    $server->push(function ($message) use ($openPlatform ) {                $authCode = $message['AuthorizationCode'];        $res      = $openPlatform->handleAuthorize($authCode);        if($res['authorization_info']['authorizer_refresh_token']){            //授权成功记录到数据库            //$Wxpublic->insert(['appid' => $res['authorization_info']['authorizer_appid'] , 'createtime' => time()]);        }    }, Guard::EVENT_AUTHORIZED);    // 处理授权取消事件-第一次回调    // 闭包方法!里面调用外面的方法请在use里面填写    $server->push(function ($message) use() {        //处理数据库逻辑        //$Wxpublic::appid($message['AppId'])->delete();        //$ShopConfig::appid($message['AppId'])->update(['token' => '']);    }, Guard::EVENT_UNAUTHORIZED);        // 第二次回调会带一个授权code和自定义参数商城id(uid)    if(isset($get['auth_code']) && isset($get['uid'])){                $res      = $openPlatform->handleAuthorize($get['auth_code']);        $appid    = $res['authorization_info']['authorizer_appid'];        //数据库逻辑        //$isConfig = $Wxpublic::appid($appid)->count();                //if($isConfig){        //$add = $ShopConfig->where('uid' , $get['uid'])->update(['token' => $appid]);        //}    }    return $server->serve();}

第三方平台 网页授权&微信jsSDK初始化签名生成

public function htmlAccess(){    $appid = Request()->get('appid' , 0);        $config = [        'app_id'   => '开放平台第三方平台 APPID',        'secret'   => '开放平台第三方平台 Secret',        'token'    => '开放平台第三方平台 Token',        'aes_key'  => '开放平台第三方平台 AES Key'    ];    $openPlatform = Factory::openPlatform($config);    $data         = $openPlatform->getAuthorizer($appid);    $appid        = $data['authorization_info']['authorizer_appid'];    $refreshToken = $data['authorization_info']['authorizer_refresh_token'];    $officialAccount = $openPlatform->officialAccount($appid , $refreshToken);    $oauth           = $officialAccount->oauth;        // 回调授权地址    $url      = "http://qgcloud.capsui.com/public/index/wxopen/callbackOpenid";    $response = $officialAccount->oauth->scopes(['snsapi_userinfo'])->redirect($url)->send();}
网页授权回调方法
public function callbackOpenid(){    $appid = Request()->get('appid' , null);        $config = [        'app_id'   => '开放平台第三方平台 APPID',        'secret'   => '开放平台第三方平台 Secret',        'token'    => '开放平台第三方平台 Token',        'aes_key'  => '开放平台第三方平台 AES Key'    ];    $openPlatform = Factory::openPlatform($config);    $data         = $openPlatform->getAuthorizer($appid);        $appid        = $data['authorization_info']['authorizer_appid'];    $refreshToken = $data['authorization_info']['authorizer_refresh_token'];        // 获取微信用户信息 如openid nickname等信息    $officialAccount = $openPlatform->officialAccount($appid , $refreshToken);    $oauth           = $officialAccount->oauth;    $user            = $oauth->user();        // 处理wxconfig初始化JSSDK    $officialAccount->jssdk->setUrl('http://quguoshop.capsui.com/');    $wxconfig = $officialAccount->jssdk->buildConfig(['chooseWXPay'], $debug = true, $beta = false, $JSON = true);    $ShopConfig = new ShopConfig;    $shopInfo   = $ShopConfig::appid($appid)->find();        // 注意 这里我是带参数跳转到其他TP5项目里面再用缓存处理一下    $url = 'http://quguoshop.capsui.com/public/wxoauthCallback?data=' . json_encode($user->toArray()) . '&token=' . $shopInfo['id'] . '&wxconfig=' . $wxconfig;    $this->redirect($url);}

以上是“thinkphp5.1 easywechat4微信第三方开放平台的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: thinkphp5.1 easywechat4微信第三方开放平台的示例分析

本文链接: https://lsjlt.com/news/296698.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • thinkphp5.1 easywechat4微信第三方开放平台的示例分析
    小编给大家分享一下thinkphp5.1 easywechat4微信第三方开放平台的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!thinkphp5.1 ...
    99+
    2023-06-20
  • Node.js开发第三方微信公众平台
    一、写在前面的话   Node.js是一个开放源代码、跨平台的JavaScript语言运行环境,采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高...
    99+
    2022-06-04
    第三方 公众 平台
  • 微信第三方小程序代开发的示例分析
    这篇文章主要为大家展示了“微信第三方小程序代开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信第三方小程序代开发的示例分析”这篇文章吧。注意事项:...
    99+
    2024-04-02
  • 小程序第三方开发平台实例分析
    这篇文章主要介绍“小程序第三方开发平台实例分析”,在日常操作中,相信很多人在小程序第三方开发平台实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序第三方开发平台实例分析”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-26
  • nodejs开发企业微信第三方应用的示例分析
    小编给大家分享一下nodejs开发企业微信第三方应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、注册第三发服务商...
    99+
    2024-04-02
  • 微信小程序第三方开发平台接入的方法
    本文小编为大家详细介绍“微信小程序第三方开发平台接入的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序第三方开发平台接入的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。微信第三方平台开发接入授权...
    99+
    2023-06-26
  • Android 第三方应用接入微信平台研究情况分享(一)
    微信平台开放后倒是挺火的,许多第三方应用都想试下接入微信这个平台,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要...
    99+
    2022-06-06
    Android
  • Android 第三方应用接入微信平台研究情况分享(二)
    微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西...
    99+
    2022-06-06
    Android
  • 微信小程序第三方框架对比之wepy、mpvue、taro的示例分析
    这篇文章将为大家详细讲解有关微信小程序第三方框架对比之wepy、mpvue、taro的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。众所周知如今市面上端的形态多种...
    99+
    2024-04-02
  • 【开源】多多客小程序-微信小程序SaaS平台源码-微信第三方服务商必备
    多多客小程序作为青否原班人马打造的微信小程序第三方SaaS平台,结合5年商城系统、3年小程序SaaS平台研发及运营经验,重点发力小程序个性化和各类营销玩法。多多客小程序开源版,基于doodoo.js,vue.js,Koa+Vue+Taro最...
    99+
    2023-06-04
  • 微信小程序中后台登录的示例分析
    这篇文章主要介绍微信小程序中后台登录的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序 后台登录实现效果图:最近写了一个工具类的小程序,按需求要求不要微信提供的微信账...
    99+
    2024-04-02
  • nodejs微信开发之接入的示例分析
    这篇文章主要为大家展示了“nodejs微信开发之接入的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nodejs微信开发之接入的示例分析”这篇文章吧。内...
    99+
    2024-04-02
  • 微信小程序云开发的示例分析
    这篇文章主要介绍了微信小程序云开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下小程序云开发是微信最近推出的新的一项能...
    99+
    2024-04-02
  • 微信小程序如何获取第三方平台自定义的数据字段
    这篇文章主要介绍了微信小程序如何获取第三方平台自定义的数据字段的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何获取第三方平台自定义的数据字段文章都会有所收获,下面我们一起来看看吧。wx.getExt...
    99+
    2023-06-26
  • 微信小程序微信支付接入开发的示例分析
    这篇文章将为大家详细讲解有关微信小程序微信支付接入开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。内容如下:一、后台接口封装;二、小程序端整合;三、总结一、后...
    99+
    2024-04-02
  • 微信小程序开发中Tabbar的示例分析
    这篇文章将为大家详细讲解有关微信小程序开发中Tabbar的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序 Tabbar1.下载微信小程序开发软件;htt...
    99+
    2024-04-02
  • 微信小程序后端开发的示例分析
    这篇文章主要介绍了微信小程序后端开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序后端开发流程根据官网总结为两个步骤1、...
    99+
    2024-04-02
  • 微信小程序开发实践的示例分析
    这篇文章主要介绍了微信小程序开发实践的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。小程序由于微信提供了一些组件,在微信中的一些体验确实不错,对于开发来说,由数据驱动...
    99+
    2023-06-26
  • 微信小程序开发之入门的示例分析
    这篇文章给大家分享的是有关微信小程序开发之入门的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、注册小程序账号1、进入微信公众平台(https://mp.weixin....
    99+
    2024-04-02
  • Vue微信公众号开发踩坑的示例分析
    这篇文章将为大家详细讲解有关Vue微信公众号开发踩坑的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。需求微信授权登录(基于公众号的登录方案)接入JS-SDK实现图...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作