ten / demo /src /common /storage.ts
3v324v23's picture
Зафиксирована рабочая версия TEN-Agent для HuggingFace Space
87337b1
raw
history blame contribute delete
2.38 kB
import { IAgentSettings, IOptions, ICozeSettings, IDifySettings } from "@/types"
import {
OPTIONS_KEY,
DEFAULT_OPTIONS,
AGENT_SETTINGS_KEY,
DEFAULT_AGENT_SETTINGS,
COZE_SETTINGS_KEY,
DEFAULT_COZE_SETTINGS,
DIFY_SETTINGS_KEY,
DEFAULT_DIFY_SETTINGS,
} from "./constant"
export const getOptionsFromLocal = (): {
options: IOptions
settings: IAgentSettings
cozeSettings: ICozeSettings
difySettings: IDifySettings
} => {
let data = {
options: DEFAULT_OPTIONS,
settings: DEFAULT_AGENT_SETTINGS,
cozeSettings: DEFAULT_COZE_SETTINGS,
difySettings: DEFAULT_DIFY_SETTINGS,
}
if (typeof window !== "undefined") {
const options = localStorage.getItem(OPTIONS_KEY)
if (options) {
data.options = JSON.parse(options)
}
const settings = localStorage.getItem(AGENT_SETTINGS_KEY)
if (settings) {
data.settings = JSON.parse(settings)
}
const cozeSettings = localStorage.getItem(COZE_SETTINGS_KEY)
if (cozeSettings) {
data.cozeSettings = JSON.parse(cozeSettings)
}
const difySettings = localStorage.getItem(DIFY_SETTINGS_KEY)
if (difySettings) {
data.difySettings = JSON.parse(difySettings)
}
}
return data
}
export const setOptionsToLocal = (options: IOptions) => {
if (typeof window !== "undefined") {
localStorage.setItem(OPTIONS_KEY, JSON.stringify(options))
}
}
export const setAgentSettingsToLocal = (settings: IAgentSettings) => {
if (typeof window !== "undefined") {
localStorage.setItem(AGENT_SETTINGS_KEY, JSON.stringify(settings))
}
}
export const setCozeSettingsToLocal = (settings: ICozeSettings) => {
if (typeof window !== "undefined") {
localStorage.setItem(COZE_SETTINGS_KEY, JSON.stringify(settings))
}
}
export const setDifySettingsToLocal = (settings: IDifySettings) => {
if (typeof window !== "undefined") {
localStorage.setItem(DIFY_SETTINGS_KEY, JSON.stringify(settings))
}
}
export const resetSettingsByKeys = (keys: string | string[]) => {
if (typeof window !== "undefined") {
if (Array.isArray(keys)) {
keys.forEach((key) => {
localStorage.removeItem(key)
})
} else {
localStorage.removeItem(keys)
}
}
}
export const resetCozeSettings = () => {
resetSettingsByKeys(COZE_SETTINGS_KEY)
}
export const resetDifySettings = () => {
resetSettingsByKeys(DIFY_SETTINGS_KEY)
}