您现在的位置是:网站首页>>微信>>微信公众号

EasyWeChat 在 yii中简单配置及微信验证

发布时间:2019-04-13 09:17:16作者:wangjian浏览量:1147点赞量:0

    EasyWechat文档:https://www.easywechat.com/docs

    max-wen/yii2-easy-wechat拓展composer包地址:https://packagist.org/packages/maxwen/yii2-easy-wechat

    jianyan74/yii2-easy-wechat拓展composer包地址:https://packagist.org/packages/jianyan74/yii2-easy-wechat

    一:在yii中安装EasyWechat

    可以参考EsayWechat文档中的在框架中使用选项中内容知道在对应的框架中安装EasyWechat

    image.png

    如上可以知道在yii中安装EasyWechat有两种

    一种是jianyan74/yii2-easy-wechat 适用于 EasyWeChat 4.x,另一种是max-wen/yii2-easy-wechat 适用于 EasyWeChat 3.x,这里我选择的是max-wen/yii2-easy-wechat,这里注意下,如果你选择的和我一样是max-wen/yii2-easy-wechat的话,这时候你参考文档时,就要切换下版本了

    image.png

    在yii中安装EasyWechat

    composer require max-wen/yii2-easy-wechat

    由于我这里安装的是max-wen/yii2-easy-wechat,所以下面我都是针对max-wen/yii2-easy-wechat拓展进行的说明,如果安装的是jianyan74/yii2-easy-wechat拓展的话,你可以根据EasyWechat文档结合jianyan74/yii2-easy-wechat拓展包说明文档进行学习

    二:配置EasyWechat

    1:在main.php文件中配置使用

    'components' => [
            'wechat' => [
            'class' => 'maxwen\easywechat\Wechat',
        ],

    2:在params.php中配置一些EasyWechat一些必要参数

    'WECHAT' => [
            /**
             * Debug 模式,bool 值:true/false
             * 当值为 false 时,所有的日志都不会记录
             */
            'debug'  => false,
            /**
             * 账号基本信息,请从微信公众平台/开放平台获取
             * https://mp.weixin.qq.com/
             */
            'app_id' => 'XXXXX', // AppID
            'secret' => 'XXXXX', // AppSecret
            'token' => 'XXXXXX', // Token
            'aes_key' => '', // EncodingAESKey,兼容与安全模式下请一定要填写!!!
            /**
              * 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名
              * 使用自定义类名时,构造函数将会接收一个 `EasyWeChat\Kernel\Http\Response` 实例
              */
            'response_type' => 'array',
            /**
             * 日志配置
             *
             * level: 日志级别, 可选为:debug/info/notice/warning/error/critical/alert/emergency
             * permission:日志文件权限(可选),默认为null(若为null值,monolog会取0644)
             * file:日志文件位置(绝对路径!!!),要求可写权限
             */
            'log' => [
                'level' => 'debug',
                'permission' => 0777,
                'file' => dirname(dirname(__DIR__)) . '/wechat.log',
            ],
            /**
             * 接口请求相关配置,超时时间等,具体可用参数请参考:
             * http://docs.guzzlephp.org/en/stable/request-config.html
             *
             * - retries: 重试次数,默认 1,指定当 http 请求失败时重试的次数。
             * - retry_delay: 重试延迟间隔(单位:ms),默认 500
             * - log_template: 指定 HTTP 日志模板,请参考:https://github.com/guzzle/guzzle/blob/master/src/MessageFormatter.php
             */
            'http' => [
                'retries' => 1,
                'retry_delay' => 500,
                'timeout' => 5.0,
                // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用,根据不同的模块配置不同的 uri
            ],
            /**
             * OAuth 配置
             *
             * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login
             * callback:OAuth授权完成后的回调页地址
             */
            'oauth' => [
                'scopes' => ['snsapi_userinfo'],
                'callback' => '',
            ],
        ]

    三:微信验证

    当我们配置完成之后,在公众号的接口配置中填写我们需要进行验证的url

    然后我们在对应的url中编写如下代码

    <?php
    namespace front\controllers;
    use Yii;
    class WeixinController extends \yii\base\Controller
    {
        /**
         * function: actionIndex
         * author: wangjian
         * date: 2019/4/10 15:18
         * 微信链接校验
         */
        public function actionIndex()
        {
            $app    = Yii::$app->wechat->getApp();
            $server = $app->server;
            $response = $server->serve();
            $response->send();
            exit();
        }
    }

    编写完如上代码后在微信公众号上进行校验,这时,校验成功

    image.png

    这时候我们的php就接入微信公众号成功了,可以开始微信开发之旅了

0 +1