From d6b9d1d0e30e84b000a99841b289051dd02dc0a8 Mon Sep 17 00:00:00 2001 From: apple Date: Wed, 29 Apr 2026 17:24:10 +0800 Subject: [PATCH] refactor(kefu): remove BaseAuth dependencies from unused kefu module Made-with: Cursor --- docs/license-replacement-test-record.md | 27 +++++++++++++++++++ .../app/controller/kefu/AuthController.php | 4 +-- pro_v3.5.1/app/controller/kefu/Common.php | 15 ++++------- pro_v3.5.1/app/controller/kefu/Login.php | 4 +-- .../app/services/kefu/LoginServices.php | 21 +++++++-------- 5 files changed, 46 insertions(+), 25 deletions(-) diff --git a/docs/license-replacement-test-record.md b/docs/license-replacement-test-record.md index c5ca2a7f..bdf97720 100644 --- a/docs/license-replacement-test-record.md +++ b/docs/license-replacement-test-record.md @@ -257,3 +257,30 @@ | 6.2 | 库存不足下单 | POST | user/admin | 超库存数量 | 待预发填写 | 待预发填写 | 失败提示、无异常订单 | 待测 | 当前项目暂不使用相关链路,部署验证时补充。 | | 6.2 | 取消/退款回滚 | POST | user/admin | 订单号 | 待预发填写 | 待预发填写 | 库存、销量 | 待测 | 当前项目暂不使用相关链路,部署验证时补充。 | | 6.2 | 并发扣减 | POST | user/admin | 同商品多请求 | 待预发填写 | 待预发填写 | 库存不为负 | 待测 | 需在预发压测或脚本验证。 | + +## 阶段 6.3:客服模块 + +### 自动化检查 + +| 命令 | 结果 | 备注 | +|------|------|------| +| `php -l app/services/kefu/LoginServices.php` | 通过 | PHP 提示 `swoole_loader` 已加载,不影响语法检查结果。 | +| `php -l app/controller/kefu/AuthController.php` | 通过 | PHP 提示 `swoole_loader` 已加载,不影响语法检查结果。 | +| `php -l app/controller/kefu/Login.php` | 通过 | PHP 提示 `swoole_loader` 已加载,不影响语法检查结果。 | +| `php -l app/controller/kefu/Common.php` | 通过 | PHP 提示 `swoole_loader` 已加载,不影响语法检查结果。 | +| `rg "crmeb\\basic\\BaseAuth|crmeb\\basic\\BaseController|app\\(\\)->make\\(BaseAuth::class\\)|__z6uxy|__qsG" pro_v3.5.1 --glob "*.php"` | 通过 | 应用层已无商业基础类和加密版权 helper 引用。 | +| `php think list` | 未通过 | 本地输出“授权文件被更改,无法运行程序~~~”,属于当前商业授权环境基线问题,需在授权正确的部署环境回归。 | + +### 手工回归记录 + +| 阶段 | 接口/命令 | 方法 | 身份 | 关键参数 | HTTP 状态 | 业务 `status` | 关键字段 | 结果 | 备注 | +|------|-----------|------|------|----------|-----------|---------------|----------|------|------| +| 6.3 | 客服登录 | POST | kefu | 账号、密码 | 待预发填写 | 待预发填写 | `token`、`kefuInfo` | 待测 | 当前项目未启用客服模块。 | +| 6.3 | 客服会话列表 | GET | kefu | token | 待预发填写 | 待预发填写 | 会话数据 | 待测 | 当前项目未启用客服模块。 | +| 6.3 | 客服上传图片 | POST | kefu | token、file | 待预发填写 | 待预发填写 | 文件地址 | 待测 | 当前项目未启用客服模块。 | +| 6.3 | 非法/过期 token | GET/POST | kefu | 非法 token | 待预发填写 | 待预发填写 | 错误码 | 待测 | 当前项目未启用客服模块。 | + +### 最终收口结论 + +- 自有业务代码已移除 `crmeb\basic\BaseAuth`、`crmeb\basic\BaseController`、加密版权 helper 的直接引用。 +- 本地 `php think list` 仍受商业授权环境影响,部署前需要在合法授权或目标运行环境完成全量手工回归。 diff --git a/pro_v3.5.1/app/controller/kefu/AuthController.php b/pro_v3.5.1/app/controller/kefu/AuthController.php index 90f1e130..570e5789 100644 --- a/pro_v3.5.1/app/controller/kefu/AuthController.php +++ b/pro_v3.5.1/app/controller/kefu/AuthController.php @@ -6,15 +6,15 @@ namespace app\controller\kefu; +use app\common\controller\AppBaseController; use app\Request; -use crmeb\basic\BaseController; /** * Class AuthController * @package app\kefuapi\controller * @property Request $request */ -abstract class AuthController extends BaseController +abstract class AuthController extends AppBaseController { /** diff --git a/pro_v3.5.1/app/controller/kefu/Common.php b/pro_v3.5.1/app/controller/kefu/Common.php index 69c14d05..7f23f812 100644 --- a/pro_v3.5.1/app/controller/kefu/Common.php +++ b/pro_v3.5.1/app/controller/kefu/Common.php @@ -6,14 +6,15 @@ namespace app\controller\kefu; +use app\common\controller\AppBaseController; use app\Request; use app\services\kefu\KefuServices; use app\services\kefu\ProductServices; use app\services\message\service\StoreServiceRecordServices; use app\services\order\StoreOrderServices; +use app\services\system\LocalCopyrightService; use app\services\system\attachment\SystemAttachmentServices; use app\services\user\UserAuthServices; -use crmeb\basic\BaseController; use app\services\user\UserServices; use app\services\other\CacheServices; use app\services\message\service\StoreServiceServices; @@ -29,7 +30,7 @@ use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; -class Common extends BaseController +class Common extends AppBaseController { protected function initialize() { @@ -269,14 +270,8 @@ class Common extends BaseController */ public function getCopyright() { - $res = false; - try { - $copyright = $this->__z6uxyJQ4xYa5ee1mx5(); - $res = true; - } catch (\Throwable $e) { - $copyright = ['copyrightContext' => '', 'copyrightImage' => '']; - } - $copyright['is_copyright'] = $res; + $copyright = app()->make(LocalCopyrightService::class)->getCopyright(); + $copyright['is_copyright'] = false; return $this->success($copyright); } } diff --git a/pro_v3.5.1/app/controller/kefu/Login.php b/pro_v3.5.1/app/controller/kefu/Login.php index a5dfb924..baf621ca 100644 --- a/pro_v3.5.1/app/controller/kefu/Login.php +++ b/pro_v3.5.1/app/controller/kefu/Login.php @@ -6,8 +6,8 @@ namespace app\controller\kefu; +use app\common\controller\AppBaseController; use app\Request; -use crmeb\basic\BaseController; use crmeb\services\CacheService; use app\services\kefu\LoginServices; use app\validate\kefu\LoginValidate; @@ -21,7 +21,7 @@ use think\db\exception\ModelNotFoundException; * Class Login * @package app\kefu\controller */ -class Login extends BaseController +class Login extends AppBaseController { /** diff --git a/pro_v3.5.1/app/services/kefu/LoginServices.php b/pro_v3.5.1/app/services/kefu/LoginServices.php index b51e4a73..de1285c8 100644 --- a/pro_v3.5.1/app/services/kefu/LoginServices.php +++ b/pro_v3.5.1/app/services/kefu/LoginServices.php @@ -6,13 +6,11 @@ namespace app\services\kefu; -use crmeb\basic\BaseAuth; +use app\services\auth\AccessTokenService; use app\services\BaseServices; -use crmeb\exceptions\AuthException; use crmeb\services\CacheService; use app\dao\message\service\StoreServiceDao; use crmeb\services\wechat\OfficialAccount; -use crmeb\utils\ApiErrorCode; use think\annotation\Inject; use think\exception\ValidateException; use app\services\wechat\WechatUserServices; @@ -77,14 +75,15 @@ class LoginServices extends BaseServices */ public function parseToken(string $token) { - /** @var BaseAuth $services */ - $services = app()->make(BaseAuth::class); - $adminInfo = $services->parseToken($token, function ($id) { - return $this->dao->get($id); - }); - if (isset($adminInfo->auth) && $adminInfo->auth !== md5($adminInfo->password)) { - throw new AuthException(ApiErrorCode::ERR_LOGIN_INVALID); - } + /** @var AccessTokenService $services */ + $services = app()->make(AccessTokenService::class); + $adminInfo = $services->parseToken( + $token, + 'kefu', + fn($id) => $this->dao->get($id), + fn($adminInfo) => md5($adminInfo->password) + ); + return $adminInfo->hidden(['password', 'ip', 'status']); }