feat: add localStroage

This commit is contained in:
zhaoweijie 2025-02-24 11:09:29 +08:00
parent c5fa739a95
commit dba196d777
3 changed files with 11 additions and 9 deletions

View File

@ -84,7 +84,7 @@ const columns: TableProps<MeteringEntry>["columns"] = [
dataIndex: "date",
key: "date",
render: (date) => {
return <div>{formatDate(date ?? new Date())}</div>
return <div>{formatDate(new Date(date))}</div>
}
},
{

View File

@ -194,7 +194,7 @@ export const useMessageOption = () => {
const meter: MeteringEntry = {
id: generateMessageId,
queryContent: message,
date: new Date()
date: new Date().getTime()
} as MeteringEntry
if (!isRegenerate) {
@ -489,20 +489,22 @@ export const useMessageOption = () => {
// Save metering entry
const { cot, content } = responseResolver(fullText)
setMeteringEntries([ {
const _meteringEntries = [{
...meter,
modelInputTokenCount: prompt.length,
modelOutputTokenCount: fullText.length,
model: ollama.modelName,
model: ollama.modelName ?? ollama.model,
relatedDataCount: iodData?.length ?? 0,
timeTaken: new Date().getTime() - meter.date.getTime(),
date: chatStartTime,
timeTaken: new Date().getTime() - chatStartTime.getTime(),
date: chatStartTime.getTime(),
cot,
responseContent: content,
modelResponseContent: fullText,
},
...meteringEntries,
])
]
setMeteringEntries(_meteringEntries)
localStorage.setItem("meteringEntries", JSON.stringify(_meteringEntries))
} catch (e) {
const errorSave = await saveMessageOnError({
e,

View File

@ -100,7 +100,7 @@ export type MeteringEntry = {
// 大模型输出token数量
modelOutputTokenCount: number
// 日期
date: Date
date: number
// 耗时
timeTaken: number
// 大模型回答的全部内容
@ -120,7 +120,7 @@ export const useStoreMessageOption = create<State>((set) => ({
setMessages: (messages) => set({ messages }),
history: [],
setHistory: (history) => set({ history }),
meteringEntries: [],
meteringEntries: JSON.parse(localStorage.getItem("meteringEntries") || JSON.stringify([])),
setMeteringEntries: (meteringEntries) => set({ meteringEntries }),
streaming: false,
setStreaming: (streaming) => set({ streaming }),