vartruexuan / yii-easywechat
基于easywechat yii组件包
5.0.3
2022-11-11 03:16 UTC
Requires
- php: >=7.4
- w7corp/easywechat: ^5.30
- yiisoft/yii2: ~2.0.6
Requires (Dev)
- brainmaestro/composer-git-hooks: ^2.8
- friendsofphp/php-cs-fixer: ^3.0
- jetbrains/phpstorm-attributes: ^1.0
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^4.10
README
概述
- 基于组件 w7corp/easywechat
安装
composer require vartruexuan/yii-easywechat
使用
组件方式
// 加入配置组件 'components' => [ 'wechat'=>[ 'class'=>'Vartruexuan\EasyWechat\EasyWechat', //'configkey'=>'easywechat', // 可指定配置key,默认easywechat ] ],
<?php use Yii; // 使用 Yii::$app->wechat->officialAccount(); // 公众号 Yii::$app->wechat->payment(); // 微信支付 Yii::$app->wechat->openPlatform(); // 小程序 Yii::$app->wechat->work(); // 企业微信 Yii::$app->wechat->openWork(); // 企业微信开放平台 Yii::$app->wechat->microMerchant(); // 小微商户
单例
<?php use Vartruexuan\EasyWechat\EasyWechat; $app = EasyWechat::instance()->openWork(); $app->getServer()->with(fn() => "您好!EasyWeChat!"); $response = $server->serve();
配置
<?php return [ 'easywechat' => [ // 置换服务配置 'rebind' => [ // 支持配置方式: 1.置换服务对象 2.支持回调方式 'cache' => function (){ // 先临时置换下缓存服务 $config= Yii::$app->components['redis']; $connStr = 'redis://' . $config['hostname'] . ':' . $config['port']; $adapter = RedisAdapter::createConnection($connStr); $password = $config['password'] ?? ''; if ($password) { $adapter->auth($config['password']); } $database = $config['database'] ?? 0; $adapter->select($database); return new RedisAdapter($adapter); }, ], ], ], // 公共配置(此处可配置app里的一些公共配置,优先级app里的最高) 'appCommon' => [ 'http' => [ 'max_retries' => 1, 'retry_delay' => 500, 'timeout' => 5.0, ], 'response_type' => 'array', ], // 公众号配置 'officialAccount' => [ 'default' => [ 'app_id' => 'wx3cf0f39249eb0exx', 'secret' => 'f1c242f4f28f735d4687abb469072axx', ], ], // 小程序 'miniProgram' => [ 'default' => [ 'app_id' => 'wx3cf0f39249eb0exx', 'secret' => 'f1c242f4f28f735d4687abb469072axx', ], ], // 开放平台 'openPlatform' => [ 'default' => [ 'app_id' => '开放平台第三方平台 APPID', 'secret' => '开放平台第三方平台 Secret', 'token' => '开放平台第三方平台 Token', 'aes_key' => '开放平台第三方平台 AES Key', ], ], // 企业微信 'work' => [ 'default' => [ 'corp_id' => 'xxxxxxxxxxxxxxxxx', 'agent_id' => 100020, // 如果有 agend_id 则填写 'secret' => 'xxxxxxxxxx', ], ], // 企业微信开放平台 'openWork' => [ 'default' => [ 'corp_id' => '服务商的corpid', 'secret' => '服务商的secret,在服务商管理后台可见', 'suite_id' => '以ww或wx开头应用id', 'suite_secret' => '应用secret', 'token' => '应用的Token', 'aes_key' => '应用的EncodingAESKey', 'reg_template_id' => '注册定制化模板ID', 'redirect_uri_install' => '安装应用的回调url(可选)', 'redirect_uri_single' => '单点登录回调url (可选)', 'redirect_uri_oauth' => '网页授权第三方回调url (可选)', ], ], // 小微商户 'microMerchant' => [ 'default' => [ // 必要配置 'mch_id' => 'your-mch-id', // 服务商的商户号 'key' => 'key-for-signature', // API 密钥 'apiv3_key' => 'APIv3-key-for-signature', // APIv3 密钥 // API 证书路径(登录商户平台下载 API 证书) 'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!! 'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!! // 以下两项配置在获取证书接口时可为空,在调用入驻接口前请先调用获取证书接口获取以下两项配置,如果获取过证书可以直接在这里配置,也可参照本文档获取平台证书章节中示例 // 'serial_no' => '获取证书接口获取到的平台证书序列号', // 'certificate' => '获取证书接口获取到的证书内容' // 以下为可选项 // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名 'response_type' => 'array', 'appid' => 'wx931386123456789e' // 服务商的公众账号 ID ], ], ];