docs:剥离 docs/res/ 为私人素材池,废止仓库根 Resources/ 假设
明确 docs/res/ 是项目维护者的私人原始素材池,与项目架构无关;项目 代码 / 构建脚本 / Xcode 工程都不感知它的存在,需要时从中拷一份到 项目按现代实践规划的位置。原 ADR-004「Resources/ 在仓库根 + Build Phase 引入」语义已崩塌(gamehall.zip / Images.xcassets / Res/ 均被挪入 docs/res/),修订为「项目内资源目录由各 Phase 按需落地」: 静态 Bundle 资源走 ylgamehall/Resources/、原生 Asset Catalog 走 ylgamehall/Assets.xcassets/、渠道注入产物走 ylgamehall/ChannelInjection/ (.gitignore + Scripts/inject_channel.sh 生成)、闭源 SDK 走 Vendor/。 - CLAUDE.md 原「Resources/ 目录约定」节改写为「docs/res/ 与项目 资源的关系」,禁止把 docs/res 当项目资源目录使用 - Design §7.0 整节重写为「项目资源目录约定」三小节(docs/res 与项目无关 / 项目内资源目录在 Phase 实施时按需落地 / 渠道注入 运行时路径) - Plan ADR-004 修订为「项目资源目录由各 Phase 按需落地」;ADR-002 / §2.2 / Phase 1.1.a-d / 1.5 同步调整为 docs/res → ylgamehall/Resources 的拷贝模型;Phase 1 任务清单细化渠道注入由 Scripts/inject_channel.sh 生成 - 物理迁移:仓库根 Resources/gamehall.zip / Images.xcassets / Res/ 全部 rename 到 docs/res/(git rename detection 自动识别)
This commit is contained in:
@@ -45,26 +45,24 @@ daoqi 仓库当前并存两条工作线:
|
||||
|
||||
---
|
||||
|
||||
## Resources/ 目录约定
|
||||
## docs/res/ 与项目资源的关系
|
||||
|
||||
仓库根目录的 `Resources/` 是新外壳运行所需的**项目方提供资源**统一入库位置,由打包脚本在 Build Phase 引入,**不**直接放进 Xcode 工程内的 `ylgamehall/` 源码目录。
|
||||
`docs/res/` 是**项目维护者的私人原始素材池**,**与项目架构无关**:
|
||||
|
||||
### 当前内容(2026-06-21)
|
||||
- 仅作为开发期可能用到的素材的随手存放点(H5 团队提供的 zip / 美术给的 png / 原 msext 沉淀的 mp3 / 历史 Asset Catalog 等)
|
||||
- **项目代码 / 构建脚本 / Xcode 工程都不感知它的存在**,不依赖它的目录结构,不引用它的任何文件
|
||||
- 内容、结构、命名随时可由维护者调整,不影响构建
|
||||
- git 跟踪它只是为了多机同步素材,而不是因为项目需要它
|
||||
|
||||
- **`gamehall.zip`** — 大厅 H5 资源包(≈ 11 MB)。启动时由 `ResourceUnzipper` 解压到 `Library/Caches/{gamedir}/`。当前文件为 **2023-12 旧版**,开发期足以跑通管道,**上线前必须由 H5 团队提供最新版替换**
|
||||
- **`Images.xcassets/`** — 原生层 Asset Catalog(AppIcon / LaunchImage / 微信/QQ/抖音分享平台图标)
|
||||
- **`Res/`** — 散落原生资源:
|
||||
- `sharelogo.png` — 分享缩略图(契约 §3.1【2】`friendsSharetypeUrlToptitleDescript` type=1 时使用)
|
||||
- `shake_sound_male.mp3` — 摇一摇音效(受 `SwitchShake` 开关控制)
|
||||
- `BackBT.png` / `Sistem_back.png` / `Default-568h@2x~iphone.png` / `Icon180.png` — 原 msext 兼容图,新外壳是否还需引用待 Phase 1 验证
|
||||
### 项目自己的资源目录由项目独立规划
|
||||
|
||||
### 后续约定
|
||||
**禁止把 `docs/res/` 当作项目的资源目录使用**(即不要在代码 / 脚本 / Build Phase 中直接引用 `docs/res/xxx`)。当某项工作需要某个素材时:
|
||||
|
||||
- 11 个**渠道注入目录**(`qiniudomain` / `gameid` / `channel` / `gamedir` / `gamestart` / `gameconfig` / `market` / `agent` / `appversion` / `other` / `appleconfig`)将放在 `Resources/ChannelInjection/` 子目录下,由 `Scripts/inject_channel.sh` 打包前按渠道动态生成
|
||||
- 任何新增需打入包的项目方资源(CDN 兜底图、本地音效、字体等)一律放 `Resources/`,**不**散落到 `ylgamehall/` 内
|
||||
- `Resources/` 内文件可入 git(与 `Vendor/` 同 — 为闭源资源 / 二进制锁定版本,保证多人 + CI 可复现);唯一例外是签名 / 敏感配置(已被 `.gitignore` 拦截)
|
||||
1. 从 `docs/res/` **拷贝一份**到项目按现代 iOS 实践规划的目标目录(如 `ylgamehall/Resources/`、`ylgamehall/Assets.xcassets/`、`Vendor/<SDK>/` 等)
|
||||
2. 由 Xcode 工程结构 / synchronized group / Build Phase 接管该素材的打包流程
|
||||
3. 后续维护与 `docs/res/` 不再有任何关联——`docs/res/` 那份是"原始备份",工程内那份是"在用版本"
|
||||
|
||||
详细资源加载流程见 `docs/H5-Native-Implementation-Design.md` §7 资源 & 渠道注入。
|
||||
**约定**:项目实际需要的资源目录结构由 Design / Plan 在各 Phase 实施时按需定义并落到工程内;不预先把"所有未来可能用到的资源"硬塞进某个固定 Resources 目录。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user