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) }