Files
backend/README.md
T

47 lines
1.6 KiB
Markdown
Raw Normal View History

2026-01-02 16:29:05 +08:00
# 后端
## 项目介绍
2026-01-02 16:29:05 +08:00
## 项目结构
2026-01-02 16:29:05 +08:00
## 部分文件格式
2026-01-02 16:29:05 +08:00
### list.json
2026-01-02 16:29:05 +08:00
`cards` `matters``reactions` 下的 `list.json` 有相同的格式。每个文件中都只有一个对象。对象的键的内容均是字符串,代表 ID。对象的值的内容均是字符串代表对应JSON文件的相对路径不用加 `.json` 后缀名。例如:
2026-01-02 16:29:05 +08:00
```json
{
"C": "NonMetal/Carbon",
"O": "NonMetal/Oxygen",
"...": "..."
}
2026-01-02 16:29:05 +08:00
```
### assets/index.json
2026-01-02 16:29:05 +08:00
`assets` 目录下的 `index.json` 是资源文件的索引目录文件。该文件的内容是一个对象,每一个键值对对应一个资源文件。键对应的是资源的 ID值对应的是资源的相对文件路径不加 `.json` 后缀名。例如:
2026-01-02 16:29:05 +08:00
```json
{
"Carbon": "cards/carbon.png",
"Oxygen": "cards/Oxygen.png"
}
```
2026-01-02 16:29:05 +08:00
## 化学反应格式
2026-01-02 16:29:05 +08:00
化学反应由三部分构成:反应物、反应条件、生成物。基本格式为 `[反应物ID]+[反应物ID](反应条件ID){生成物ID}`,例如 `[C]+[O](Ignite){CO2}` 表示 $\rm{C+O_2}\xrightarrow{点燃}\rm{CO_2}$ 这个反应。
2026-01-02 16:29:05 +08:00
其中的反应物 ID、反应物条件 ID、生成物 ID 都是自定义的。也就是说,同一个反应在不同化学源中的表示方式可能不同。
2026-01-02 16:29:05 +08:00
## 技术相关
2026-01-02 16:29:05 +08:00
本项目采用工厂模式。所有逻辑代码均放置在 `app` 目录下。所有路由均使用蓝图实现。
2026-01-02 16:29:05 +08:00
## 最佳实践
2026-01-02 16:29:05 +08:00
对于路径和 ID均应当使用英文字母、下划线和数字不应当使用包括中文和短横杠在内的其他字符。由此引发的问题后果自负。
2026-01-02 16:29:05 +08:00
所有 JSON 文件中的缩进均应当使用2个或4个空格而非制表符`\t`)。