feat: 实现资源(图片、音频)查询,完善README

This commit is contained in:
2026-01-20 09:34:24 +08:00
parent 70574c8a77
commit 9dce8988b3
10 changed files with 107 additions and 12 deletions
+62 -7
View File
@@ -1,14 +1,54 @@
# 后端
# 纸片化学社区版:数据后端
## 项目介绍
纸片化学社区版Paper Chemis Community是由 Tiger 开发的一款纸片化学游戏。该游戏使用纸片化学玩法,并带来了更高的自由度。
本项目为纸片化学社区版的数据后端,为游戏本体提供数据源服务。
## 项目结构
```text
backend/
- run.py
- test/
- test_*.py
- app/
- __init__.py
- models/
- routes/
- assets.py
- cards.py
- matters.py
- pages.py
- reactions.py
- utils/
- assets.py
- cards.py
- matters.py
- reactions.py
- resources/
- assets/
- index.json
- pics/
- sounds/
- cards/
- list.json
- conditions/
- list.json
- matters/
- list.json
- reactions/
- list.json
- match.json
```
## 部分文件格式
### list.json
`cards` `matters``reactions` 下的 `list.json` 有相同的格式。每个文件中都只有一个对象。对象的键的内容均是字符串,代表 ID。对象的值的内容均是字符串代表对应JSON文件的相对路径不用加 `.json` 后缀名。例如:
`cards` `matters``reactions` `conditions` 下的 `list.json` 有相同的格式。每个文件中都只有一个对象。对象的键的内容均是字符串,代表 ID。对象的值的内容均是字符串代表对应JSON文件的相对路径不用加 `.json` 后缀名。例如:
```json
{
@@ -18,14 +58,29 @@
}
```
### assets/index.json
### reactions/match.json
`assets` 目录下的 `index.json` 是资源文件的索引目录文件。该文件的内容是一个对象,每一个键值对对应一个资源文件。键对应的是资源的 ID值对应的是资源的相对文件路径不加 `.json` 后缀名。例如:
`reactions` 目录下的 `match.json` 支持通过反应物匹配反应。该文件的内容是一个对象。对象的键由反应物构成,每个反应物(包括最后一个)后面都有一个 `-` 以间隔开各项反应物。值是反应的 ID`list.json` 中对象的键。例如:
```json
{
"Carbon": "cards/carbon.png",
"Oxygen": "cards/Oxygen.png"
"Carbon-Oxygen-": "CarbonDioxide"
}
```
### assets/index.json
`assets` 目录下的 `index.json` 是资源文件的索引目录文件。该文件的内容是一个对象,每一个键值对对应一个资源文件。键对应的是资源的 ID值对应的是资源的相对文件路径不加 `pics/``sounds/` 前缀。例如:
```json
{
"pics": {
"Carbon": "cards/Carbon.png",
"Oxygen": "cards/Oxygen.png"
},
"sounds": {
// ...
}
}
```
@@ -43,4 +98,4 @@
对于路径和 ID均应当使用英文字母、下划线和数字不应当使用包括中文和短横杠在内的其他字符。由此引发的问题后果自负。
所有 JSON 文件中的缩进均应当使用2个或4个空格,而非制表符(`\t`)。
所有 JSON 文件中的缩进均应当使用 2 个或 4 个空格,而非制表符(`\t`)。