// 设备品牌管理 - 本地假数据 API(使用 localStorage 持久化) const STORAGE_KEY = 'EQUIPMENT_BRANDS'; function readStore() { try { const raw = localStorage.getItem(STORAGE_KEY); if (raw) { const parsed = JSON.parse(raw); if (Array.isArray(parsed)) return parsed; } } catch (e) { // ignore } // 初始化一些示例数据 const initial = [ { id: 1, name: '西门子', country: '德国', description: '工业自动化与电气工程品牌', createdAt: Date.now() - 86400000 * 10 }, { id: 2, name: '施耐德', country: '法国', description: '能源管理与自动化', createdAt: Date.now() - 86400000 * 7 }, { id: 3, name: '三菱电机', country: '日本', description: '电气与自动化设备', createdAt: Date.now() - 86400000 * 3 }, ]; localStorage.setItem(STORAGE_KEY, JSON.stringify(initial)); return initial; } function writeStore(list) { localStorage.setItem(STORAGE_KEY, JSON.stringify(list)); } function nextId(list) { const maxId = list.reduce((max, item) => Math.max(max, Number(item.id) || 0), 0); return maxId + 1; } export function getBrandPage(params = {}) { const { current = 1, size = 10, name } = params; const list = readStore(); let filtered = list; if (name) { const kw = String(name).trim(); filtered = filtered.filter((b) => (b.name && b.name.includes(kw)) || (b.country && b.country.includes(kw)) ); } const start = (current - 1) * size; const end = start + Number(size); const records = filtered.slice(start, end); return Promise.resolve({ code: 200, data: { total: filtered.length, records, }, msg: 'ok', }); } export function getBrandById(id) { const list = readStore(); const item = list.find((i) => String(i.id) === String(id)); return Promise.resolve({ code: 200, data: item || null, msg: 'ok' }); } export function addBrand(data) { const list = readStore(); const item = { ...data }; item.id = nextId(list); item.createdAt = Date.now(); list.unshift(item); writeStore(list); return Promise.resolve({ code: 200, data: item, msg: '新增成功' }); } export function editBrand(data) { const list = readStore(); const index = list.findIndex((i) => String(i.id) === String(data.id)); if (index !== -1) { list[index] = { ...list[index], ...data }; writeStore(list); return Promise.resolve({ code: 200, data: list[index], msg: '修改成功' }); } return Promise.resolve({ code: 404, data: null, msg: '未找到该品牌' }); } export function delBrand(idOrIds) { const list = readStore(); const ids = Array.isArray(idOrIds) ? idOrIds.map(String) : [String(idOrIds)]; const newList = list.filter((i) => !ids.includes(String(i.id))); writeStore(newList); return Promise.resolve({ code: 200, data: null, msg: '删除成功' }); }