File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -327,3 +327,54 @@ tenant 通过前端配置统一 x-lowcode-org 请求头传递,接口中不用
327327 </tbody>
328328 </table>
329329
330+ ## 物料同步接口
331+
332+ <a id =物料同步接口 > </a >
333+
334+ ### 基本信息
335+
336+ ** Path:** /material-center/api/component/bundle/create
337+
338+ ** Method:** POST
339+
340+ ** 接口描述:**
341+
342+ <p >处理物料同步上传bundle.json文件创建或更新组件</p >
343+
344+
345+ ### 请求参数
346+
347+ ** Headers**
348+
349+ | 参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
350+ | ------------ | ---------------- | -------- | ---- | ---- |
351+ | Content-Type | multipart/form-data | 是 | | |
352+
353+ ** 路径参数**
354+
355+ | 参数名称 | 示例 | 备注 |
356+ | -------- | ---- | ------ |
357+ | file | bundle.json | bundle.json文件 |
358+
359+ ** Body**
360+
361+ <table >
362+ <thead class =" ant-table-thead " >
363+ <tr>
364+ <th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th>
365+ </tr>
366+ </thead ><tbody className =" ant-table-tbody " >
367+ </tbody>
368+ </table>
369+
370+
371+ ### 返回数据
372+
373+ <table >
374+ <thead class =" ant-table-thead " >
375+ <tr>
376+ <th key=name>名称</th><th key=type>类型</th><th key=required>是否必须</th><th key=default>默认值</th><th key=desc>备注</th><th key=sub>其他信息</th>
377+ </tr>
378+ </thead><tbody className="ant-table-tbody"><tr key=0-0><td key=0><span style="padding-left: 0px"><span style="color: #8c8a8a"></span> data</span></td><td key=1><span>object</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap"></span></td><td key=5></td></tr><tr key=0-0-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> insertNum</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">新增组件数</span></td><td key=5></td></tr> <tr key=0-0-0><td key=0><span style="padding-left: 20px"><span style="color: #8c8a8a">├─</span> updateNum</span></td><td key=1><span>number</span></td><td key=2>非必须</td><td key=3></td><td key=4><span style="white-space: pre-wrap">更新组件数</span></td><td key=5></td></tr>
379+ </tbody>
380+ </table>
Original file line number Diff line number Diff line change 11## 物料同步方案
22
3+ ### 方案一 (推荐使用)
4+ 通过Postman工具上传编辑好的bundle.json文件。
5+
6+ ![ 文件上传图] ( ./imgs/bundle_upload.png ' 文件上传图 ')
7+
8+ #### 注意事项
9+ 1 . bundle.json文件内组件版本version字段为必须字段,缺少的需要补充不然上传接口报错
10+ 2 . bundle.json文件内组件版本version与数据库t_component内version不一致时为新增,一致为更新,也可根据自身需求更改相关代码逻辑
11+
12+ ![ 注意事项图] ( ./imgs/component_create_code.png ' 注意事项图 ')
13+
14+ ### 方案二
315由于当前情况下物料无法通过页面交互维护,提供一个临时方案,由前端托管物料。
416在本地运行时提供nodejs脚本维护物料,执行脚本保证mockServer工程和前端工程物料的同步。如果启动了后端服务,还可以连接数据库,保证本地json文件和数据库的一致性。
517
618![ 物料同步数据流转图] ( ./imgs/synchronize-materials.png ' 物料同步数据流转图 ')
7- ### 拆分脚本
19+ #### 拆分脚本
820
921``` shell
1022pnpm splitMaterials
@@ -13,7 +25,7 @@ pnpm splitMaterials
1325之前对物料的修改要先从大文件bundle.json中找到对应组件,然后进行修改调试,很容易出现找错组件或难以对比历史的情况。
1426执行该脚本可以将物料资产包拆分为单个组件或区块,再结合构建的脚本,可以将修改限制在相对较小的文件中,便于维护物料和对比变更。
1527
16- ### 构建脚本
28+ #### 构建脚本
1729
1830``` shell
1931pnpm buildMaterials
@@ -26,14 +38,15 @@ pnpm buildMaterials
2638- 连接数据库,初始化组件表,将组件数据写入数据库
2739- 监听组件文件变化,重新构建物料资产包和应用 mock 数据,新增或更新数据库中组件数据
2840
29- ### 注意事项
41+ #### 注意事项
3042
31431 . 本地还没有执行过拆分脚本的,先执行一次,后续可以不用再执行,只需要对单个组件进行维护
32442 . 单个组件文件需要遵循物料协议,更新文件后保存即可触发重新构建物料资产包,刷新页面后生效
33453 . 连接数据库失败,不影响构建本地物料资产包即bundle.json
34464 . 连接数据库需要的配置项在` .env.local ` 中
47+ 5 . 数据关联关系可能没有入库,如果查询不到新添加的组件,需要手动在数据库表r_material_component、r_material_history_component添加关联关系数据
3548
36- ### 部署建议
49+ #### 部署建议
3750
3851需要将设计器进行部署时,关于物料的部署方案,以下供参考:
3952
You can’t perform that action at this time.
0 commit comments