// 简单的本地账号系统:用户数据保存在 localStorage (function () { const USERS_KEY = 'tp_users'; const SESSION_KEY = 'tp_session'; function getUsers() { try { return JSON.parse(localStorage.getItem(USERS_KEY)) || {}; } catch (e) { return {}; } } function saveUsers(users) { localStorage.setItem(USERS_KEY, JSON.stringify(users)); } const Auth = { currentUser() { return localStorage.getItem(SESSION_KEY) || null; }, login(username, password) { const users = getUsers(); if (!users[username]) return { ok: false, msg: '用户不存在,请先注册' }; if (users[username] !== password) return { ok: false, msg: '密码错误' }; localStorage.setItem(SESSION_KEY, username); return { ok: true }; }, register(username, password) { if (!username || !password) return { ok: false, msg: '用户名和密码不能为空' }; const users = getUsers(); if (users[username]) return { ok: false, msg: '用户已存在' }; users[username] = password; saveUsers(users); localStorage.setItem(SESSION_KEY, username); return { ok: true }; }, logout() { localStorage.removeItem(SESSION_KEY); }, // 每个用户独立的数据命名空间 dataKey(name) { const u = this.currentUser(); return u ? `tp_data_${u}_${name}` : null; } }; window.Auth = Auth; })();