Skip to content

Commit

Permalink
增加文档
Browse files Browse the repository at this point in the history
  • Loading branch information
entropy-cloud committed Sep 10, 2023
1 parent 0d68930 commit ca972ce
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
24 changes: 24 additions & 0 deletions docs/dev-guide/model/api-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,27 @@

通过Excel模型来定义对外暴露的服务接口。具体示例参见[nop-wf.api.xlsx](https://gitee.com/canonical-entropy/nop-entropy/blob/master/nop-wf/model/nop-wf.api.xlsx)

在xxx-codegen模块中我们可以增加代码生成脚本,根据Excel模型自动生成代码。例如gen-orm.xgen中

````xml
<c:script>
// 根据API模型生成服务消息和接口类
codeGenerator.withTargetDir("../").renderModel('../../model/nop-wf.api.xlsx','/nop/templates/api', '/',$scope);
</c:script>
````

## 配置说明
在【配置】页中可以配置如下变量

1. apiName: 所有子模块的前缀,例如nop-wf
2. apiModuleName:生成接口定义以及接口消息类到哪个模块中,一般为xxx-api
3. serviceModuleName: 生成缺省的实现类到哪个模块中,一般为xxx-service
4. metaModuleName: 生成接口消息所对应的meta文件到哪个模块总,一般为xxx-meta
5. servicePackageName: 服务实现类所在的包名
6. apiPackageName: api模块的包名

## 服务定义
在【服务定义】页中可以定义当前模块对外暴露的所有服务。

1. 【变更】用于配置服务方法是否对应于GraphQL中的mutation还是query
2. 【标签】列中可以为服务方法增加扩展标注。其中sync标识自动生成代码时后端服务函数是同步调用形式。如果没有加sync标签,则会生成返回值类型为CompletionStage形式的异步函数调用。
30 changes: 30 additions & 0 deletions docs/dev-guide/xui/xview.md
Original file line number Diff line number Diff line change
Expand Up @@ -327,3 +327,33 @@ url: "@query:NopAuthDept__findList/value:id,label:deptName,children @TreeChildre
x:gen-extends: |
<web:GenPage view="NopRuleNode.view.xml" page="main" fixedProps="ruleId" xpl:lib="/nop/web/xlib/web.xlib" />
````

## 12. 适用Combo组件显示递归数据结构
参考 NopRuleDefinition.view.xml中ruleInputs的配置

````xml
<cell id="ruleInputs">
<gen-control>
return { "$ref": "viewInputDefinition" }
</gen-control>
</cell>
````

在page.yaml文件中引入definitions

````yaml
x:gen-extends: |
<web:GenPage view="NopRuleDefinition.view.xml" page="main" xpl:lib="/nop/web/xlib/web.xlib" />

definitions:
"x:extends": "var-definitions.json5"
````

## 13. 增加一个仅在前台使用的字段,它的值不会提交到后台
custom=true表示此字段不需要在meta中定义。两个下划线作为前缀表示此字段仅在前端使用,不会提交到后台

````xml
<cell id="__useImportFile" label="导入模型文件" custom="true" stdDomain="boolean">
</cell>
````

0 comments on commit ca972ce

Please sign in to comment.