/* * @Date: 2021-12-28 11:17:41 * @LastEditors: huangliping * @LastEditTime: 2021-12-28 11:39:42 */ import { Modal } from 'antd'; interface TemplateType { name: string; //模板名称 obj: {}; //模板对象 } export const TEMPLATE_KEY = 'moban'; /** * 设置值 * @param value * @param name */ export const setLocalStorage = (name: string, value: string) => { const list = JSON.parse(localStorage.getItem(TEMPLATE_KEY) || '[]') as Array; if (list.length > 0 && list.some((item: TemplateType) => item.name === name)) { Modal.confirm({ content: '该模板已存在,是否替换为当前模板?', onOk: () => { list.splice( list.findIndex((el) => el.name === name), 1, ); setTemplate(TEMPLATE_KEY, name, value, list); }, onCancel: () => {}, okText: '是', okType: 'danger', cancelText: '否', }); } else { setTemplate(TEMPLATE_KEY, name, value, list); } }; /** * 存模板 * @param TEMPLATE_KEY * @param value */ const setTemplate = (TEMPLATE_KEY: string, name: string, value: {}, list: Array) => { list.push({ name, obj: value, }); localStorage.removeItem(TEMPLATE_KEY); localStorage.setItem(TEMPLATE_KEY, JSON.stringify(list)); }; /** * 获取值 * @param TEMPLATE_KEY * @returns */ export const getLocalStorage = (key: string): Array => { return localStorage.getItem(key) ? JSON.parse(localStorage.getItem(key) || '') : []; };