rockyuan/yii2-wx3

支持微信公众平台-第三方平台

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 54

Type:yii2-extension

dev-master 2019-11-22 02:33 UTC

This package is auto-updated.

Last update: 2024-04-21 21:19:05 UTC


README

支持微信公众平台-第三方平台

微信官方说明

当前状态

✓ 授权服务号操作类

? 授权小程序操作类 @todo

配置和使用

安装

composer require "rockyuan/yii2-wx3"

配置数组

<?php
return [
    'params' =>[
        'wx'=>[
            // 第三方平台
            'third' => [
                // 现网第三方
                'app_id'  => 'wx...', // AppID
                'secret'  => '...', // AppSecret
                'token'   => '...', // Token
                'encodingAESKey'=>'...', // 消息加解密密钥
                'safeMode'=>2, //2-安全, 第三方平台只可以设为安全

                'jssdk' => [
                    'chooseImage', 'previewImage',
                ],
            ],
            //  默认公众号(保留用于处理无授权公众号操作)
            'mp'=>[
                'app_id'  => 'wx...',         // AppID
                'secret'  => '',     // AppSecret
                'token'   => '',          // Token
                'encodingAESKey'=>'',// 消息加解密密钥,该选项需要和公众号后台设置保持一直
                'safeMode'=>2,//0-明文 1-兼容 2-安全,该选项需要和公众号后台设置保持一直
        
                'payment'=>[
                    'mch_id'        =>  '',
                    'key'           =>  '',
                    'notify_url'    =>  'https://',
                    'cert_path'     => '/cert/apiclient_cert.pem', // XXX: 绝对路径!!!!
                    'key_path'      => '/cert/apiclient_key.pem',      // XXX: 绝对路径!!!!
                ],
        
                'oauth' => [
                    'scopes'   => 'snsapi_base',
                    'callback' => 'https://',
                ],

                'jssdk' => [
                    'chooseImage', 'previewImage'
                ],
            ],
            //  小程序配置 (保留用于处理无授权小程序操作)
            'mini'=>[
                //  基本配置
                'app_id'  => '', 
                'secret'  => '',
                'token' => '',
                'safeMode'=>0,
                'encodingAESKey'=>'',
                //  微信支付
                'payment' => [
                    'mch_id'        => '',
                    'key'           => '',
                ],
            ],
        ],
    ]
];

使用

默认公众号

基本沿用abei2017/yii2-wx的使用方法, 小部分作修改

use rockyuan\wx3\Wx3App;

//  方法一
$qrcode = (new Wx3App())->driver('mp.qrcode');

//  方法二 (指定自定义配置参数)
$conf = Yii::$app->params['wechat']; // 自定义配置数组key(最后一层数组key不可以更改)
$this->wx3 = new Wx3App(['conf'=>$conf]);

$qrcode = $this->wx3->driver('mp.qrcode');

// 对象操作方法
$data = $qrcode->intTemp(9527); // 生成一个数字类临时关注二维码,省缺第二参数时默认有效期为2592000秒

第三方平台授权公众号

接收第三方平台的定时票据 (第三方平台的启动基础)

$server = $this->wx3->driver("third.server");

$server->setMessageHandler(function($message) {
    ... // 参考普通公众号开发的消息处理
}

其他流程参考官方第三方平台文档要求

授权公众号的操作类(对比普通公众号)

if ( !empty($appid) ){
    // 授权公众号创建关注二维码(传送授权公众号的appid))
    $qrcode = $this->wx3->driver("third.qrcode", ['appid' => $appid]);
}
else{
    // 普通公众号创建关注二维码
    $qrcode = $this->wx3->driver("mp.qrcode");
}

$qr = $qrcode->temp($code);

更多... @todo

感谢

abei2017/yii2-wx

License

MIT