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

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