OpenServerController.php
4.8 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/1/19
* Time: 11:32
*/
namespace app\portal\controller;
use cmf\controller\HomeBaseController;
use cmf\controller\WeChatBaseController;
use EasyWeChat\Foundation\Application;
use think\Db;
class OpenServerController extends HomeBaseController
{
public function index(){
if(!isset($_GET["echostr"])){
$this->responseMsg();
}else{
$this->valid();
}
}
public function valid()
{
$echoStr = $_GET["echostr"];
echo $echoStr;
exit;
}
public function test(){
dump(cache('referrer'));
dump(cache('openid'));
dump(cache('admin_id'));
dump(cache('result'));
dump(cache('result1'));
dump(cache('third_party_user'));
dump(cache('user'));
}
public function responseMsg()
{
$app=new Application(config('wechat_config'));
$server = $app->server;
$server->setMessageHandler(function ($message) {
switch ($message->MsgType) {
case 'event':
switch ($message->Event) {
case 'subscribe':
if(empty($message->EventKey)){
return '您好,欢迎关注“学考无忧”公众号。
我们致力于打造一个为广大家长和同学们提升知识视野,提高学习成绩的优质服务号,这里有热门的教育资讯,海量的免费资源,优质的学习干货,会为大家提供教辅类以及课外阅读阅读书籍,帮助同学们提高学习成绩。
真正让家长省心,孩子无忧。感谢关注。';
}else{
//获取用户openid
/*$openid=$message->FromUserName;
cache('openid',$openid);
$admin_id=substr($message->EventKey,8);
cache('admin_id',$admin_id);
$third_party_user = Db::name('third_party_user')->where('openid',$openid)->find();
cache('third_party_user',$third_party_user);
if(!empty($third_party_user)){
$user = Db::name('user')->where('id',$third_party_user['user_id'])->find();
cache('user',$user);
if($user['channel'] == 2){
$result1 = Db::name('user')->where('id',$user['id'])->update(['admin_id'=>$admin_id,'channel'=>1]);
cache('result1',$result1);
}
}else{
//储存到推荐人推荐列表
$referrer = Db::name('referrer')->where(array('openid'=>$openid))->find();
cache('referrer',$referrer);
if(empty($referrer)){
$result = Db::name('referrer')->insert(array('admin_id'=>$admin_id,'openid'=>$openid,'create_time'=>time()));
cache('result',$result);
// return "推荐人关注!";
}else{
// return "已有推荐人!";
}
}*/
}
break;
default:
// return '收到event消息';
break;
}
break;
case 'text':
return '您好,欢迎关注“学考无忧”公众号。
我们致力于打造一个为广大家长和同学们提升知识视野,提高学习成绩的优质服务号,这里有热门的教育资讯,海量的免费资源,优质的学习干货,会为大家提供教辅类以及课外阅读阅读书籍,帮助同学们提高学习成绩。
真正让家长省心,孩子无忧。感谢关注。';
break;
default:
// return '收到其它消息';
break;
}
});
$response = $server->serve();
$response->send();
}
private function check_signature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}