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)
{
$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'] ?? '',

View File

@@ -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,
];
// 触发获取历史消息事件