|
|
||
|---|---|---|
| .claude | ||
| src | ||
| .eslintignore | ||
| .gitignore | ||
| .npmignore | ||
| .prettierrc.js | ||
| .stylelintrc.js | ||
| commitlint.config.js | ||
| husky.sh | ||
| jsconfig.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
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
设备调试
- 模拟器调试:使用AIoT-IDE内置模拟器
- 真机调试:通过USB或Wi-Fi连接小米手环10设备
- 日志查看:在开发工具中查看设备运行日志
⚙️ 配置说明
账户配置
在 src/common/accounts.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密钥,避免泄露
- 建议定期备份账户配置
- 删除不再使用的验证器账户
- 注意设备安全,避免他人访问