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