feat: 去除构建时版控变量 + 窗口标题动态版控 + 退出登录保留缓存 (0.0.24)
版控体系重构(13 文件):
- 移除 build.mjs --personal/--enterprise 参数和 EDITION 环境变量
- 统一安装包文件名:船长-HeiXiu-{os}-{版本号}-Setup.{ext}
- 简化 package.json 构建脚本,移除 :enterprise 变体
- scripts/*.mjs 不再接受 edition 参数
- 移除 shared/constants/app.ts 的 parseEdition()
窗口标题动态版控:
- 新格式:船长-HeiXiu-{os}-{版本号}(登录前)/ ·{版控} 后缀(登录后)
- 链路:AppProvider(account_type) → useEffect → appRuntime IPC → main process
- 移除 updater.ts 更新检查 API 的 edition 查询参数
本地存储生命周期修正:
- 退出登录不再自动清空缓存(user_id 隔离,重新登录命中缓存)
- clearUserStorage 添加 isOpen() 竞态守卫
- 移除 closeDatabase() 避免退出→重新登录后数据库不可用
- 手动「清理缓存」按钮保留
文档:
- CHANGELOG.md 新增 0.0.24 条目
- TODO.md 新增已完成项
This commit is contained in:
70
PROJECT.md
70
PROJECT.md
@@ -66,12 +66,13 @@
|
||||
│ └── main/ # 主进程核心模块
|
||||
│ │ ├── load-env.ts # .env.{mode} + .env.local 加载器
|
||||
│ │ ├── logger.ts # 日志核心:JSON Lines / 每日轮转 / 批量冲刷
|
||||
│ │ ├── log-ipc.ts # 渲染进程日志 → 主进程日志桥接
|
||||
│ │ ├── net-request.ts # Electron net.request 的 axios 风格封装
|
||||
│ │ ├── safe-storage-ipc.ts # safeStorage 加密/解密 IPC handler
|
||||
│ │ ├── storage-ipc.ts # 沙箱文件存储 IPC handler(heixiu-data/)
|
||||
│ │ ├── updater.ts # 自动更新:自定义 Provider + 平台 Updater
|
||||
│ │ ├── menu/index.ts # 系统菜单(macOS Edit / Win 无菜单)
|
||||
│ │ ├── ipc/ # IPC handler 集合
|
||||
│ │ │ ├── log-ipc.ts # 渲染进程日志 → 主进程日志桥接
|
||||
│ │ │ ├── safe-storage-ipc.ts # safeStorage 加密/解密 IPC handler
|
||||
│ │ │ └── storage-ipc.ts # 沙箱文件存储 IPC handler(heixiu-data/)
|
||||
│ │ └── utils/ # 平台判断 / 图标路径
|
||||
│ └── preload/ # 预加载脚本(contextBridge 桥接层)
|
||||
│ ├── device.ts # 硬件指纹采集(wmic/powershell | ioreg/sysctl)
|
||||
@@ -85,32 +86,39 @@
|
||||
│ │ │ ├── AppProvider.tsx # 认证状态(login/logout/Token 刷新)
|
||||
│ │ │ ├── ThemeProvider.tsx # 亮/暗主题切换 + antd ConfigProvider
|
||||
│ │ │ └── SettingsProvider.tsx # 本地持久化设置(存储路径等)
|
||||
│ │ ├── shell/ # 应用外壳
|
||||
│ │ ├── frame/ # 应用框架(外层结构 + 页面调度)
|
||||
│ │ │ ├── Layout.tsx # 全高 flex 列布局壳
|
||||
│ │ │ ├── PageDispatcher.tsx # 通用页面调度器(Modal/Drawer/FloatingPanel)
|
||||
│ │ │ └── navbar/ # 导航栏(nav-config → NavBar → NavItem)
|
||||
│ │ └── ui/ # 通用 UI 原子组件
|
||||
│ │ ├── FloatingPanel.tsx # 可拖拽非模态浮动面板
|
||||
│ │ └── LegalTextModal.tsx # 法律/协议文本 Modal
|
||||
│ │ ├── LegalTextModal.tsx # 法律/协议文本 Modal
|
||||
│ │ ├── FormField.tsx # 通用表单字段渲染器(数据驱动,从 auth/components 提升)
|
||||
│ │ └── types.ts # FieldConfig / FieldRule / InputType 通用类型
|
||||
│ ├── hooks/ # 自定义 Hooks
|
||||
│ │ ├── use-async.ts # 通用异步基础设施(竞态/取消/门控)
|
||||
│ │ ├── use-api.ts # 业务 API Hooks(Banner/模型/任务/账户/财务)
|
||||
│ │ └── use-updater.ts # 更新状态机(单例 IPC 监听)
|
||||
│ ├── infrastructure/ # 基础设施层
|
||||
│ │ └── storage/ # 本地加密数据库(sql.js + safeStorage + IPC)
|
||||
│ │ ├── db-core.ts # sql.js WASM 初始化 + 通用 CRUD
|
||||
│ │ ├── db-encrypt.ts # 序列化 → safeStorage 加密 → IPC 写磁盘
|
||||
│ │ ├── schema.ts # 6 张业务表 DDL(含索引)
|
||||
│ │ ├── task-store.ts # 任务记录本地 CRUD
|
||||
│ │ ├── order-store.ts # 订单记录本地 CRUD(充值 + VIP)
|
||||
│ │ ├── param-store.ts # 参数历史快照(每模型最多 20 条)
|
||||
│ │ ├── media-store.ts # 媒体缓存元数据管理
|
||||
│ │ ├── media-loader.ts # 媒体下载与三级缓存策略
|
||||
│ │ ├── settings-store.ts # 应用设置 key-value 存储
|
||||
│ │ ├── sync-manager.ts # 分页同步游标管理
|
||||
│ │ ├── user-scope.ts # 用户作用域隔离(JWT user_id)
|
||||
│ │ └── storage/ # 本地加密数据库(core/ + stores/ + services/)
|
||||
│ │ ├── index.ts # 统一入口:init/clear/stats + 全部 re-export
|
||||
│ │ ├── ipc-file.ts # 渲染进程端文件操作桥接
|
||||
│ │ └── index.ts # 统一入口:init/clear/stats
|
||||
│ │ ├── core/ # 数据库核心(4 文件)
|
||||
│ │ │ ├── db-core.ts # sql.js WASM 初始化 + 通用 CRUD
|
||||
│ │ │ ├── db-encrypt.ts # 序列化 → safeStorage 加密 → IPC 写磁盘
|
||||
│ │ │ ├── schema.ts # 6 张业务表 DDL(含索引)
|
||||
│ │ │ └── types.ts # 实体类型定义
|
||||
│ │ ├── stores/ # 实体 CRUD Store(5 文件)
|
||||
│ │ │ ├── task-store.ts # 任务记录
|
||||
│ │ │ ├── order-store.ts # 订单记录(充值 + VIP)
|
||||
│ │ │ ├── param-store.ts # 参数历史快照
|
||||
│ │ │ ├── media-store.ts # 媒体缓存元数据
|
||||
│ │ │ └── settings-store.ts # 应用设置 key-value
|
||||
│ │ └── services/ # 高级服务(4 文件)
|
||||
│ │ ├── media-loader.ts # 媒体下载与三级缓存
|
||||
│ │ ├── sync-manager.ts # 分页同步游标
|
||||
│ │ ├── data-sync.ts # 数据同步辅助(从 settings/sections 归位)
|
||||
│ │ └── user-scope.ts # 用户作用域隔离(JWT user_id)
|
||||
│ ├── pages/ # 业务页面(按功能模块组织)
|
||||
│ │ ├── auth/ # 认证模块
|
||||
│ │ │ ├── index.tsx # LoginPage Modal(登录/注册 Tabs)
|
||||
@@ -123,7 +131,13 @@
|
||||
│ │ │ ├── HomeContext.tsx # 共享状态(选中模型/任务/分页)
|
||||
│ │ │ ├── panels/ # 三列面板容器(Left/Center/Right)
|
||||
│ │ │ ├── features/ # 功能模块(Banner/ModelSelector/ModelInputForm/TaskHistory/OutputPreview)
|
||||
│ │ │ ├── controls/ # Widget 控件体系(12 种 Qt→React 映射 + WIDGET_MAP)
|
||||
│ │ │ ├── controls/ # Widget 控件体系(6 种 Qt→React 映射 + WIDGET_MAP)
|
||||
│ │ │ │ ├── types.ts # WidgetProps 统一接口
|
||||
│ │ │ │ ├── index.ts # WIDGET_MAP 注册表
|
||||
│ │ │ │ ├── simple-widgets.tsx # 6 个简单控件(Checkbox/LineInput/TextInput/ComboBox/SpinBox/DoubleSpinBox)
|
||||
│ │ │ │ ├── upload-widgets.tsx # 单文件上传(ImageInput/VideoInput,共享 enable_switch)
|
||||
│ │ │ │ ├── list-upload-widgets.tsx # 多文件拖拽上传(ImageListInput/AudioListInput)
|
||||
│ │ │ │ └── SeedanceContent.tsx # 复合内容编排
|
||||
│ │ │ └── hooks/ # useModelUI(param_schema → UIFieldConfig)
|
||||
│ │ ├── panels/ # NavBar 触发的功能面板页
|
||||
│ │ │ ├── AccountInfo.tsx # 账户信息(用户/积分/套餐/统计)
|
||||
@@ -158,18 +172,14 @@
|
||||
│ │ ├── transitions.css # 主题切换过渡(View Transitions API + CSS fallback)
|
||||
│ │ ├── base.css # 全局重置(盒模型/滚动条/聚焦环/拖拽区域)
|
||||
│ │ └── globals.css # 入口文件(按序导入以上 CSS)
|
||||
│ └── utils/ # 渲染进程工具函数
|
||||
│ ├── event-bus.ts # 事件总线(on/off/emit + 日志审计钩子)
|
||||
│ ├── ipc.ts # IPC 安全守卫(hasIpc → safeIpcOn/send/invoke)
|
||||
│ ├── logger.ts # 渲染进程日志(IPC 转发 | DEV 控制台)
|
||||
│ ├── platform.ts # 平台判定(isMacOS/isWindows/isLinux)
|
||||
│ ├── device.ts # 设备 ID 生成与持久化(UUID v4)
|
||||
│ ├── safe-storage.ts # 加密 localStorage 封装(safeStorage 桥接)
|
||||
│ ├── logo.ts # Logo 资产 URL 解析
|
||||
│ ├── pricing.ts # 成本计算(Python 六种定价模式移植)
|
||||
│ └── utils/ # 渲染进程工具函数(7 文件,已按功能合并)
|
||||
│ ├── env.ts # 运行时环境:平台检测 + 设备 ID(← platform + device)
|
||||
│ ├── bus.ts # 通信层:事件总线 + IPC 守卫 + 日志(← event-bus + ipc + logger)
|
||||
│ ├── display.ts # 展示/格式化:金额、日期、Logo、Nullable<T>(← display + logo + type)
|
||||
│ ├── enum-resolver.ts # 枚举外观模式(7 模块标签/颜色统一解析)
|
||||
│ ├── display.ts # 金额/日期格式化
|
||||
│ └── type.ts # Nullable<T> 类型别名
|
||||
│ ├── pricing.ts # 成本计算(Python 六种定价模式移植)
|
||||
│ ├── safe-storage.ts # 加密 localStorage 封装(safeStorage 桥接)
|
||||
│ └── media-upload.ts # 媒体上传共享工具(← controls/media-upload-utils)
|
||||
├── shared/ # 主进程 & 渲染进程共享
|
||||
│ ├── constants/
|
||||
│ │ ├── app.ts # 应用名称/版本类型/窗口标题
|
||||
|
||||
Reference in New Issue
Block a user