weiaccount
所属分类:WEB开发
开发工具:PHP
文件大小:189KB
下载次数:0
上传日期:2020-09-18 10:41:27
上 传 者:
qmrpmfk
说明: 微信公众号:自动回复,模版信息,客服管理,media资源管理
(WeChat official account: automatic reply, template information, customer service management, media resource management)
文件列表:
weiaccount (0, 2020-06-10)
weiaccount\member (0, 2020-05-28)
weiaccount\library (0, 2020-05-29)
weiaccount\Weixin.php (19828, 2020-06-08)
weiaccount\Callbackfun.php (1109, 2020-06-01)
weiaccount\qrcode (0, 2020-05-28)
weiaccount\kf (0, 2020-05-28)
weiaccount\TempMsg.php (2703, 2020-05-28)
weiaccount\Validate.php (204, 2020-06-01)
weiaccount\replay (0, 2020-06-08)
weiaccount\data (0, 2020-05-28)
weiaccount\exception (0, 2020-05-29)
weiaccount\composer.json (497, 2020-05-28)
weiaccount\media (0, 2020-05-29)
weiaccount\member\MemberTool.php (4272, 2020-05-28)
weiaccount\library\Prpcrypt.php (2594, 2020-05-28)
weiaccount\library\PKCS7Encoder.php (1122, 2020-05-28)
weiaccount\library\AccessToken.php (2470, 2020-05-28)
weiaccount\library\BaseTool.php (2655, 2020-05-29)
weiaccount\library\XMLParse.php (1304, 2020-05-28)
weiaccount\library\WXBizMsgCrypt.php (3825, 2020-05-28)
weiaccount\qrcode\QrcodeTool.php (2480, 2020-05-28)
weiaccount\kf\Account.php (2038, 2020-05-28)
weiaccount\kf\Template.php (204, 2020-05-28)
weiaccount\replay\AutoReplayConfig.php (4767, 2020-06-01)
weiaccount\replay\ActiveReplayConfig.php (2645, 2020-06-08)
weiaccount\replay\ActiveConfigObj.php (4768, 2020-06-08)
weiaccount\replay\Validate.php (3811, 2020-06-08)
weiaccount\replay\Template.php (9562, 2020-05-29)
... ...
# weiaccount
wechat official account tool based on yii2 framework
# Install
composer require qmrp/weiaccount
# config
config\web.php
```
'components' => [
'weixin' =>[
'class' => 'qmrp\weiaccount\Weixin',
'appId' => 'wx0147d*******',
'secret' => '********',
'token' => 'qmrp',
'encodingAesKey' => '............'
],
```
# use
#### 自动回复
```
use qmrp\weiaccount\Weixin;
header('content-type:aplication/xml;charset=utf8');
//自动回复参数格式
$replay =
[
'msgReplay'=>[
["keyword"=>"你好","replayType"=>"text","content"=>"您好!"],
["keyword"=>'xd',"replayType"=>"callback","function"=>['app\common\common','excute']],
["keyword"=>"我的天","replayType"=>"image","mediaId"=>"M3SVG9PH07TjgXPT3GxK2O7nuVQwDpiZH_2sl9-nfct0R2Te4Uw1EuYSVly-i7Sz"],
["keyword"=>'模板',"replayType"=>"template","tempId"=>"CV1vGj_tseSAAcoXiKMvyML9TnrwLY5LEiUmqvtP3Rk","params"=>['first'=>['value'=>'哈'],'orderID'=>['value'=>'123'],'orderMoneySum'=>['value'=>'12.5'],'backupFieldName'=>['value'=>'可以'],'backupFieldData'=>['value'=>'好'],'remark'=>['value'=>'备注']]],
],
"eventReplay"=>[
[
"eventType"=>"subscribe",
"replayType"=>"image",
"mediaId"=>"sjJTkQ63M74zCoUJ4-Vg3IsduwG8JF21bzCzYNOVu7wjpaOjEIFtMY9BnqLABNtX",
"eventKey"=>[
[
"eventKey"=>"qrscene_zhou",
"replayType"=>"text",
"content"=>"这里是特殊eventKey值的返回"
]
]
],
[
"eventType"=>"CLICK",
"eventKey"=>[
[
"eventKey"=>"zhou",
"replayType"=>"text",
"content"=>"这里是特殊eventKey值的返回"
],
[
"eventKey"=>"V1001_GOOD",
"replayType"=>"text",
"content"=>"感谢你的点赞"
]
]
]
]
];
//后面直接用$weixin,不在做实例化;
$weixin = \Yii::$app->weixin; //或者直接实例化传参 $weixin = new Weixin(['appId'=>"","secret"=>"","token"=>"","encodingAesKey"=>""]);
$autoReplay = new AutoReplayConfig($replay);
$xml = file_get_contents("php://input");
$res = $weixin->setRequestMsg($xml)->setAutoReplayConfig($autoReplay)->Response();
echo $res;
```
>被动回复参数说明
|参数名|类型|说明|
|----|----|----|
|textReplay,eventReplay|string|文字信息回复,事件回复,目前支持文字、图片、事件、音频、视频信息的自动回复|
|keyword|string|文字回复的关键词|
|replayType|enum|回复的类型,text,voice,image,video,根据回复类型的不同,后面的参数不同|
|content|string|text回复类型的参数,回复内容|
|mediaId|string|voice,image,video等素材回复的素材id|
|title|string|video,news,music等的标题|
|url|string|图文信息的链接|
|picUrl|string|图文信息的图片链接|
|description|string|描述内容|
|musicUrl|string|music回复的音乐链接|
|hqMusicUrl|string|music回复的高清音乐链接|
|thumbMediaId|string|music回复的缩略图|
-----
### 上下文持续对话系统
通过ActiveReplayConfig类设置,收集的信息可以通过继承Callbackfun接口来处理并返回最终数据;
试例:
```
$activeReplay = new ActiveReplayConfig($activeConfig);
$activeConfig = [
'order' => [
'replays' => [
[
"replay"=>["replayType"=>"text","content"=>"开始下单流程,中途若想退出流程,回复退出即可.\r\n1,请输入派单价格单位为元,此价为总价格"],
"name" => "feeGoods",
"callback" => ["app\common\common","money"],
"message" => "请输入标准价格"
],
[
"replay"=>["replayType"=>"text","content"=>"2,请上传商品图片,直接发送图片即可"],
"name" => "goodsImage",
"callback" => ["app\common\common","image"],
"message" => "请回复图片"
],
[
"replay"=>["replayType"=>"text","content"=>"3,请输入商品数量"],
"name" => "itemQty",
"callback" => ["app\common\common","nums"],
"message" => "请回复整数"
]
],
'formats' => [
[
'validate' => 'sys',
'rule' => ['float',0,999]
],
[
'validate' => 'sys',
'rule' => ['image']
],
[
'validate' => 'sys',
'rule' => ['int']
]
],
'finish' => ["app\common\common","finish"],
'quit' => ["keywords"=>["tc","退出","exit","quit"],"quitMsg"=>"已退出下单流程"]
]
];
$xml = file_get_contents("php://input");
$res = $weixin->setRequestMsg($xml)->setActiveReplayConfig($activeReplay)->Response();
exit($res);
```
|参数名|类型|必须|说明|
|---|---|---|---|
|order|string|是|上下文持续对话命名|
|replays|array|是|上下文步骤详情|
|replay|array|是|当前步骤回复内容,格式同被动回复说明|
|name|string|是|当前步骤用户回复内容存储key值|
|callback|array|是|当前步骤用户回复内容处理方法|
|message|string|否|当前步骤用户回复格式检验错误时,返回内容|
|formats|array|是|用户所有步骤回复内容的校验规则|
|validate|string|是|sys表示系统自动的校验方法,self表示自定义校验方法|
|rule|array|是|校验方法sys自带int,float,string,date,image,voice,video,link,phone,email,match,range;自定义检义必须继承接口qmrp\weiaccount\Validate|
|finish|array|是|当前上下文完成片时方法|
|quit|array|退出当前上下文对话配置参数|
|keywords|array|退出关键字数组,目前只支持文本|
|quitMsg|string|退出后返回提示语|
### Weixin 方法说明
|方法名|返回|说明|
|---|---|---|
|setRequestMsg|Weixin|将接收到的信息解析|
|setAutoReplayConfig|Weixin|设置自动回复规则|
|setActiveReplayConfig|Weixin|设置上下文对话规则|
|Response|xml|回复信息|
|getRequest|array|获取当前请求信息|
|setActive|bool|进入上下文交互模式|
|getActive|array|获取当前上下文交互信息|
|nextStep|bool|上下文进入下一步|
|quitAcitve|bool|退出上下文交互模式|
|setActiveContent|bool|存储当前交互数据|
|getActiveContent|array|获取当前交互用户返回并处理后的数据|
|getMenu|array|获取微信公众号的菜单配置|
|delMenu|bool、array|删除微信公众号的菜单,开启debug时,未成功返回错误信息|
|createMenu|bool、array|创建微信公众号菜单|
|getTempList|array|返回当前微信公众号内的模版信息列表|
|sendTempMsg|array|发送模版信息|
### QrcodeTool 方法说明
|方法名|返回|说明|
|---|---|---|
|createQr|array|创建带参数二维码|
|getQrcodeByTicket|souce|根据二维码的ticket返回二维码图片资源|
### MediaTool 方法说明
|方法名|返回|说明|
|---|---|---|
|addShortTimeMedia|array|增加临时素材|
|getShortTimeMedia|array|获取临时素材|
|addForeverMedia|array|增加永久素材|
|getForeverMedia|array|获取永久素材|
|addForeverNews|array|新增永久图文素材|
|upForeverImg|array|上传图文素材中的图片|
|detForeverMedia|array|删除永久素材|
|updateNews|array|修改图文信息|
|getForeverCount|array|获取永久素材统计数据|
|getForeverList|array|获取永久素材列表|
### MemberTool 方法说明
|方法名|返回|说明|
|---|---|---|
|addTag|array|创建标签|
|getTags|array|获取标签列表|
|updateTag|array|修改标签|
|delTag|array|删除标签|
|getUsersByTags|array|根据标签获取用户|
|setUserTagInBatch|array|批量设置用户标签|
|cancelUserTagInBatch|array|批量取消用户标签|
|getUserTagIds|array|获取用户绑定的标签id|
|setUserAlias|array|设置用户别名|
|getUserInfo|array|获取用户信息|
|getUserInfoInBatch|array|批量获取用户信息|
|getAccountUsers|array|获取公众号粉丝列表|
|getAccountBlackUsers|array|获取公众号黑名单|
### TempMsg 方法说明
|方法名|返回|说明|
|---|---|---|
|setIndustry|array|设置公众号所属行业|
|getIndeustry|array|获取设置的行业信息|
|getTempId|array|获取模版id|
|getTempList|array|获取公众号绑定的模版列表|
|delTemp|array|解绑公众号模版|
|sendMsg|array|发送模版信息|
近期下载者:
相关文件:
收藏者: