引入版本门禁: 服务端可控的客户端最低版本
机制: - 新建 version.py (APP_VERSION = 1.1.0) 作为单一真相源 - 新建 migration: nano_banana_app_config KV 表 初始化 min_client_version=1.0.0, download_url=飞书文档 - preflight 在 DB 表/字段校验通过后加一步版本校验: 读 app_config -> 对比本地 APP_VERSION 过旧返回 VERSION_TOO_OLD::<min>|<url> 前缀 fail-safe: 读不到配置/解析失败 -> 放行 (避免 DBA 误操作全体挂掉) - 新增 handle_version_too_old: 明文弹窗 + "打开下载页" 按钮 用 QDesktopServices.openUrl 调系统默认浏览器 (跨 Win/Mac) - image_generator 启动处按 is_version_error 分发: 版本过旧走明文升级提示, 其他错误保留原脱敏路径 Why: 以后想淘汰任一老版本,只需: UPDATE nano_banana_app_config SET config_value='X.Y.Z' WHERE config_key='min_client_version' 不再需要轮换 API Key (一次性核爆 -> 精细版本控制)
Showing
4 changed files
with
159 additions
and
4 deletions
version.py
0 → 100644
-
Please register or sign in to post a comment