2.7 KiB
2.7 KiB
进展追踪 (Progress)
1. 已完成的功能 (What Works)
- 项目规划:
- 核心需求定义 (
projectbrief.md
) - 产品背景和目标确立 (
productContext.md
) - 技术栈选型 (
techContext.md
) - 系统架构设计 (
systemPatterns.md
) - 初始化计划制定 (
activeContext.md
)
- 核心需求定义 (
2. 当前状态
- 阶段: 功能完善。
- 描述: 所有核心功能,包括 TOTP 管理和两种格式(JSON, TXT)的数据导入/导出,均已完成。
3. 未完成的功能 (What's Left to Build)
阶段一: 基础架构
- 初始化 Vite + React + TypeScript 项目。
- 安装所有 npm 依赖项。
- 配置 Tailwind CSS。
- 建立基本的文件夹结构 (
src/pages
,src/components
,src/services
,src/hooks
,src/types
)。 - 设置 IndexedDB 服务 (
db.ts
)。 - 设置基础路由 (
react-router-dom
)。
阶段二:核心 TOTP 功能
- 数据录入:
- 创建 "添加新账户" 页面和表单。
- 实现表单验证。
- 将新账户数据存入 IndexedDB。
- 数据展示:
- 从 IndexedDB 读取所有账户。
- 在首页以卡片形式展示每个账户。
- 实时功能:
- 计算并显示实时 TOTP 密码。
- 实现密码自动刷新的倒计时进度条。
- 实现一键复制密码功能。
- 数据删除:
- 添加删除账户的按钮。
- 实现从 IndexedDB 中删除指定账户的功能。
阶段三: 导入/导出功能
- 导出:
- 实现将所有数据导出为 JSON 文件的功能。
- 实现将所有数据导出为
rsc/2fa
兼容的文本格式的功能。
- 导入:
- 实现通过上传/粘贴 JSON 文件来导入数据的功能。
- 实现通过上传/粘贴
rsc/2fa
格式文本来导入数据的功能。 - 处理导入时的冲突(例如,覆盖或合并)。
4. 已知问题 (Known Issues)
- 尚无。
5. 决策日志 (Decision Log)
- 2025-06-06:
- 决定使用 Vite + React + TypeScript + Tailwind CSS 技术栈。
- 决定支持 JSON 和
rsc/2fa
两种导入/导出格式。 - 决定使用
idb
和otpauth
作为核心库。
阶段四: URI 支持
- URI 解析:
- 实现一个可以解析
otpauth://
URI 的函数。 - 提取所有相关参数 (secret, issuer, algorithm, digits, period)。
- 实现一个可以解析
- 表单集成:
- 在添加账户表单中,允许用户粘贴 URI。
- 自动填充表单字段。
- 导入/导出扩展:
- 实现导出为多行
otpauth://
URI 的文本文件。 - 实现从多行
otpauth://
URI 的文本文件导入。
- 实现导出为多行
- 测试:
- (手动) 已完成核心功能验证。