120 lines
2.8 KiB
Markdown
120 lines
2.8 KiB
Markdown
# MFA Authenticator
|
|
|
|
一个基于 HarmonyOS 的多因素身份验证器应用,使用 Apple Design 风格设计。
|
|
|
|
## 功能特性
|
|
|
|
- ✅ **TOTP 验证码生成**: 基于 RFC 6238 标准的时间一次性密码算法
|
|
- ✅ **30秒自动刷新**: 实时显示剩余时间和进度
|
|
- ✅ **账户管理**: 添加、编辑、删除账户
|
|
- ✅ **搜索功能**: 快速查找账户
|
|
- ✅ **一键复制**: 点击卡片即可复制验证码
|
|
- ✅ **本地存储**: 使用 Preferences API 安全存储
|
|
- ✅ **暗色模式**: 自动适配系统主题
|
|
- ✅ **简洁 UI**: Apple Design 风格,清爽高效
|
|
|
|
## 技术栈
|
|
|
|
- **开发框架**: ArkTS + ArkUI
|
|
- **平台**: HarmonyOS 6.0.0
|
|
- **架构模式**: MVVM
|
|
- **加密算法**: HMAC-SHA1/SHA256
|
|
- **存储方案**: Preferences API
|
|
|
|
## 项目结构
|
|
|
|
```
|
|
entry/src/main/ets/
|
|
├── common/
|
|
│ ├── constants/ # 常量定义
|
|
│ └── utils/ # 工具类(TOTP、Base32、存储)
|
|
├── model/ # 数据模型
|
|
├── viewmodel/ # 业务逻辑
|
|
├── view/
|
|
│ └── components/ # 可复用组件
|
|
└── pages/ # 页面
|
|
├── AccountListPage.ets # 主页面
|
|
├── AddAccountPage.ets # 添加账户
|
|
└── AccountDetailPage.ets # 账户详情
|
|
```
|
|
|
|
## 快速开始
|
|
|
|
### 环境要求
|
|
|
|
- DevEco Studio 5.0+
|
|
- HarmonyOS SDK 6.0.0+
|
|
|
|
### 安装步骤
|
|
|
|
1. 使用 DevEco Studio 打开项目
|
|
2. 等待依赖安装完成
|
|
3. 连接 HarmonyOS 设备或启动模拟器
|
|
4. 点击运行按钮
|
|
|
|
### 使用说明
|
|
|
|
1. **添加账户**
|
|
- 点击右上角 "+" 按钮
|
|
- 选择"手动输入"标签
|
|
- 填写发行者、账户名和密钥(Base32 格式)
|
|
- 点击"保存"
|
|
|
|
2. **查看验证码**
|
|
- 主页面显示所有账户和对应的验证码
|
|
- 验证码每 30 秒自动刷新
|
|
- 右侧圆环显示倒计时进度
|
|
|
|
3. **复制验证码**
|
|
- 点击账户卡片即可复制验证码到剪贴板
|
|
|
|
4. **管理账户**
|
|
- 长按账户卡片显示操作菜单
|
|
- 可选择"编辑"或"删除"
|
|
|
|
## 测试账户
|
|
|
|
可以使用以下测试密钥进行测试:
|
|
|
|
```
|
|
发行者: Test
|
|
账户: test@example.com
|
|
密钥: JBSWY3DPEHPK3PXP
|
|
```
|
|
|
|
## 设计规范
|
|
|
|
### 配色方案
|
|
- 主色: SF Blue (#007AFF)
|
|
- 背景: 浅灰 (#F2F2F7) / 深色 (#000000)
|
|
- 卡片: 白色 (#FFFFFF) / 深色卡片 (#1C1C1E)
|
|
|
|
### UI 元素
|
|
- 圆角: 12-16vp
|
|
- 验证码字体: 36fp 等宽字体
|
|
- 间距系统: 8/12/16/24vp
|
|
|
|
## 安全说明
|
|
|
|
- 所有账户数据仅存储在本地设备
|
|
- 使用 Preferences API 进行持久化存储
|
|
- 密钥采用 Base32 编码存储
|
|
- 不会上传任何数据到云端
|
|
|
|
## 后续计划
|
|
|
|
- [ ] 扫码功能实现
|
|
- [ ] 数据加密存储
|
|
- [ ] 应用锁功能
|
|
- [ ] 备份与恢复
|
|
- [ ] 更多算法支持(SHA256, SHA512)
|
|
- [ ] 批量导入导出
|
|
|
|
## 许可证
|
|
|
|
MIT License
|
|
|
|
## 贡献
|
|
|
|
欢迎提交 Issue 和 Pull Request!
|