import { getStorage, removeStorage, setStorage } from "../storage"; export interface ShareConfig { title: string, imageUrl: string, query: string, share_ext : string //服务端需要拼接的参数 } const STORAGE_KEY = "shareConfig"; const DEFAULT_CONFIG: ShareConfig = { title: "", imageUrl: "", query: "", share_ext : "" } class ShareConfigModel { private static instance: ShareConfigModel | null = null; private data: ShareConfig; private constructor() { this.data = getStorage(STORAGE_KEY, DEFAULT_CONFIG) ?? DEFAULT_CONFIG; } static getInstance(): ShareConfigModel { if (!ShareConfigModel.instance) { ShareConfigModel.instance = new ShareConfigModel(); } return ShareConfigModel.instance; } get(): ShareConfig { return this.data; } save(config: ShareConfig): boolean { this.data = config; return setStorage(STORAGE_KEY, config); } clear(): boolean { this.data = { ...DEFAULT_CONFIG }; return removeStorage(STORAGE_KEY); } } export default ShareConfigModel;