批量获取菜单记录数接口
接口
HttpPost:api/FrontEnd/GetListDataCounts
按当前登录用户的数据权限,批量查询多个功能菜单在各自搜索条件下的记录数。接口不返回业务记录明细。
调用方只需要传入功能菜单编码 MenuId,不需要传入数据模型编码、数据表名或列表配置编码。服务端会根据菜单编码自动解析对应的列表和数据权限。
请求参数
| 参数名 | 参数位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
Authorization | Header | string | 是 | 已登录用户的 Bearer token。 |
UserId | Header | string | 是 | 当前登录用户 ID,必须与 token 解析出的用户一致。 |
TnCode | Header | string | 是 | 租户编码。 |
UserId | Body | string | 是 | 当前登录用户 ID,必须与 token 解析出的用户一致。 |
Items | Body | array | 是 | 待统计功能菜单集合,不能为空,单次最多 100 项。 |
Items[].MenuId | Body | string | 是 | 功能菜单编码,即列表的 AppItemCode。只需传菜单编码。 |
Items[].SearchCondition | Body | array | 否 | 当前菜单的筛选条件,格式与 GetListData.SearchCondition 相同。 |
每个菜单均校验当前用户的菜单权限和数据范围。任一菜单不存在、类型不支持、无访问权限或参数不合法时,整个请求返回失败,不返回部分结果。
请求示例
{
"UserId": "18f923a7-5a5e-426d-94ae-a55ad1a4b239",
"Items": [
{
"MenuId": "691fa4bdd6dc435c",
"SearchCondition": [
{
"ComponentKey": "Text",
"Name": "State",
"Operation": "Equal",
"ValueType": "Custom",
"Value": "0",
"QueryType": "And"
}
]
},
{
"MenuId": "d2d289b2541a44b0",
"SearchCondition": []
}
]
}
返回结果
成功时,Result 是与 Items 同顺序的计数结果:
{
"Code": 200,
"Message": "",
"Result": [
{
"menuId": "691fa4bdd6dc435c",
"count": 12
},
{
"menuId": "d2d289b2541a44b0",
"count": 35
}
],
"Status": 1
}
count 已应用平台原有的列表搜索、数据范围、逻辑删除和权限规则,语义与对同一菜单调用 GetListData 后读取 PagingInfo.DataCount 一致。接口直接执行 COUNT(1),不加载记录明细、不执行字段映射、行颜色或汇总计算。
错误示例
{
"Code": 500,
"Message": "当前用户无权访问菜单[691fa4bdd6dc435c]",
"Result": null,
"Status": 0
}
常见错误包括:
用户id为空只能查询当前登录用户的数据菜单集合为空单次最多查询100个菜单菜单不存在当前菜单类型不支持仅查询记录数当前用户无权访问菜单[...]
当前支持普通列表(GridList)、视图列表(ViewList)、邮件列表(MailList)和工作流列表(WorkflowList)。外部数据源列表、API 列表、树列表和文件列表不支持本接口,因为这些类型没有统一且可验证的仅计数查询能力。