MiBand-TOTP/README.md

202 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TOTP验证器 - 小米手环10版
一个专为小米手环10设计的TOTP时间一次性密码验证器应用支持生成双因素认证码。
## 🎯 项目简介
本项目是一个运行在小米手环10上的验证器应用支持生成TOTP和Steam验证码。通过简洁的界面和触感反馈为用户提供便捷的二步验证体验。
## ✨ 功能特性
- 🔐 **多种验证码支持**支持标准TOTP和Steam验证码算法
-**实时倒计时**:弧形进度条显示验证码剩余有效时间
- 📱 **响应式界面**:针对手环屏幕尺寸优化的用户界面
- 📳 **触感反馈**:验证码更新、页面切换时的震动提醒
- 🔄 **自动刷新**:验证码自动更新,无需手动操作
- 📊 **详情查看**:大字体显示验证码,方便查看
-**性能优化**:针对手环设备的电量和性能优化
## 🛠️ 技术栈
- **开发框架**:快应用 (QuickApp)
- **UI技术**UX模板语言
- **加密算法**HMAC-SHA1, Base32编码
- **依赖库**crypto-js
- **构建工具**aiot-toolkit
## 📦 项目结构
```
src/
├── app.ux # 应用入口文件
├── manifest.json # 应用配置清单
├── common/
│ ├── accounts.json # 账户配置文件
│ └── logo.png # 应用图标
├── pages/
│ └── index/
│ └── index.ux # 主页面
└── utils/
└── totp.js # TOTP算法实现
```
## 🚀 安装使用
### 环境要求
- Node.js >= 8.10
- aiot-toolkit >= 2.0.4
- 小米手环10设备
### 开发环境搭建
1. **克隆项目**
```bash
git clone <repository-url>
cd totp-authenticator
```
2. **安装依赖**
```bash
npm install
```
3. **开发调试**
```bash
npm start
```
4. **构建发布**
```bash
npm run build
npm run release
```
## ⚙️ 配置说明
### 账户配置
`src/common/accounts.json` 中配置验证器账户:
```json
{
"accounts": [
{
"name": "服务名称",
"username": "用户名",
"secret": "Base32密钥",
"enabled": true,
"type": "totp"
}
],
"settings": {
"title": "TOTP验证器",
"refreshInterval": 20,
"maxDisplayAccounts": 10
}
}
```
### 支持的验证码类型
- `totp`: 标准TOTP验证码6位数字
- `steam`: Steam验证码5位字符
### 密钥格式
- 支持Base32编码的密钥
- 支持40位十六进制密钥
- 密钥示例:`JBSWY3DPEHPK3PXP`
## 🎨 界面说明
### 主界面
- 显示所有启用的验证器账户
- 实时显示验证码和剩余时间
- 弧形进度条指示时间进度
### 详情页面
- 大字体显示验证码(分行显示更清晰)
- Steam验证码单行显示
- 返回按钮和时间提醒
### 颜色系统
- 🟢 绿色:正常状态(时间充足)
- 🟡 橙色警告状态时间不足10秒
- 🔴 红色紧急状态时间不足5秒
## 📱 交互说明
- **点击账户卡片**:进入验证码详情页面
- **点击返回按钮**:返回主界面
- **验证码更新**:自动震动提醒
- **页面切换**:轻微震动反馈
## 🔐 安全须知
- 请妥善保管TOTP密钥避免泄露
- 建议定期备份账户配置
- 删除不再使用的验证器账户
- 注意设备安全,避免他人访问
## 🛠️ 开发说明
### 代码规范
```bash
# 代码检查
npm run lint
# 代码格式化
prettier --write "src/**/*.{ux,js}"
```
### 性能优化
- 页面隐藏时停止定时器以节省电量
- 使用节能模式减少不必要的计算
- 优化动画性能,避免卡顿
### 调试技巧
- 使用 `console.log` 进行调试
- 通过 `aiot start --watch` 实现热重载
- 检查手环设备日志排查问题
## 📋 待办事项
- [ ] 添加账户管理功能
- [ ] 支持二维码扫描添加账户
- [ ] 添加数据同步功能
- [ ] 支持更多验证码算法
- [ ] 优化电量消耗
## 🤝 贡献指南
1. Fork 本项目
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 开启 Pull Request
## 📄 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。
## 🙏 致谢
- 感谢小米开发者社区提供的技术支持
- 感谢快应用框架团队
- 感谢所有贡献者和测试用户
## 📞 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发起 Pull Request
- 联系项目维护者
---
⌚ **让验证更简单,让手环更智能!**