Skip to content

v0.3.0 — AI 预审 · AI 改角色和菜单 · MySQL 时间精度

Choose a tag to compare

@github-actions github-actions released this 23 Oct 04:38
· 24 commits to main since this release
e7221e2

这一版的主要内容

  • 审批 AI 预审:提交 / 重新提交后异步审,结论显示在审批详情顶部、只给审批人参考,不影响任何按钮;理由按查看人裁字段,表单内容按不可信输入处理,失败可见可重试(#119,#111 第 2 条)
  • AI 助手的写操作扩到角色和菜单:新建 · 改名 · 启停角色,增量授予 / 收回菜单权限(授予连上级、收回连下级),新建菜单、启停带权限码的菜单项;都要本人确认才执行(#141,收掉 #116)
  • MySQL 的时间列从秒升到微秒,已有的库靠迁移升上来;回收站「还原」不再误挂同一秒内移除的附件(#140,收掉 #132)
  • 菜单「按类型必填」的规则后端也拦了,原来只在前端(#141)

桌面客户端

fastapi-react-admin 的桌面客户端 —— 把 web 后台装进 Electron 外壳,
提供浏览器给不了的四件事:静默打印、本地硬件、凭据托管、自动更新。
后台本身(页面、权限、多页签)和浏览器版是同一份代码。

下哪个

平台 文件 说明
Windows 10/11 x64 admin-desktop-<版本>-setup.exe NSIS 安装向导,装到当前用户(%LOCALAPPDATA%\Programs),不需要管理员
macOS Apple Silicon ...-arm64.dmg M1 及以后
macOS Intel ...-x64.dmg(文件名不带 arm64)
Linux x64 ...-x86_64.AppImage chmod +x 后直接运行,不用装

.blockmap 与 latest*.yml 是自动更新用的,人不需要下载。

装完第一件事:填后端地址

首次启动会让你填服务器地址(如 https://admin.example.com)。它是运行期配置,
存在用户目录里 —— 所以同一个安装包可以连不同环境,不用为每个环境各打一版。

已知限制(都是刻意的取舍,不是漏做)

  • 🔴 所有平台的包都没有代码签名。
    • Windows:SmartScreen 会拦一次 →「更多信息」→「仍要运行」
    • macOS:Gatekeeper 会说**「已损坏,应移到废纸篓」**。这不是包坏了,是没有公证:
      右键 →「打开」,或者 xattr -dr com.apple.quarantine /Applications/Admin\ Desktop.app
    • Linux:AppImage 不需要签名
    • 想去掉这些提示:Windows 侧有面向开源项目的免费证书方案(SignPath Foundation),
      macOS 侧没有免费路,需要 Apple Developer Program($99/年)
  • 🔴 macOS 上的自动更新不工作(未签名)。electron-updater 要校验运行中应用的代码签名,
    拿不到就拒绝安装更新。Windows 与 Linux(AppImage) 的自动更新正常
  • 读卡器等本地硬件是桩模式:厂商的原生助手不在仓库里(那是现场的东西),
    所以这个包里没有。界面上相关功能会走模拟数据
  • 打印:Windows 上是真的静默打印;macOS/Linux 上打印链路能跑,但没有在真机标签机上验过

更新从哪来

默认读这个仓库的 Release。内网部署(客户出不去公网)可以在客户机的 config.json 里
填 updateUrl,指向自己的静态目录 —— 不用为内网单独打一版。


What's Changed

  • feat(workflow): AI 预审 —— 提交后异步审,结果只给审批人参考(#111 第 2 条 · #107 阶段 4) by @yilecoding in #119
  • fix(db): MySQL 的时间列从秒升到微秒(DATETIME → DATETIME(6),#132) by @yilecoding in #140
  • feat(ai): 角色 / 菜单的写操作工具 —— 新建 · 改名 · 启停 · 增删菜单权限(#116) by @yilecoding in #141
  • chore(release): 0.2.0 → 0.3.0 by @yilecoding in #142

Full Changelog: v0.2.0...v0.3.0