chore(addon/aikefu): 调整事件名称

This commit is contained in:
2025-12-06 13:41:37 +08:00
parent d8a0dd5d31
commit a811e36635
3 changed files with 188 additions and 129 deletions

View File

@@ -0,0 +1,94 @@
<?php
namespace addon\aikefu\event;
use addon\aikefu\api\controller\Kefu as KefuApi;
/**
* 处理智能客服创建会话事件
*/
class KefuCreateConversation
{
/**
* 处理智能客服创建会话事件
* @param array $data 事件数据
* @return array
*/
public function handle($data)
{
try {
// 创建addon的KefuApi实例
$kefu_api = new KefuApi();
// 设置必要的属性
$kefu_api->site_id = $data['site_id'] ?? 0;
$kefu_api->member_id = $data['member_id'] ?? 0;
$kefu_api->token = $data['token'] ?? '';
$kefu_api->params = [
'user_id' => $data['user_id'] ?? '',
];
// 调用addon的createConversation方法
$response = $kefu_api->createConversation();
// 返回响应数据
return json_decode($response->getContent(), true);
} catch (\Exception $e) {
return [
'code' => -1,
'message' => '创建会话失败:' . $e->getMessage(),
'data' => []
];
}
}
/**
* 处理智能客服获取历史消息事件
* @param array $data 事件数据
* @return array
*/
public function handleKefuGetHistory($data)
{
try {
// 创建addon的KefuApi实例
$kefu_api = new KefuApi();
// 设置必要的属性
$kefu_api->site_id = $data['site_id'] ?? 0;
$kefu_api->member_id = $data['member_id'] ?? 0;
$kefu_api->token = $data['token'] ?? '';
$kefu_api->params = [
'conversation_id' => $data['conversation_id'] ?? '',
'user_id' => $data['user_id'] ?? '',
'limit' => $data['limit'] ?? 20,
'offset' => $data['offset'] ?? 0,
];
// 调用addon的getHistory方法
$response = $kefu_api->getHistory();
// 返回响应数据
return json_decode($response->getContent(), true);
} catch (\Exception $e) {
return [
'code' => -1,
'message' => '获取历史消息失败:' . $e->getMessage(),
'data' => []
];
}
}
/**
* 事件监听映射
* @return array
*/
public function subscribe()
{
return [
'KefuChat' => 'handleKefuChat',
'KefuCreateConversation' => 'handleKefuCreateConversation',
'KefuGetHistory' => 'handleKefuGetHistory',
];
}
}