125 lines
3.5 KiB
Markdown
125 lines
3.5 KiB
Markdown
# TOTP验证器 - 小米手环10版
|
||
|
||
一个基于小米Vela JS应用框架开发的TOTP(时间一次性密码)验证器,专为小米手环10设计,为用户提供便捷的双因素认证体验。
|
||
|
||
## 🎯 项目简介
|
||
|
||
本项目是一个运行在小米手环10上的验证器应用,基于小米Vela JS平台开发。支持生成TOTP和Steam验证码,通过简洁的界面和触感反馈,为用户在手环设备上提供便捷的二步验证体验。
|
||
|
||
## ✨ 功能特性
|
||
|
||
- 🔐 **多种验证码支持**:支持标准TOTP和Steam验证码算法
|
||
- ⏰ **实时倒计时**:弧形进度条显示验证码剩余有效时间
|
||
- 📱 **响应式界面**:针对小米手环10屏幕尺寸优化的用户界面
|
||
- 📳 **触感反馈**:验证码更新、页面切换时的震动提醒
|
||
- 🔄 **自动刷新**:验证码自动更新,无需手动操作
|
||
- 📊 **详情查看**:大字体显示验证码,方便查看
|
||
- ⚡ **性能优化**:针对小米手环10的电量和性能优化
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
- **开发框架**:小米Vela JS应用框架
|
||
- **开发工具**:AIoT-IDE(基于VS Code)
|
||
- **UI技术**:UX模板语言
|
||
- **运行时**:JavaScript Runtime
|
||
- **加密算法**: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算法实现
|
||
```
|
||
|
||
## 🚀 安装使用
|
||
|
||
### 环境要求
|
||
|
||
- **开发工具**:AIoT-IDE(推荐)或 VS Code + Vela插件
|
||
- **Node.js**:>= 8.10
|
||
- **构建工具**:aiot-toolkit >= 2.0.4
|
||
- **目标设备**:小米手环10
|
||
|
||
### 设备调试
|
||
|
||
1. **模拟器调试**:使用AIoT-IDE内置模拟器
|
||
2. **真机调试**:通过USB或Wi-Fi连接小米手环10设备
|
||
3. **日志查看**:在开发工具中查看设备运行日志
|
||
|
||
## ⚙️ 配置说明
|
||
|
||
### 账户配置
|
||
|
||
在 `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密钥,避免泄露
|
||
- 建议定期备份账户配置
|
||
- 删除不再使用的验证器账户
|
||
- 注意设备安全,避免他人访问 |