获取表单操作权限
接口
HttpPost:api/FrontEnd/GetFormOperations
根据表单、业务数据和当前登录用户,返回当前用户可执行的表单操作。接口适用于新增、编辑及流程表单场景;返回结果已按当前用户、菜单权限和移动端类型过滤。
请求参数
请求头
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
Authorization | string | 是 | 登录令牌,格式为 Bearer {token}。 |
UserId | string | 是 | 当前登录账号编码,必须与令牌用户一致。 |
TnCode | string | 是 | 租户编码。 |
请求体
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userId | string | 是 | 当前登录用户 ID 或账号编码。 |
formCode | string | 是 | 功能菜单或表单编码。 |
subCode | string | 否 | 子表编码;不传表示主表。 |
dataId | string | 否 | 业务数据 ID;新增时可不传。 |
flowId | string | 否 | 流程实例 ID。 |
workItemId | string | 否 | 当前待办工作项 ID。 |
workflowVersion | integer | 否 | 流程版本。 |
请求示例
POST /baseUrl/api/FrontEnd/GetFormOperations HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...
UserId: administrator
TnCode: 00000000
Content-Type: application/json
{
"userId": "administrator",
"formCode": "purchase_apply",
"dataId": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"flowId": "flow-001",
"workItemId": "workitem-001",
"workflowVersion": 3
}
返回结果
响应使用平台统一包装。
| 参数名 | 类型 | 说明 |
|---|---|---|
Code | int | 200 表示成功。 |
Message | string | 错误信息。 |
Result | array | 当前用户可执行的操作。 |
Result[].id | string | 操作实例 ID。 |
Result[].title | string | 操作显示名称。 |
Result[].action | string | 操作动作编码,提交时应传给对应提交接口。 |
Result[].functionType | int | 平台操作类型,例如 4 保存、5 提交、12 暂存、13 审批。 |
Result[].buttonType | int | 平台按钮类型。 |
Result[].formValidate | boolean | 执行操作前是否需要表单校验。 |
Status | int | 1 表示成功,3 表示业务错误。 |
返回示例
{
"Code": 200,
"Message": "",
"Result": [
{ "id": "SubmitDataButton", "title": "提交", "action": "SubmitDataButton", "functionType": 5, "buttonType": 0, "formValidate": true }
],
"Status": 1,
"MessageShowType": null
}
调用说明
- 返回空数组表示当前场景没有可执行操作,移动端应隐藏保存或提交按钮。
- 操作列表只用于界面展示和选择,服务端执行保存/提交时仍会重新校验权限。
functionType不等于接口路径;移动端应根据业务场景调用AddData、UpdateData或SubmitData。- 未携带有效登录令牌、用户无菜单权限或用户与令牌不一致时请求失败。