提交体按 bundle/OpenAPI 源码确证修正(替换早期推断版本):
- 新建/编辑 GS:{gsTypeId,parentId(仅新建),projectId,name,responsiblePersonName,properties}
- 新建/编辑 TM:{tmTypeId,id?,name,properties,projectId,parentId,parentType:"1"}
- 去除误用的 typeId/type/structParentId/structParentConfType
动态表单:
- displayComponentType 全集控件映射(1-11 + 默认步进数字)
- requiredType 语义:1=必填、2=只读禁用、其他=可选
- 顶层固定字段(gsTypeId/tmTypeId/name/responsiblePersonName)
新建对象:
- 单弹框 + 框内类型下拉,选后刷新动态表单(GS/TM 对称)
- 方法类型用全局 project/tmList;GS 类型用 project/gsList
- 父对象按节点类型解析:选 TM 仅新建同级 TM(父=其GS/根);项目根按 GS 处理
- 对象树右键 + 面板「添加+」按钮按节点类型分项
属性面板可编辑保存:
- 对象属性面板可编辑 → PUT gsObject/tmObject
- 数据集属性面板:元字段只读 + 描述可编辑 → updateDsObject
{dsObjectId,description,attachedParameters:{deltaContent}}
数据集:导入向导(multipart) + 模板导出对话框(templateExport/export)
文档:spec(§B 提交体/§E 源码补全) 与 plan 同步更新
|
||
|---|---|---|
| .. | ||
| crypto | ||
| ApiBatch.cpp | ||
| ApiBatch.hpp | ||
| ApiCall.cpp | ||
| ApiCall.hpp | ||
| ApiChain.cpp | ||
| ApiChain.hpp | ||
| ApiClient.cpp | ||
| ApiClient.hpp | ||
| ApiResponseParse.cpp | ||
| ApiResponseParse.hpp | ||
| AuthLoads.cpp | ||
| AuthLoads.hpp | ||
| AuthService.cpp | ||
| AuthService.hpp | ||
| CMakeLists.txt | ||
| IApiCall.cpp | ||
| IApiCall.hpp | ||
| README.md | ||
README.md
net — 网络与认证层
ApiClient— QtNetwork 封装:基址http://tenant.geomative.cn/pop-api、注入geomativeauthorization: Geomative <token>头、超时、错误码、401 处理。AuthService— 验证码(getImageCode/verifyCodeCheck)+ JSEncrypt RSA-2048 加密密码 +login2(token =data.accessToken)。Credential— QtKeychain 凭证存取(严禁明文,规约 §7.4)。
详见设计 §8(含 §8.3 前置确认项:RSA 公钥常量、token 生命周期)。