Browse Source

聊天页面翻译

master
La123123 4 weeks ago
parent
commit
78b9587129
  1. 22
      im-web/src/components/chat/ChatBox.vue
  2. 8
      im-web/src/components/chat/ChatMessageItem.vue

22
im-web/src/components/chat/ChatBox.vue

@ -35,6 +35,7 @@
@resend="onResendMessage" @resend="onResendMessage"
@delete="deleteMessage" @delete="deleteMessage"
@recall="recallMessage" @recall="recallMessage"
@translate="translateMessage"
> >
</chat-message-item> </chat-message-item>
</div> </div>
@ -728,6 +729,27 @@ export default {
}); });
}); });
}, },
async translateMessage(msgInfo) {
try {
// API
const res = await this.getTranslateText(msgInfo.content);
if (res) {
// chatStore
let chat = this.chatStore.findChat(this.chat);
let message = this.chatStore.findMessage(chat, msgInfo);
if (message) {
// content
message.content = res;
//
chat.stored = false;
this.chatStore.saveToStorage();
this.$message.success("翻译成功");
}
}
} catch (error) {
this.$message.error("翻译失败: " + (error.message || "未知错误"));
}
},
readedMessage() { readedMessage() {
if (this.chat.unreadCount > 0) { if (this.chat.unreadCount > 0) {
if (this.isGroup) { if (this.isGroup) {

8
im-web/src/components/chat/ChatMessageItem.vue

@ -166,6 +166,14 @@ export default {
}, },
menuItems() { menuItems() {
let items = []; let items = [];
//
if (this.isTextMessage) {
items.push({
key: 'TRANSLATE',
name: '翻译',
icon: 'el-icon-reading'
});
}
items.push({ items.push({
key: 'DELETE', key: 'DELETE',
name: '删除', name: '删除',

Loading…
Cancel
Save