PHP接入微信公众号(二)- 如何实现“价值一个亿的AI”代码

PHP接入微信公众号

前言:对公众号进行基本的连接后,我们就可以开始对公众号进行开发了。这其中,就有很多的事可以做了

获取access_token

  • 说明:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token
  • 请求方式:HTTP GET
  • 请求域名https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
  • 参数说明
    |:–|:–|:–|
    |参数|是否必须|说明|
    |grant_type|是|获取access_token填写client_credential(固定即可)|
    |appid|是|第三方用户唯一凭证,公众号后台有|
    |secret|是|第三方用户唯一凭证密钥,即appsecret|
  • 正常返回数据{“access_token”:“ACCESS_TOKEN”,“expires_in”:7200}
  • 错误返回数据{“errcode”:40013,“errmsg”:“invalid appid”}
  • 请求代码实现
/**
     * 获取微信access_token
     * 正确返回 {"access_token":"ACCESS_TOKEN","expires_in":7200}
     * 错误返回 {"errcode":40013,"errmsg":"invalid appid"}
     * @param $appID
     * @param $secret
     * @return mixed
     * @throws Exception
     */
    public function getAccessToken($appID, $secret)
    {
   
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={
     $appID}&secret={
     $secret}";

        Yii::warning("call wei_xin access_token", CATEGORIES_INFO);

        try {
   
            $response = (new Client())->get($url);
        } catch (RequestException $e) {
   
            Yii::error("cannot request to api.weixin.qq.com!", CATEGORIES_ERROR);
            return false;
        }

        $content = $response->getBody()->getContents();
        Yii::warning('request content:'.$content, CATEGORIES_WARN);
        $jsonContent = \GuzzleHttp\json_decode($content, true);
        if (isset($jsonContent['errcode'])) {
   
            Yii::error("get access token error;msg:".$content, CATEGORIES_ERROR);
            return false;
        }

        return $jsonContent;
    }
  • 业务逻辑:微信文档建议统一获取access_token,所以建议在请求完成后存于session或者其他缓存中,失效后再重新获取。

接收消息

  • 说明:用户在公众号下留言后并已启用了服务器配置,那么微信公众平台就会将消息发送到所配置的服务器地址。如果不能正确处理并回复消息,用户将会收到公众号服务异常的消息。
  • 消息类型:消息分加密和非加密,对于重要的消息可以采用加密模式。(但微信文档中的加解密已经过时,无法支持PHP7以上的版本,目前我还在调试中。。),非加密消息直接处理XML消息即可。由于加密模式示例代码已过时,这里暂时就只提非加密模式了
  • 消息发送方式:HTTP POST 传送XML数据包
  • 数据包格式
<xml> 
<ToUserName>< ![CDATA[toUser] ]></ToUserName> 
 <FromUserName>< ![CDATA[fromUser] ]></FromUserName>
 <CreateTime>1348831860</CreateTime> 
 <MsgType>< ![CDATA[text] ]></MsgType> 
 <Content>< ![CDATA[this is a test] ]></Content>  
 <MsgId>1234567890123456</MsgId> 
</xml>
  • 代码处理数据包

                
phpWechat 是由一个具有多年行业开发经验的前端 UI 设计师、PHP开发工程师组成的团队设计、研发的一套的微信公众平台管理系统,您可以瞬间完成一个公共号或者PC站或者两者皆有的平台搭建。 phpWeChat 微信+网站开发框架功能亮点: 1、100%开源,没有任何加密文件 phpWeChat核心文件100%开源,没有任何加密文件,开发者可以放心使用而无需担心留有后门程序等。 2、程序轻量级,一天读完所有代码 核心框架压缩包只有2.66M,十分利于开发者迅速阅读全部代码。 3、代码严谨,结构清晰 phpWeChat使用MVC开发模式,各个功能模块之间独立并目录结构统一。开发者可迅速掌握phpWeChat的框架结构。 4、次开发文档十分完善 我们提供了完善的phpWeChat次开发文档,便于开发者学习与查阅。 5、高度集成微信接口 phpWeChat高度集成了微信公共号的自动回复、菜单管理、素材管理、模板消息、粉丝管理、微信支付等常用接口,您只需一个函数或2/3行代码即可实现原本需要很费时费力才能开发的功能。 6、phpWeChat也是一个PC(网站)开发框架和CMS 慢慢您会发现,phpWeChat是一个更接近CMS功能的框架。 7、高度封装常用开发功能 只需一两行固定的代码,您便可以写出列表分页、微信支付、文件上传、邮件发送、短信发送等功能。 8、数据结构合理,负载强劲 phpWeChat集成了常见的内存级缓存(MemCache)、文件缓存处理方案,使得系统更符合大数据、大并发的公共号或网站使用。 9、集成应用市场,功能拓展一瞬间 phpWeChat集成了应用市场并在线安装应用的功能,您可以在一瞬间安装完成其他开发者开发的功能模块。 phpWeChat安装方法: 将下载的程序压缩包(zip格式)解压后,将全部文件和文件夹上传至网站根目录。然后输入域名/install.php 即可进入安装程序。 注意:安装phpWeChat前请先创建好phpWeChat所需的数据库。 phpWeChat 目录结构: addons 功能模块目录 admin 公用后台目录 api 插件目录 data 数据缓存目录 install 安装程序目录,安装后请改名或删除 include 公用操作类目录 statics 静态文件目录 template 视图(模板)目录 upload 上传文件存放目录 phpWeChat 更新日志: 新版v1.0.3发布: phpWeChat PC+微信公众号开发核心框架v1.0.3针对v1.0.2版本出现的问题,主要修复了和增加了以下功能: 1、优化自定义模块操作; 2、优化安装过程; 3、修复一处在线支付的PHP版本兼容问题; 4、修复一处自定义模块的问题; 5、修复后台模块管理显示未知版本的bug; 6、修复粉丝行为IP报错的Bug; 7、删除一些冗余代码; 8、修复消息模板不存在时,一直提示[同步中]的bug。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值