- 更新 README 文档,增加项目简介、功能特性、技术栈等内容 - 优化 .gitignore 文件,添加更多需要忽略的文件和目录 - 调整项目结构,为开发环境搭建提供更详细的说明 |
||
|---|---|---|
| .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
- 下载AIoT-IDE开发工具
- 或使用VS Code并安装Vela相关插件
-
克隆项目
git clone <repository-url>
cd totp-authenticator
- 安装依赖
npm install
- 开发调试
# 启动开发服务器(支持热重载)
npm start
# 或使用AIoT-IDE的调试功能
# 连接设备进行真机调试
- 构建发布
# 构建项目
npm run build
# 生成发布包
npm run release
设备调试
- 模拟器调试:使用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密钥,避免泄露
- 建议定期备份账户配置
- 删除不再使用的验证器账户
- 注意设备安全,避免他人访问
🛠️ 开发说明
代码规范
# 代码检查
npm run lint
# 代码格式化
prettier --write "src/**/*.{ux,js}"
性能优化
- 页面隐藏时停止定时器以节省电量
- 使用节能模式减少不必要的计算
- 优化动画性能,避免卡顿
调试技巧
- 使用
console.log进行调试 - 通过
aiot start --watch实现热重载 - 检查小米手环10设备日志排查问题
📋 待办事项
- 添加账户管理功能
- 支持二维码扫描添加账户
- 添加数据同步功能
- 支持更多验证码算法
- 优化电量消耗
🤝 贡献指南
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
🙏 致谢
- 感谢小米开发者社区提供的技术支持
- 感谢快应用框架团队
- 感谢所有贡献者和测试用户
📞 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发起 Pull Request
- 联系项目维护者
⌚ 让验证更简单,让手环更智能!