/* =================================== 简记memo - 项目公共配置 =================================== */ const SITE_CONFIG = { path: '/static/images/logo.png', name: '简记memo', subtitle: '让记录更简单', slogan: '记录,是对抗遗忘的方式。\n生活的美好藏在点滴细节里,\n用简记memo,写下时光的足迹。', version: 'v1.0.0', copyright: `© ${new Date().getFullYear()} 简记memo. All rights reserved.`, email: 'memo@miaoall.cn', wechat: { name: '孙三苗', account: 'sunsanmiao' }, defaultAvatar: '/static/avatar/default.png', brand: { primaryColor: '#4F9EDE', secondaryColor: '#3A8BC9', accentColor: '#67B8E3', gradient: 'linear-gradient(135deg, #4F9EDE 0%, #3A8BC9 100%)', lightGradient: 'linear-gradient(135deg, #67B8E3 0%, #4F9EDE 100%)' } }; const APP_INFO = { name: '简记memo', slogan: '简洁高效的个人事务管理工具', description: '集待办任务、账单记录、心情日记于一体的个人事务管理工具', features: [ { icon: '📅', text: '日历管理' }, { icon: '✅', text: '待办事项' }, { icon: '💰', text: '账单记录' }, { icon: '😊', text: '心情日记' } ], beian: { icp: '京ICP备2026013204号', icpLink: 'https://beian.miit.gov.cn/', police: '京公网安备11011402055644号', policeLink: 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=京公网安备11011402055644号' } }; function renderSiteFooter(containerId) { const container = document.getElementById(containerId); if (!container) return; container.innerHTML = `
`; } function renderSimpleFooter(containerId) { const container = document.getElementById(containerId); if (!container) return; container.innerHTML = ` `; } function getAppName() { return SITE_CONFIG.name; } function getLogoPath() { return SITE_CONFIG.path; } function getBrandGradient() { return SITE_CONFIG.brand.gradient; } const UserStore = { KEY: 'user_info', set(data) { localStorage.setItem(this.KEY, JSON.stringify(data)); }, get() { const data = localStorage.getItem(this.KEY); return data ? JSON.parse(data) : null; }, clear() { localStorage.removeItem(this.KEY); }, setToken(token) { const user = this.get() || {}; user.token = token; this.set(user); }, getToken() { const user = this.get(); return user ? user.token : null; }, setUserInfo(info) { const user = this.get() || {}; const mergedUser = { ...user, ...info }; this.set(mergedUser); }, getUserInfo() { return this.get(); } };