From a4e99d45ff31b7083ff5a7a1c64f6ff9fe52cc44 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 16 Sep 2019 16:45:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BF=87=E6=9C=9Fopenid?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/controller/KefuController.class.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/webapp/controller/KefuController.class.php b/webapp/controller/KefuController.class.php index a2d25c2..659fb67 100644 --- a/webapp/controller/KefuController.class.php +++ b/webapp/controller/KefuController.class.php @@ -227,12 +227,17 @@ class KefuController { } $ret_info = json_decode($response, true); error_log(json_encode($response)); - if (isset($ret_info['errcode']) && ($ret_info['errcode'] == 40001 || $ret_info['errcode'] == 40003)) { + if (isset($ret_info['errcode']) && ($ret_info['errcode'] == 40001 || $ret_info['errcode'] == 40003 || $ret_info['errcode'] == 41001)) { + if ($ret_info['errcode'] == 40003) { + //无效的openid,(更换appid appkey导致之前的openid失效) + //从db里删除这种过期的openid + return true; + } error_log('重新获取access_token'); $r = $this->getRedis($gameid); $r->del('kf_token:' . $gameid . ':'); $access_token = $this->getAccessToken($gameid); - $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token"; + $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=". urlencode($access_token); $response = ''; error_log(json_encode($data, JSON_UNESCAPED_UNICODE)); @@ -243,6 +248,7 @@ class KefuController { phpcommon\sendError(ERR_RETRY, '系统繁忙'); return; } + error_log('retry:' . $response); $ret_info = json_decode($response, true); } return !empty($ret_info) && $ret_info['errcode'] == 0; @@ -402,6 +408,7 @@ class KefuController { $r->pexpire('kf_token:' . $gameid . ':', 1000 * ($respobj['expires_in'] - 60 * 1)); return $respobj['access_token']; } else { + error_log('getAccessToken:' . $response); return ''; } }