fix(store): 修复会话数据深拷贝问题以避免引用污染

在更新本地数据库时,使用JSON.parse(JSON.stringify())对会话数据进行深拷贝,防止原始数据被意外修改
This commit is contained in:
Phoenix 2025-07-01 11:01:01 +08:00
parent f010287bfa
commit f2b194f712
2 changed files with 6 additions and 4 deletions

View File

@ -8,11 +8,13 @@ import router from './router'
import App from './App.vue'
import * as plugins from './plugins'
import request from "@/api/index.js";
if (window.__POWERED_BY_WUJIE__) {
// eslint-disable-next-line
window.__webpack_public_path__ = window.__WUJIE_PUBLIC_PATH__;
}
async function bootstrap() {
const app = createApp(App)
app.use(router)

View File

@ -54,7 +54,7 @@ export const useTalkStore = defineStore('talk', {
// 同步更新本地数据库
try {
await addOrUpdateConversation(item)
await addOrUpdateConversation(JSON.parse(JSON.stringify(item)))
} catch (error) {
console.error('更新本地会话失败:', error)
}
@ -67,7 +67,7 @@ export const useTalkStore = defineStore('talk', {
// 同步添加到本地数据库
try {
await addOrUpdateConversation(params)
await addOrUpdateConversation(JSON.parse(JSON.stringify(params)))
} catch (error) {
console.error('添加本地会话失败:', error)
}
@ -109,7 +109,7 @@ export const useTalkStore = defineStore('talk', {
// 同步更新本地数据库中的会话信息
try {
await addOrUpdateConversation(item)
await addOrUpdateConversation(JSON.parse(JSON.stringify(item)))
} catch (error) {
console.error('更新本地会话消息失败:', error)
}
@ -125,7 +125,7 @@ export const useTalkStore = defineStore('talk', {
// 同步更新本地数据库
try {
await addOrUpdateConversation(item)
await addOrUpdateConversation(JSON.parse(JSON.stringify(item)))
} catch (error) {
console.error('更新本地联系人备注失败:', error)
}