diff --git a/api/handler/chat_handler.go b/api/handler/chat_handler.go index bdcbb99c..70569cff 100644 --- a/api/handler/chat_handler.go +++ b/api/handler/chat_handler.go @@ -220,8 +220,8 @@ func (h *ChatHandler) sendMessage(ctx context.Context, input ChatInput, c *gin.C } // 加载聊天上下文 - chatCtx := make([]interface{}, 0) - messages := make([]interface{}, 0) + chatCtx := make([]any, 0) + messages := make([]any, 0) if h.App.SysConfig.EnableContext { if h.ChatContexts.Has(input.ChatId) { messages = h.ChatContexts.Get(input.ChatId) @@ -232,6 +232,8 @@ func (h *ChatHandler) sendMessage(ctx context.Context, input ChatInput, c *gin.C dbSession := h.DB.Session(&gorm.Session{}).Where("chat_id", input.ChatId) if input.LastMsgId > 0 { // 重新生成逻辑 dbSession = dbSession.Where("id < ?", input.LastMsgId) + // 删除对应的聊天记录 + h.DB.Where("chat_id", input.ChatId).Where("id >= ?", input.LastMsgId).Delete(&model.ChatMessage{}) } err = dbSession.Limit(h.App.SysConfig.ContextDeep).Order("id DESC").Find(&historyMessages).Error if err == nil { diff --git a/web/src/views/admin/ChatModel.vue b/web/src/views/admin/ChatModel.vue index 0e9e91ad..5157fbca 100644 --- a/web/src/views/admin/ChatModel.vue +++ b/web/src/views/admin/ChatModel.vue @@ -265,16 +265,18 @@ const fetchData = () => { httpGet('/api/admin/model/list', query.value) .then((res) => { if (res.data) { - // 初始化数据 - const arr = res.data - for (let i = 0; i < arr.length; i++) { - arr[i].last_used_at = dateFormat(arr[i].last_used_at) - } - items.value = arr + res.data.forEach((item) => { + if (!item.options) { + item.options = {} + } + item.last_used_at = dateFormat(item.last_used_at) + }) + items.value = res.data } loading.value = false }) - .catch(() => { + .catch((e) => { + console.error(e) ElMessage.error('获取数据失败') }) }