2.0 KiB
2.0 KiB
修改记录:登录页历史账号选择
日期:2026-07-17
本次修改在登录页新增历史账号记录功能:登录成功的账号密码都会保存到本地历史列表,下次登录时可直接选择回填,无需再次输入。
1. 历史账号存储层
common/auth.uts
新增 AccountRecord 类型(account + password)及 3 个方法:
getAccountHistory():读取历史账号列表(最新登录的在前)。数据以 JSON 字符串存于本地存储 keyaccountHistory,解析失败时安全返回空数组。addAccountHistory(account, password):保存一条历史记录,同账号去重并置顶,最多保留 5 条(ACCOUNT_HISTORY_MAX)。removeAccountHistory(account):删除指定账号的历史记录。
2. 登录页 UI 与逻辑
pages/login/login.uvue
- 密码登录表单「remember password」下方新增「saved accounts (n)」折叠行,点击展开/收起历史账号列表(
historyOpen);无历史记录时整个入口不显示。 - 点击列表中某条账号:自动回填账号 + 密码,自动勾选「remember password」,并收起列表(
onPickHistory)。 - 每条记录右侧「✕」可单独删除该条历史(
onRemoveHistory,@tap.stop阻止触发选中)。 onLoad时调用getAccountHistory()加载历史列表(historyList)。- 密码登录成功后无条件调用
addAccountHistory()写入历史;原有单账号「记住密码」(savedAccount/savedPassword)逻辑保持不变。 - 新增样式:
.history-row/.history-text/.history-list/.history-item/.history-account/.history-del。
注意事项
- 历史账号的密码以明文存储在本地 storage(
accountHistory),与已有savedPassword相同,仅适合内部测试用途;如需对外发布,建议改为加密存储或仅保存账号。 - 历史列表上限 5 条,超出时最旧的记录被移除;清除应用数据后历史记录丢失。