perf: 优化消息组件

This commit is contained in:
kuaifan
2024-10-16 18:40:53 +08:00
parent e0a108eb2e
commit c9d002c1cd
4 changed files with 172 additions and 50 deletions

View File

@@ -573,15 +573,7 @@ class WebSocketDialogMsg extends AbstractModel
return "[{$action}] ${$data['msg']['name']}";
case 'file':
if ($data['msg']['type'] == 'img') {
$action = Doo::translate("图片");
return "[{$action}]";
} elseif ($data['msg']['ext'] == 'mp4') {
$action = Doo::translate("视频");
return "[{$action}]";
}
$action = Doo::translate("文件");
return "[{$action}] {$data['msg']['name']}";
return $this->previewFileMsg($data['msg']);
case 'tag':
$action = Doo::translate($data['msg']['action'] === 'remove' ? '取消标注' : '标注');
@@ -598,12 +590,82 @@ class WebSocketDialogMsg extends AbstractModel
case 'notice':
return $data['msg']['notice'];
case 'template':
return $this->previewTemplateMsg($data['msg']);
default:
$action = Doo::translate("未知的消息");
return "[{$action}]";
}
}
/**
* 预览文件消息
* @param $msg
* @return string
*/
private function previewFileMsg($msg)
{
if ($msg['type'] == 'img') {
$action = Doo::translate("图片");
return "[{$action}]";
} elseif ($msg['ext'] == 'mp4') {
$action = Doo::translate("视频");
return "[{$action}]";
}
$action = Doo::translate("文件");
return "[{$action}] {$msg['name']}";
}
/**
* 预览模板消息
* @param $msg
* @return string
*/
private function previewTemplateMsg($msg)
{
switch ($msg['type']) {
case '/help':
return Doo::translate('帮助指令');
case '/list':
return Doo::translate('我的机器人');
case '/info':
return Doo::translate('机器人信息');
case '/newbot':
return Doo::translate('新建机器人');
case '/setname':
return Doo::translate('设置名称');
case '/deletebot':
return Doo::translate('删除机器人');
case '/token':
return Doo::translate('机器人Token');
case '/revoke':
return Doo::translate('更新Token');
case '/webhook':
return Doo::translate('设置Webhook');
case '/clearday':
return Doo::translate('设置保留消息时间');
case '/dialog':
return Doo::translate('对话列表');
case '/api':
return Doo::translate('API接口文档');
case 'approve_reviewer':
return Doo::translate('待你审批');
case 'approve_notifier':
return Doo::translate('审批通知');
case 'approve_comment_notifier':
return Doo::translate('审批评论通知');
case 'approve_submitter':
return Doo::translate('审批结果');
case 'notice':
return $msg['notice'];
default:
return Doo::translate(preg_match("/^\//", $msg['type']) ? '帮助菜单' : '未知消息类型');
}
}
/**
* 生成关键词
* @return string