wang hou sheng 10 months ago
parent 729ced0515
commit 07f2d3a1bd
  1. 68
      app/api/controller/Wxserver.php
  2. 4
      app/common/library/wxserver/Server.php

@ -13,6 +13,7 @@ use think\facade\Db;
class Wxserver extends BaseController class Wxserver extends BaseController
{ {
public function verifyTicket() public function verifyTicket()
{ {
$xmlData = file_get_contents("php://input"); $xmlData = file_get_contents("php://input");
@ -48,41 +49,40 @@ class Wxserver extends BaseController
$nonce = $this->request->get('nonce'); $nonce = $this->request->get('nonce');
if ($signature && $timestamp && $nonce) { if ($signature && $timestamp && $nonce) {
if ($obj->checkSignature($signature, $timestamp, $nonce)) { if ($obj->checkSignature($signature, $timestamp, $nonce)) {
Db::table('yoshop_wx_server')->insertGetId(['content' => '签名正确', 'created_at' => $time]); $xmlData = file_get_contents("php://input");
} if ($xmlData) {
} Db::table('yoshop_wx_server')->insertGetId(['content' => $xmlData, 'created_at' => $time]);
$xmlData = file_get_contents("php://input"); $data = $obj->decryptXml($xmlData);
if ($xmlData) { Db::table('yoshop_wx_server')->insertGetId(['content' => json_encode($data), 'created_at' => $time]);
Db::table('yoshop_wx_server')->insertGetId(['content' => $xmlData, 'created_at' => $time]); if (!empty($data['MsgType'])) {
$data = $obj->decryptXml($xmlData); if ($data['MsgType'] == 'event' && !empty($data['Event'])) {
Db::table('yoshop_wx_server')->insertGetId(['content' => json_encode($data), 'created_at' => $time]); $up = [];
if (!empty($data['MsgType'])) { if ($data['Event'] == 'weapp_audit_success') {
if ($data['MsgType'] == 'event' && !empty($data['Event'])) { $up['audit_status'] = 2;
$up = []; } elseif ($data['Event'] == 'weapp_audit_fail') {
if ($data['Event'] == 'weapp_audit_success') { $up['audit_status'] = 3;
$up['audit_status'] = 2; } elseif ($data['Event'] == 'weapp_audit_delay') {
} elseif ($data['Event'] == 'weapp_audit_fail') { $up['audit_status'] = 4;
$up['audit_status'] = 3; }
} elseif ($data['Event'] == 'weapp_audit_delay') { if (!empty($data['Reason'])) {
$up['audit_status'] = 4; $up['audit_reason'] = $data['Reason'];
}
if ($up && $appid) {
$model = new WxserverAccount();
$model->update($up, ['appid' => $appid]);
}
echo 'success';
} elseif ($data['MsgType'] == 'text' && !empty($data['Content'])) {
if ($data['Content'] == 'TESTCOMPONENT_MSG_TYPE_TEXT') {
$data['Content'] = 'TESTCOMPONENT_MSG_TYPE_TEXT_callback';
echo $this->responseText($data);
} elseif (strpos($data['Content'], 'QUERY_AUTH_CODE:') !== false) {
Db::table('yoshop_wx_server')->insertGetId(['content' => '给客服发送消息', 'created_at' => $time]);
$query_auth_code = trim(str_replace("QUERY_AUTH_CODE:", "", $data['Content']));
$obj->apiText($query_auth_code, $data['FromUserName']);
}
}
} }
if (!empty($data['Reason'])) {
$up['audit_reason'] = $data['Reason'];
}
if ($up && $appid) {
$model = new WxserverAccount();
$model->update($up, ['appid' => $appid]);
}
echo 'success';
} elseif ($data['MsgType'] == 'text' && !empty($data['Content'])) {
if ($data['Content'] == 'TESTCOMPONENT_MSG_TYPE_TEXT') {
$data['Content'] = 'TESTCOMPONENT_MSG_TYPE_TEXT_callback';
echo $this->responseText($data);
} elseif (strpos($data['Content'], 'QUERY_AUTH_CODE:') !== false) {
$query_auth_code = trim(str_replace("QUERY_AUTH_CODE:", "", $data['Content']));
$obj->apiText($query_auth_code, $data['FromUserName']);
}
} }
} }
} }

@ -470,6 +470,7 @@ class Server
$result = $this->curlPost($url, json_encode($data)); $result = $this->curlPost($url, json_encode($data));
$result = json_decode($result, true); $result = json_decode($result, true);
if (!empty($result['authorization_info']['authorizer_access_token'])) { if (!empty($result['authorization_info']['authorizer_access_token'])) {
Db::table('yoshop_wx_server')->insertGetId(['content' => '获取到给客户发送信息token', 'created_at' => date('Y-m-d H:i:s')]);
$token = $result['authorization_info']['authorizer_access_token']; $token = $result['authorization_info']['authorizer_access_token'];
$url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' . $token; $url = 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' . $token;
$data = []; $data = [];
@ -478,7 +479,8 @@ class Server
$data['text'] = [ $data['text'] = [
'content' => $authorization_code . '$_from_api', 'content' => $authorization_code . '$_from_api',
]; ];
$this->curlPost($url, json_encode($data)); $arr = $this->curlPost($url, json_encode($data));
Db::table('yoshop_wx_server')->insertGetId(['content' => json_encode($arr), 'created_at' => date('Y-m-d H:i:s')]);
} }
} }

Loading…
Cancel
Save