# NSService > 域名服务 --- ## composeNSBoard > 组合看板数据 - 角色:`admin` - HTTP:`POST https://backend.dooki.cloud/NSService/composeNSBoard` - RPC:`rpc composeNSBoard (ComposeNSBoardRequest) returns (ComposeNSBoardResponse);` **请求对象 (`ComposeNSBoardRequest`)** ```json {} ``` **响应对象 (`ComposeNSBoardResponse`)** ```json { "countNSDomains": "int64", "countNSRecords": "int64", "countNSClusters": "int64", "countNSNodes": "int64", "countOfflineNSNodes": "int64", "dailyTrafficStats": "[]DailyTrafficStat", "hourlyTrafficStats": "[]HourlyTrafficStat", "topNSNodeStats": "[]NodeStat", "topNSDomainStats": "[]DomainStat", "cpuNodeValues": "[]NodeValue", "memoryNodeValues": "[]NodeValue", "loadNodeValues": "[]NodeValue", "day": "string", "bytes": "int64", "countRequests": "int64", "hour": "string", "nsClusterId": "int64", "nsNodeId": "int64", "nsNodeName": "string", "nsDomainId": "int64", "nsDomainName": "string" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/NSService/composeNSBoard" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` --- ## composeNSUserBoard > 组合用户看板数据 - 角色:`admin`, `user` - HTTP:`POST https://backend.dooki.cloud/NSService/composeNSUserBoard` - RPC:`rpc composeNSUserBoard(ComposeNSUserBoardRequest) returns (ComposeNSUserBoardResponse);` **请求对象 (`ComposeNSUserBoardRequest`)** ```json { "userId": "int64 // 用户ID" } ``` **响应对象 (`ComposeNSUserBoardResponse`)** ```json { "countNSDomains": "int64", "countNSRecords": "int64", "countNSRoutes": "int64", "nsUserPlan": "NSUserPlan", "topNSDomainStats": "[]DomainStat", "nsDomainId": "int64", "nsDomainName": "string", "countRequests": "int64", "bytes": "int64" } ``` **调用示例** ```bash curl -X POST "https://backend.dooki.cloud/NSService/composeNSUserBoard" \ -H "Content-Type: application/json" \ -H "X-Edge-Access-Token: " \ -d '{ ... }' ``` ---