# v6.3.15 功能优化版（保留 v6.3.12 热更新）

本版本以用户提供的：
`QQ频道运营台_v6.3.12_热更新彻底修复客户端.zip`
作为完整底座。

## 保留的 v6.3.12 热更新
以下文件保持 v6.3.12 原文件字节级不变：
- app/updater.py
- make_update_package.py
- bootstrap.py
- app/licensing.py
- app/license_public_key.py
- 07_PACKAGE_UPDATE.bat
- BUILD_EXE.bat
- build_exe.ps1

没有移植 v6.3.14/v6.3.15 后续对 updater.py 的黑框、进程树等修改。

## 移植到 v6.3.15 的功能

### 1. 界面/素材页优化
- 修复扫码授权窗口部分控件被挤压、显示不全。
- 优化功能按钮点击反馈，减少短暂卡顿体感。
- 公共素材包关联目录扫描改为页面先显示、后台同步。

### 2. 未分类素材优化
- 未分类文件夹可直接批量删除素材。
- 未分类文件夹可清空。
- 未分类中的电脑关联目录可直接解除关联。
- 可选择未分类/普通分类直接解除其中的多个电脑文件夹关联。
- 清空未分类时，素材库副本会清理；电脑关联目录只解除关联，不删除电脑目录原文件。
- 单独执行“批量删除素材”时，如包含电脑关联素材，会明确提示删除对应原文件。

### 3. 所有素材随机打乱发布
- 系统设置新增“所有素材随机打乱发布”开关。
- 默认关闭，升级后不改变原用户发布逻辑。
- 开启后随机打乱当前计划可用素材的发布顺序。
- 保留全局素材预占，排队中/发布中的任务不会拿到同一素材。
- 未开启循环时，只在尚未使用过的素材中随机。
- 开启循环时，优先使用 allocation_count 最少的一轮，再随机这一轮内部顺序，保持循环公平性。

### 4. 公告弹窗优化
- 公告检查改为全局运行，不要求停留在数据仪表盘。
- 服务端每次发布或更新一条有效公告，客户端弹窗提醒一次。
- 使用 updated_at + 标题 + 正文计算本地 SHA-256 指纹，同一公告不会重复弹窗。
- 服务端重新发布同正文但更新时间变化时，会再次提醒。
- 保留原 v6.3.12 licensing.py 的公告签名/缓存验证机制。

## 版本
- VERSION.txt：v6.3.15
- desktop.py fallback：v6.3.15
