Wechat.php
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
namespace app\index\controller;
use addons\wechat\model\WechatAutoreply;
use addons\wechat\model\WechatCaptcha;
use addons\wechat\model\WechatContext;
use addons\wechat\model\WechatResponse;
use addons\wechat\model\WechatConfig;
use EasyWeChat\Foundation\Application;
use addons\wechat\library\Wechat as WechatService;
use addons\wechat\library\Config as ConfigService;
use think\Log;
/**
* 微信接口
*/
class Wechat extends \think\addons\Controller
{
public $app = null;
public function _initialize()
{
parent::_initialize();
$this->app = new Application(ConfigService::load());
}
/**
* 微信API对接接口
*/
public function api()
{
$this->app->server->setMessageHandler(function ($message) {
$wechatService = new WechatService;
$matches = null;
$openid = $message->FromUserName;
$to_openid = $message->ToUserName;
$event = $message->Event;
$eventkey = $message->EventKey ? $message->EventKey : $message->Event;
switch ($message->MsgType) {
case 'event': //事件消息
//验证码消息
if (in_array($event, ['subscribe', 'SCAN'])) {
return $eventkey;
}
// switch ($event) {
// case 'subscribe'://添加关注
// $subscribeMessage = WechatConfig::value('default.subscribe.message');
// $subscribeMessage = $subscribeMessage ? $subscribeMessage : "欢迎关注我们!";
// return $subscribeMessage;
// case 'unsubscribe'://取消关注
// return '';
// case 'LOCATION'://获取地理位置
// return '';
// case 'VIEW': //跳转链接,eventkey为链接
// return '';
// case 'SCAN': //扫码
// return '';
// default:
// break;
// }
return "";
case 'text': //文字消息
case 'image': //图片消息
case 'voice': //语音消息
case 'video': //视频消息
case 'location': //坐标消息
case 'link': //链接消息
default: //其它消息
return "";
}
return ""; //SUCCESS
});
$response = $this->app->server->serve();
// 将响应输出
$response->send();
}
}