36 lines
1.4 KiB
Plaintext
36 lines
1.4 KiB
Plaintext
---
|
||
description: .soon 文件 JSON 契约(与 soonDesign-back / soonWorkerDisk 对齐)
|
||
globs:
|
||
- frontend-web/js/design1/**
|
||
- frontend-web/js/design2/**
|
||
- frontend-electron/js/design1/**
|
||
- frontend-electron/js/design2/**
|
||
- frontend-web/js/common/cloud-files.js
|
||
alwaysApply: false
|
||
---
|
||
|
||
# .soon 文件格式(不可擅自变更)
|
||
|
||
## 权威参考
|
||
|
||
- 旧版程序:`soonDesign-back/lib/design1/output.js`、`design2/output.js`(gitignore,本机对照)
|
||
- 下游消费:`soonWorkerDisk/.../workAdd.vue`(依赖 `frontData`、`backData`、`frontDisplayPic` 等)
|
||
|
||
## 保存契约
|
||
|
||
`output()` 生成的生产字段与画布字段**必须完整写入**,禁止在 save/upload/session/IDB 路径删除或改名:
|
||
|
||
- 生产:`frontData`、`backData`、`frontColorPic`、`backColorPic`、`frontBlackPic`、`backBlackPic`、`frontDisplayPic`、`backDisplayPic`、`flag`、`soonType`
|
||
- 画布:`f`、`b`、`fo`、`bo`(及旧版可能有的 `fp`、`bp`)
|
||
|
||
保存模式:`Object.assign({ f, b, fo, bo, ... }, op1)` → `JSON.stringify`,与 `soonDesign-back` 一致。
|
||
|
||
## 禁止
|
||
|
||
- 保存/上传/缓存前 `delete` 上述生产字段(历史上 `soonStripDesign1HeavyFields` 类逻辑)
|
||
- 仅保留 `f/b/fo/bo` 的「精简 .soon」写法
|
||
|
||
## 加载
|
||
|
||
`soonNormalizeSoonJson` 只允许补全缺失的 `f/b/fo/bo`(兼容极旧文件),**不得 strip** 生产字段,以便打开后另存仍满足下游。
|