关于项目结构设计
需求:因为项目启动的时候的,某欧客户对项目做成什么样子也不清楚,对于一些字段数据没法定下来,或者定下来后,又要新增或者修改或者删除。
以往设计:每个业务字段在数据库里面都有一个业务字段。但是在客户没法定下来具体需要哪些字段的这种情况。使用这种设计的话,每次新增或者删除字段,需要对实体类进行改动,以及删除字段的时候,给下游传值那块业务也要改动,和某条产品数据从产品开发到产品发行也要删除。前端页面的字段也需要改动,改动非常大。
所以我们对这块设计进行抽象化。 希望页面需要哪些字段可以在数据库保存。当需要新增的时候,在数据库插入,当需要删除字段的时候,在数据库标记一下前端页面就不显示了。
基于这个需求:我们的表设计改成了 三个表 element表 :主要保存页面元素的表,
字段主要有
1:elementId主键id 元素类型(前端需要把这个元素渲染成什么控件);
2:后端变量名;
3:前端显示的label名
4:取值范围标识
5:是否开启
step表:主要存储前端页签之前的关系,里面的数据关系是一个树形结构
字段主要有:
1: stepId 主键
2:页签标识
3:父级页签
4:是否开启
5:页签类型(进去这个页签是抽屉框、扩展页签)
config表:主要配置元素和页签的关系
字段主要有:
1:主键id
2: 元素主键
3:步奏标识
4:取值范围标识(比如有些下拉框是有取值范围的)
5:是否开启
6:是否必填(发送给下游服务的时候,进行校验)
7:sort(页面上元素的排序)
配置表主要有这些
存储信息的表:
分两种:
文本信息: 1:主键,2:步奏id,3: configId 4:inputValue 用户输入数据 ,5 逻辑删除
附件信息: 1:主键,2:步奏id, 3:configId 4:文件名称 ,5 :文件路径 ,逻辑删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端