diff --git a/src/addon/aikefu/api/controller/Kefu.php b/src/addon/aikefu/api/controller/Kefu.php index cf8d5983f..9bb1a9f60 100644 --- a/src/addon/aikefu/api/controller/Kefu.php +++ b/src/addon/aikefu/api/controller/Kefu.php @@ -16,9 +16,18 @@ class Kefu extends BaseApi */ public function initializeForEvent($data) { - $this->site_id = $data['site_id'] ?? 0; - $this->member_id = $data['member_id'] ?? 0; - $this->token = $data['token'] ?? ''; + if (!empty($data['site_id'])) { + $this->site_id = $data['site_id'] ?? 0; + } + + if (!empty($data['member_id'])) { + $this->member_id = $data['member_id'] ?? 0; + } + + if (!empty($data['token'])) { + $this->token = $data['token'] ?? ''; + } + $this->params = [ 'message' => $data['message'] ?? '', 'user_id' => $data['user_id'] ?? '', diff --git a/src/app/api/controller/Kefu.php b/src/app/api/controller/Kefu.php index d180c91af..85974eee7 100644 --- a/src/app/api/controller/Kefu.php +++ b/src/app/api/controller/Kefu.php @@ -22,6 +22,11 @@ class Kefu extends BaseApi $conversation_id = $this->params['conversation_id'] ?? ''; $stream = $this->params['stream'] ?? false; + // (可选)获取站点ID和会员ID,可以通过事件数据传递 + $site_id = $this->params['site_id'] ?? $this->site_id; + $member_id = $this->params['member_id'] ?? $this->member_id; + $token = $this->params['token'] ?? $this->token; + // 验证参数 if (empty($message)) { return $this->response($this->error('请输入消息内容')); @@ -34,9 +39,9 @@ class Kefu extends BaseApi 'user_id' => $user_id, 'conversation_id' => $conversation_id, 'stream' => $stream, - 'site_id' => $this->site_id, - 'member_id' => $this->member_id, - 'token' => $this->token, + 'site_id' =>$site_id, + 'member_id' => $member_id, + 'token' => $token, ]; // 触发智能客服聊天事件 @@ -76,13 +81,18 @@ class Kefu extends BaseApi // 获取请求参数 $user_id = $this->params['user_id'] ?? $this->member_id; + // (可选)获取站点ID和会员ID,可以通过事件数据传递 + $site_id = $this->params['site_id'] ?? $this->site_id; + $member_id = $this->params['member_id'] ?? $this->member_id; + $token = $this->params['token'] ?? $this->token; + try { // 准备事件数据 $event_data = [ 'user_id' => $user_id, - 'site_id' => $this->site_id, - 'member_id' => $this->member_id, - 'token' => $this->token, + 'site_id' =>$site_id, + 'member_id' => $member_id, + 'token' => $token, ]; // 触发创建会话事件 @@ -125,6 +135,11 @@ class Kefu extends BaseApi $limit = $this->params['limit'] ?? 20; $offset = $this->params['offset'] ?? 0; + // (可选)获取站点ID和会员ID,可以通过事件数据传递 + $site_id = $this->params['site_id'] ?? $this->site_id; + $member_id = $this->params['member_id'] ?? $this->member_id; + $token = $this->params['token'] ?? $this->token; + // 验证参数 if (empty($conversation_id)) { return $this->response($this->error('会话ID不能为空')); @@ -137,9 +152,9 @@ class Kefu extends BaseApi 'user_id' => $user_id, 'limit' => $limit, 'offset' => $offset, - 'site_id' => $this->site_id, - 'member_id' => $this->member_id, - 'token' => $this->token, + 'site_id' =>$site_id, + 'member_id' => $member_id, + 'token' => $token, ]; // 触发获取历史消息事件