AI 生成: 一个面向个人/团队/家庭的智能旅游规划工具,支持AI行程生成、地图标注与景点打卡记录。

This commit is contained in:
eeuse
2026-09-29 04:31:48 +08:00
commit 7e7bd600e4
8 changed files with 678 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
// 简单的本地账号系统:用户数据保存在 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;
})();