Files
2026-05-08 15:16:04 +08:00

4.3 KiB
Raw Permalink Blame History

我们需要搭建一个基于python+flask架构的后端服务器+一个前端界面,来实现一些数据的管理工作。 我会给你一些信息,然后我们开始讨论这个项目要落地需要怎么做。你把关键信息整理下来,如果有问题可以和我沟通。 沟通到你认为没有问题了,我们就开始动手搭建这个项目。

后端服务器连接的是pg库,连接信息已经保存在.env文件里面了。你不可以查看.env文件,因为里面有敏感信息。但是有一个.env.example文件,你可以查看这个文件,来了解一下连接信息的格式。

这是一个个人项目,前后端都应当部署在我的NAS上,以docker的形式运行。 你可以先查看KSP Engine Tweak Chart.xlsx,这个里面记载了我需要管理的数据 我先给你解释一下里面的表结构:

  • Engine Database表:这个表记录了所有的火箭发动机的数据。某种程度上来说算是这个项目的核心表。
  • Communication表:记录了所有的天线数据
  • Work Area表:记录了一些WIP的引擎信息,你可以忽略
  • Fuel Chart: 记录了不同燃料的一个快速换算信息。你可以查看一下这个表,尤其是里面公式的部分,这个可以作为一个快速换算工具来实现(后续不依赖这个表)。这部分你可以先看,肯定会有一些问题,我们讨论实现。
  • Tank Chart:记录了一些燃料箱的数据
  • KSP Vehicle Cost:记录了一些发射载具的成本数据
  • Tube、TQ series:予以忽略

后续我们会根据这个表来设计数据库的表结构,来实现数据的管理功能。 引擎表是核心,你需要搞清楚里面每个字段的含义,来设计数据库表结构和前端界面。你看一下这个表,有什么不理解的地方可以问我。 你先把表都弄清楚,然后我们再讨论一下这个项目的功能需求,来设计数据库表结构和前端界面,接下来把表上传到数据库,随后我们就可以开始实现数据的管理功能了。

第一轮问题:

6. 第一轮需要你确认的问题

下面这些问题会直接影响数据库设计和前端表单设计:

关于 Engine Database

  1. Work Env 的枚举含义是什么?

    • 目前看到像 LowerUpper 等,是否表示适用飞行环境/任务场景?
    • Answer:是的,这是一个引擎的分类表示,表示这些引擎是上面级引擎还是起飞级引擎
  2. Classification 是什么语义?

    • 是模组来源(如 SquadNFSVenReal/...)还是引擎分类标签?
    • Answer:是Mod来源
  3. Name 是不是游戏/模组里的内部 part name

    • Answer:是的。为空的原因是有一些我没有记录上去。这些可以先置空,后续我慢慢补
  4. Config Name 是不是某个引擎的配置名/variant 名?

    • 如果是,它显然不是全局唯一键;后续唯一标识你倾向于用什么?
    • Engine + Fuel Type + Config Name?还是另有内部 ID
    • Answer:应当使用Engine + Config Name作为唯一ID。如果你发现有重复的,反馈给我,我来确认是什么情况
  5. Price KD 是不是 Kerbal Dollars 的部件价格?

    • Answer:是的
  6. entry Cost 是不是科技树解锁成本 / 研发成本?

    • Answer:是研发成本
  7. TVC 的单位是否是“度”(gimbal range)? Answer:是的

  8. Size 的单位是否是米(或零件直径规格)? Answer:是米

  9. Ignitions 为空时表示:

    • Answer:无限次点火
  10. NoteConfig Note 的区别是什么?

    • Answer:一个是引擎总体备注,一个是某个配置备注

关于 Fuel Chart

  1. 这个换算功能你希望最终怎么实现?

    • 单独页面小工具
  2. 第二行这些值,本质上是不是“燃料密度 / 升到吨的换算系数”?

    • 是的

关于 KSP Vehicle Cost

  1. Launch Price 为空的行,是不是表示“暂无数据,允许为空”?
    • 是的

7. 下一步建议

等你回答上面的问题后,我建议立即进入下面阶段:

  1. 先把 Engine Database 字段定义彻底确认
  2. 画出数据库草图(PostgreSQL
  3. 确定 Flask 后端模块划分
  4. 确定前端页面:列表 / 搜索 / 详情 / 编辑 / 导入
  5. 再开始初始化项目结构、Docker、数据库迁移、Excel 导入脚本