跳到主要内容

批量获取菜单记录数接口

接口

HttpPost:api/FrontEnd/GetListDataCounts

按当前登录用户的数据权限,批量查询多个功能菜单在各自搜索条件下的记录数。接口不返回业务记录明细。

调用方只需要传入功能菜单编码 MenuId,不需要传入数据模型编码、数据表名或列表配置编码。服务端会根据菜单编码自动解析对应的列表和数据权限。

请求参数

参数名参数位置类型是否必填说明
AuthorizationHeaderstring已登录用户的 Bearer token。
UserIdHeaderstring当前登录用户 ID,必须与 token 解析出的用户一致。
TnCodeHeaderstring租户编码。
UserIdBodystring当前登录用户 ID,必须与 token 解析出的用户一致。
ItemsBodyarray待统计功能菜单集合,不能为空,单次最多 100 项。
Items[].MenuIdBodystring功能菜单编码,即列表的 AppItemCode。只需传菜单编码。
Items[].SearchConditionBodyarray当前菜单的筛选条件,格式与 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 列表、树列表和文件列表不支持本接口,因为这些类型没有统一且可验证的仅计数查询能力。