获取菜单数据列表接口
接口
HttpPost:api/FrontEnd/GetListData
根据指定用户和菜单编码查询业务数据列表。接口会先校验请求用户与登录令牌用户一致、用户是否有该菜单访问权限,再按平台原有数据范围权限过滤数据。
请求参数
| 参数名 | 参数位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
Authorization | Header | string | 是 | 调用者身份凭据,传入已获取的 token。 |
UserId | Header | string | 是 | 调用者用户 ID。必须与请求体中的 UserId 及令牌解析出的当前用户一致。 |
TnCode | Header | string | 是 | 租户编码。 |
UserId | Body | string | 是 | 要按其权限查询数据的用户 ID。仅允许查询当前登录用户。 |
MenuId | Body | string | 是 | 功能菜单编码,即列表的 AppItemCode。 |
ReturnColumns | Body | string[] | 否 | 返回字段的业务数据表字段名,例如 ObjectID、CreatedTime、Title。不传或传空数组时,返回该列表配置中全部可查询字段。 |
SearchCondition | Body | array | 否 | 筛选条件集合。多个条件通过每个条件的 QueryType 组合。 |
PageIndex | Body | int | 否 | 页码,从 1 开始;不传时默认 1。 |
PageSize | Body | int | 否 | 每页条数,必须大于 0;不传时默认 20。 |
IncludeButtons | Body | boolean | 否 | 是否返回按当前用户权限过滤后的每行按钮;默认 false。 |
SearchCondition 条件对象
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
ComponentKey | string | 否 | 字段组件类型;普通文本字段可传 Text。 |
Name | string | 是 | 要筛选的业务数据表字段名。 |
Operation | string | 是 | 比较操作,例如:Equal、NotEqual、Contain、Above、NotBelow、Below、NotAbove、IsNone、NotNone。 |
ValueType | string | 否 | 值类型,通常传 Custom。 |
Value | string | 否 | 用于比较的字段值;空值判断操作可不传。 |
QueryType | string | 否 | 与下一条件的逻辑关系:And 或 Or;默认 And。 |
请求示例
指定返回字段并查询
{
"UserId": "18f923a7-5a5e-426d-94ae-a55ad1a4b239",
"MenuId": "46b97a76f61338bd",
"ReturnColumns": [
"ObjectID",
"Title",
"CreatedTime"
],
"PageIndex": 1,
"PageSize": 20,
"IncludeButtons": true,
"SearchCondition": [
{
"ComponentKey": "Text",
"Name": "Title",
"Operation": "Contain",
"ValueType": "Custom",
"Value": "篮球",
"QueryType": "And"
}
]
}
返回全部字段
{
"UserId": "18f923a7-5a5e-426d-94ae-a55ad1a4b239",
"MenuId": "46b97a76f61338bd"
}
返回结果
| 参数名 | 类型 | 说明 |
|---|---|---|
Code | int | 业务状态码;200 表示成功。 |
Message | string | 错误信息;成功时为空字符串。 |
Result | object | 列表查询结果。 |
Result.AppItemCode | string | 菜单编码。 |
Result.AppItemName | string | 菜单名称。 |
Result.Datas | array | 数据行集合;每一行的键为业务数据表字段名。 |
Result.PagingInfo | object | 分页信息,包含 PageIndex、PageSize、PageCount、DataCount。 |
Result.RowButtons | object | 当 IncludeButtons=true 时返回。以数据行 ObjectID 为键、行按钮编码数组为值;按钮已按当前用户权限和移动端类型过滤。 |
Result.RowButtonDefinitions | array | 当 IncludeButtons=true 时返回。行按钮定义目录,使用 BtnCode 与 RowButtons 中的编码对应,包含标题、图标、功能类型和关联配置。 |
Status | int | 业务状态:1 表示成功,3 表示服务端错误。 |
返回示例(成功)
{
"Code": 200,
"Message": "",
"ExceptionSeqNo": null,
"Result": {
"AppItemCode": "46b97a76f61338bd",
"AppItemName": "示例表单",
"Datas": [
{
"ObjectID": "205e4ed8-db1f-40c7-9e2d-bf656d53c2cd",
"Title": "篮球活动",
"CreatedTime": "2026-08-07 10:30:00"
}
],
"PagingInfo": {
"PageIndex": 1,
"PageSize": 20,
"PageCount": 1,
"DataCount": 1
},
"RowButtons": {
"205e4ed8-db1f-40c7-9e2d-bf656d53c2cd": ["07", "00"]
},
"RowButtonDefinitions": [
{
"Title": "查看",
"BtnCode": "07",
"Icon": "View_div_icon",
"FunctionType": "View",
"ViewType": "MobileShow"
},
{
"Title": "编辑",
"BtnCode": "00",
"Icon": "Edit_div_icon",
"FunctionType": "Edit",
"ViewType": "MobileShow"
}
]
},
"Status": 1,
"MessageShowType": null
}
返回示例(失败)
{
"Code": 500,
"Message": "当前用户无权访问该菜单",
"ExceptionSeqNo": null,
"Result": null,
"Status": 3,
"MessageShowType": null
}
调用说明
-
UserId必须与Authorization令牌解析出的当前用户一致,否则返回:只能查询当前登录用户的数据。 -
用户没有目标菜单的访问权限时,返回:
当前用户无权访问该菜单。 -
ReturnColumns和SearchCondition.Name均使用业务数据表字段名,不使用页面显示名称。 -
当前接口复用平台列表查询服务,数据范围、逻辑删除、工作流及列表配置规则与平台原列表查询保持一致。
-
PageIndex与PageSize均须大于0;仅传其中一项时,另一项使用默认值。 -
未传分页参数时,普通列表默认返回第
1页、每页20条;文件列表和树列表遵循平台原有列表行为。 -
IncludeButtons=true时返回每行ObjectID对应的按钮编码。当前覆盖平台标准行按钮:00编辑、02删除、07查看,并按移动端展示类型及当前用户按钮权限过滤;不返回未授权按钮。 -
使用
RowButtonDefinitions建立按钮目录:以BtnCode为键读取Title、Icon、FunctionType、RelObject等配置,再根据当前行RowButtons[ObjectID]决定是否显示。 -
工作流状态、按钮显示条件和自定义行按钮可能还需要结合具体列表场景处理;客户端不得仅凭按钮编码绕过服务端权限校验。
-
按钮仅用于界面展示,执行按钮时仍必须调用对应服务端接口,由服务端再次校验权限。
-
UserId必须与Authorization令牌解析出的当前用户一致,否则返回:只能查询当前登录用户的数据。 -
用户没有目标菜单的访问权限时,返回:
当前用户无权访问该菜单。 -
ReturnColumns和SearchCondition.Name均使用业务数据表字段名,不使用页面显示名称。 -
当前接口复用平台列表查询服务,数据范围、逻辑删除、工作流及列表配置规则与平台原列表查询保持一致。
-
PageIndex与PageSize均须大于0;仅传其中一项时,另一项使用默认值。 -
未传分页参数时,普通列表默认返回第
1页、每页20条;文件列表和树列表遵循平台原有列表行为