得码速(demaSpeed),为 AI 编程而生:充分利用 AI 编程能力,利用 AI 而不受限于 AI。
JSON 配置化低代码框架:界面 → 入参 → API,把重复性工作降到最低;摆脱 build 桎梏,像网页编程一样高速调试、快速冒烟。
功能导航(菜单 -- 菜单条目)定位业务入口,配置文件决定界面形态;UI 承载两条动作——读:获得数据并展示;写:数据入参 + 交互录入 → API 数据提交。配置文件穿针引线,全链路统一。
JSON 配置决定数据界面形态,界面上挂载对话框与 API——配置穿针引线,界面与交互全部由配置驱动。
Delphi XE10.2,原生VCL,可对接FastReport报表、SQLServer
JSON 配置驱动界面、表单、数据表映射
企业内部业务系统,替代大量重复CRUD手写代码
利用 AI 而不受限于 AI
处理不了的业务 → 切换非 spcall,走正规三层 API
个性化窗体 → 字符串参数挂载到浏览窗体,不写死
高度定制对话框 → 同样可由 AI 生成,人工兜底
价值:AI 高度参与,人工兜底——避免"编程把自己编死",兼顾运行性能与迭代效率。
T003数量单位
ID · 名称 · 单位类型 · 默认
转换率 · 备注 · 简拼
sp_数量单位_addsp_数量单位_updsp_数量单位_listsp_数量单位_del
T数量单位 = classunit_dlg_数量单位_edit
需求是源头(AI 整理 + 人工确认,关键步骤);此后数据表、存储过程、中间件、界面,AI 均可高参与度生成——人工只做架构兜底与关键确认。
菜单直接由 JSON 菜单文件(格式A)生成,无需数据库;适合固定菜单、快速部署,配置随工程走,便于 Git 版本管理。
菜单先维护在数据库菜单表中,再导出为 JSON 菜单文件(格式B)交给框架生成菜单;适合菜单需后台维护、动态调整与权限联动的场景。
说明:两种方式的差异只在菜单来源——格式A 由 JSON 菜单文件直接提供,格式B 由菜单表导出生成;二者汇入同一链路:菜单 → JSON配置文件 → 业务界面。
配置存储过程名 → 调用API(spcall / aicall)→ 数据库存储过程
配置里写的是存储过程名,而不是直接调用的对象——存储过程本身也是一个"API":框架通过 API 层(DBCall / DbInfo)访问服务端,由 API 实现真正的存储过程执行。框架与数据库之间永远隔着一层 API。
list 接口返回字段元数据 → 自动生成表格与列
add_dlg / upd_dlg 注册名 → FProxy 路由到编辑对话框
增删改查 + 删除确认文案可配置(%s 动态取值),防误删
按模块名挂载报表模板(DPrint / QPrint / QPreview)
保存 / 加载表格布局,按用户 + 模块隔离
对话框 = 参数生成器:生成 Input → 经 API 调用配置的存储过程
一个 exe + 一份 .fdat + DBCall = 一个可运行的应用
简单几个 pas 单文件运行:界面与功能全由 .fdat 描述,配上 DBCall 就是一个完整应用,低配环境可用
叠加通用查询 / 通用维护窗体:功能由「配置 + 通用框架」承载,业务模块三件套接入,不改框架代码
云端配置中心(窗体配置 / 查询模板)+ 权限体系 + 定制实现:配置云端集中管理,客户端按需拉取
三种等级共用同一条分发链、同一个内核(FProxy 方法代理 + DBCall 服务调用 + 配置分发)。.fdat 是契约:客户端不关心功能由哪种方式实现,按窗体类型路由到对应实现(得码查询 / 得码维护 / 可继续扩展);权限按菜单名称锚定,与实现方式无关,新增实现不影响鉴权模型。另设独立运行入口:窗体可脱离主程序、凭本地配置单独运行。
价值:内核不变,形态从瘦到胖伸缩——极简单文件可跑,全体系也跑在同一条链上;规模生长靠「加配置、加注册」,不靠改内核。
| 组件 | 职责 |
|---|---|
| TForm_维护 | 通用浏览主窗体:列表 + 工具栏 + 查询条件,通用逻辑全在此 |
| .fdat 配置文件 | 行为参数:存储过程名、对话框注册名、交互规则 |
| API 调用层 | spcall / aicall,框架与数据库之间唯一的访问通道 |
| 数据库存储过程 | 列表、增、改、删、查询回填,由 API 层执行 |
| 对话框窗体 | 参数生成器:界面输入 → Input JSON → 经 API 调存储过程 |
| FProxy 注册表 | 对话框路由:配置中的注册名 → 已注册对话框类方法 |
完成——不需要修改框架代码。新增业务模块只需提供"存储过程 + 对话框 + 配置"三件套,框架自动生成浏览界面与全部交互。