fix(addon/aikefu): 支持外部传入site_id 等参数

This commit is contained in:
2025-12-06 14:34:17 +08:00
parent 8ae10dd2c3
commit 5af0b07775
2 changed files with 36 additions and 12 deletions

View File

@@ -16,9 +16,18 @@ class Kefu extends BaseApi
*/ */
public function initializeForEvent($data) public function initializeForEvent($data)
{ {
$this->site_id = $data['site_id'] ?? 0; if (!empty($data['site_id'])) {
$this->member_id = $data['member_id'] ?? 0; $this->site_id = $data['site_id'] ?? 0;
$this->token = $data['token'] ?? ''; }
if (!empty($data['member_id'])) {
$this->member_id = $data['member_id'] ?? 0;
}
if (!empty($data['token'])) {
$this->token = $data['token'] ?? '';
}
$this->params = [ $this->params = [
'message' => $data['message'] ?? '', 'message' => $data['message'] ?? '',
'user_id' => $data['user_id'] ?? '', 'user_id' => $data['user_id'] ?? '',

View File

@@ -22,6 +22,11 @@ class Kefu extends BaseApi
$conversation_id = $this->params['conversation_id'] ?? ''; $conversation_id = $this->params['conversation_id'] ?? '';
$stream = $this->params['stream'] ?? false; $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)) { if (empty($message)) {
return $this->response($this->error('请输入消息内容')); return $this->response($this->error('请输入消息内容'));
@@ -34,9 +39,9 @@ class Kefu extends BaseApi
'user_id' => $user_id, 'user_id' => $user_id,
'conversation_id' => $conversation_id, 'conversation_id' => $conversation_id,
'stream' => $stream, 'stream' => $stream,
'site_id' => $this->site_id, 'site_id' =>$site_id,
'member_id' => $this->member_id, 'member_id' => $member_id,
'token' => $this->token, 'token' => $token,
]; ];
// 触发智能客服聊天事件 // 触发智能客服聊天事件
@@ -76,13 +81,18 @@ class Kefu extends BaseApi
// 获取请求参数 // 获取请求参数
$user_id = $this->params['user_id'] ?? $this->member_id; $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 { try {
// 准备事件数据 // 准备事件数据
$event_data = [ $event_data = [
'user_id' => $user_id, 'user_id' => $user_id,
'site_id' => $this->site_id, 'site_id' =>$site_id,
'member_id' => $this->member_id, 'member_id' => $member_id,
'token' => $this->token, 'token' => $token,
]; ];
// 触发创建会话事件 // 触发创建会话事件
@@ -125,6 +135,11 @@ class Kefu extends BaseApi
$limit = $this->params['limit'] ?? 20; $limit = $this->params['limit'] ?? 20;
$offset = $this->params['offset'] ?? 0; $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)) { if (empty($conversation_id)) {
return $this->response($this->error('会话ID不能为空')); return $this->response($this->error('会话ID不能为空'));
@@ -137,9 +152,9 @@ class Kefu extends BaseApi
'user_id' => $user_id, 'user_id' => $user_id,
'limit' => $limit, 'limit' => $limit,
'offset' => $offset, 'offset' => $offset,
'site_id' => $this->site_id, 'site_id' =>$site_id,
'member_id' => $this->member_id, 'member_id' => $member_id,
'token' => $this->token, 'token' => $token,
]; ];
// 触发获取历史消息事件 // 触发获取历史消息事件