From 47362739021d1cd3234c7d22299de40bf3fe9414 Mon Sep 17 00:00:00 2001 From: ZF sun <34314687@qq.com> Date: Sat, 6 Dec 2025 16:45:44 +0800 Subject: [PATCH] =?UTF-8?q?test(addon/aikefu):=20=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E5=8E=9F=E5=85=88=E7=9A=84kefu.app=20=E6=96=B9=E4=BE=BF?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/api/controller/Kefu.php | 58 +++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/app/api/controller/Kefu.php b/src/app/api/controller/Kefu.php index 52f46708d..434834e21 100644 --- a/src/app/api/controller/Kefu.php +++ b/src/app/api/controller/Kefu.php @@ -206,6 +206,64 @@ class Kefu extends BaseApi return $ip; } + + /** + * 清除会话历史 + */ + public function clearConversation() + { + // 获取请求参数 + $conversation_id = $this->params['conversation_id'] ?? ''; + $user_id = $this->params['user_id'] ?? $this->member_id; + + // (可选)获取站点ID和会员ID,可以通过事件数据传递 + $site_id = $this->params['uniacid'] ?? $this->site_id; // 使用 uniacid, 方便以后迁移,而且uniacid 是唯一的, site_id 不是,同时被params给过滤了 + $member_id = $this->params['member_id'] ?? $this->member_id; + $token = $this->params['token'] ?? $this->token; + + // 验证参数(conversation_id 和 user_id 至少需要一个) + if (empty($conversation_id) && empty($user_id)) { + return $this->response($this->error('会话ID或用户ID不能为空')); + } + + try { + // 准备事件数据 + $event_data = [ + 'conversation_id' => $conversation_id, + 'user_id' => $user_id, + 'site_id' =>$site_id, + 'member_id' => $member_id, + 'token' => $token, + ]; + + // 触发清除会话事件 + $result = Event::trigger('KefuClearConversation', $event_data); + + // 处理事件结果 + $response = [ + 'code' => 0, + 'message' => 'success', + 'data' => [] + ]; + + if (is_array($result) && !empty($result)) { + foreach ($result as $res) { + if (isset($res['code']) && $res['code'] < 0) { + $response = $res; + break; + } + if (isset($res['data'])) { + $response['data'] = array_merge($response['data'], $res['data']); + } + } + } + + return $this->response($response); + } catch (\Exception $e) { + return $this->response($this->error('请求失败:' . $e->getMessage())); + } + } + /** * 智能客服聊天接口 * @return \think\response\Json