# 配置发布说明
> 文档版本：v1.0
> 最后更新：2026-04-02 08:28:05


本文档说明当前项目如何把 `event/*.json` 样例配置同步到服务器。

注意：

- 这里描述的是样例配置发布链，用于本地开发、模拟器测试、样例玩法联调。
- 正式前后端联调时，小程序应以 backend `launch` 返回的 `manifestUrl` 为准，而不是直接把根目录 `event/*.json` 当作正式配置入口。

## 1. 当前发布链路

当前样例配置会发布到 OSS，供样例玩法和调试链路使用：

- `classic-sequential`
  - 远端对象：`gotomars/event/classic-sequential.json`
  - 访问地址：`https://oss-mbh5.colormaprun.com/gotomars/event/classic-sequential.json`
- `score-o`
  - 远端对象：`gotomars/event/score-o.json`
  - 访问地址：`https://oss-mbh5.colormaprun.com/gotomars/event/score-o.json`

对应样例加载入口见：

- [map.ts](D:/dev/cmr-mini/miniprogram/pages/map/map.ts)

## 2. 仓库内已有上传能力

项目根目录已有 OSS 上传脚本：

- [oss-html.ps1](D:/dev/cmr-mini/oss-html.ps1)

该脚本封装了 `tools/ossutil.exe`，默认 bucket 为：

- `oss://color-map-html`

依赖前提：

- 本机存在 [ossutil.exe](D:/dev/cmr-mini/tools/ossutil.exe)
- 本机存在 `~/.ossutilconfig`

## 3. 推荐发布命令

项目根目录新增了专门的配置发布脚本：

- [publish-event-config.ps1](D:/dev/cmr-mini/publish-event-config.ps1)

它会在上传前执行这些检查：

- 本地配置文件是否存在
- JSON 是否可解析
- 是否包含 `schemaVersion`
- 是否包含 `game`
- 是否包含 `game.mode`

### 发布全部玩法配置

```powershell
.\publish-event-config.ps1 all
```

### 只发布顺序打点配置

```powershell
.\publish-event-config.ps1 classic-sequential
```

### 只发布积分赛配置

```powershell
.\publish-event-config.ps1 score-o
```

### 仅检查，不上传

```powershell
.\publish-event-config.ps1 all -DryRun
```

## 4. npm 快捷命令

也可以使用：

```powershell
npm run publish:config
npm run publish:config:classic
npm run publish:config:score-o
npm run publish:config:dry-run
```

## 5. 当前默认映射关系

| 本地文件 | 远端对象 | 说明 |
| --- | --- | --- |
| `event/classic-sequential.json` | `gotomars/event/classic-sequential.json` | 顺序打点默认配置 |
| `event/score-o.json` | `gotomars/event/score-o.json` | 积分赛默认配置 |

## 6. 维护约定

后续如果新增新玩法配置发布，建议同步修改以下位置：

1. [publish-event-config.ps1](D:/dev/cmr-mini/publish-event-config.ps1)
2. [package.json](D:/dev/cmr-mini/package.json)
3. [配置发布说明.md](D:/dev/cmr-mini/doc/config/配置发布说明.md)
4. [配置文档索引.md](D:/dev/cmr-mini/doc/config/配置文档索引.md)
5. 对应玩法目录下的样例配置说明

## 7. 后续演进方向

当前方案属于“本地校验 + 手动发布到 OSS”。

后续接入正式后台后，推荐演进为：

1. 后台装配并校验配置
2. 后台生成发布版本
3. 后台上传 OSS/CDN
4. 客户端仍只读取静态 JSON


