Ferry-200 5507d85142 添加开发文档和使用手册 9 months ago
..
.vscode 13877f0a76 把项目移至 Flutter 目录下 10 months ago
android 13877f0a76 把项目移至 Flutter 目录下 10 months ago
assets 13877f0a76 把项目移至 Flutter 目录下 10 months ago
ios c585a76448 iOS: 声明摄像头权限、把应用名改成 MaxKey 9 months ago
lib c3ca555eab 去除预设主机地址的端口号,以免误导用户以为需要指定端口 9 months ago
windows 13877f0a76 把项目移至 Flutter 目录下 10 months ago
.metadata 13877f0a76 把项目移至 Flutter 目录下 10 months ago
README.md 5507d85142 添加开发文档和使用手册 9 months ago
analysis_options.yaml 13877f0a76 把项目移至 Flutter 目录下 10 months ago
l10n.yaml 13877f0a76 把项目移至 Flutter 目录下 10 months ago
pubspec.lock 13877f0a76 把项目移至 Flutter 目录下 10 months ago
pubspec.yaml 13877f0a76 把项目移至 Flutter 目录下 10 months ago

README.md

maxkey_flutter

MaxKey APP 客户端 Flutter 开发项目

功能

  • 账密登录
  • 保留登录状态
  • 账号信息
  • 扫码登录
  • 登出
  • TOTP 录入、展示和编辑
  • TOTP 与账号绑定的持久化
  • 检测 token 是否有效
  • 多语言
  • 切换日夜间模式
  • 指定主机和测试链接
  • 查看日志

编译帮助

  1. 安装 Flutter 开发环境 Install | Flutter。本项目使用 Flutter 3.24.1
  2. (可选)自定义主机地址。在 [lib/persistent.dart](lib/persistent.dart) 中修改 MaxKeyPersistent_DEFAULT_HOST
  3. 终端运行命令:
    1. 获取依赖库:flutter pub get
    2. 生成多语言文件:flutter gen-l10n
    3. 构建 Release(Android):flutter build apk。详见 Build and release an Android app
    4. 构建 Release(iOS)。详见 Build and release an iOS app

使用到的 Package

dio: 网络请求 go_router: 路由管理 mobile_scanner: 扫码 shared_preferences: 持久化 auth_totp: TOTP logger: 日志

目录结构

  • lib
    • l10n // 多语言
    • app_en.arb // 英语
    • app_zh.arb // 中文
    • maxkey // MaxKey API
    • maxkey.dart // MaxKey API 单例
    • services // MaxKey API(参照 maxkey-web-app/src/app/service
    • pages // 页面
    • app_color_scheme.dart // 从 MaxKey 图标生成的主题色
    • main.dart
    • persistent.dart // 持久化
    • repeat_tween_animation_builder.dart // 动画组件
    • totp.dart // TOTP 相关逻辑
    • utils.dart // Logger, route path, str extension