1. 导出接口独立
建设部
  • 全流程统计
    • 本月扣分
    • 全流程统计
      GET
    • 建设交付周期扣分
      POST
  • 仪表盘(dashboard)
    • 代办数量
      GET
    • 代办详情
      GET
    • 立项
      GET
    • 交付
      GET
    • 签单
      GET
    • 整体交付及时性数据
      POST
    • 周报数据
      GET
  • 项目进度
    • get_project_progress
      GET
    • calculate_project_latest_delivery
      POST
    • save_project_progress
      POST
    • getProjectById
      POST
  • 用户
    • 用户登录
      POST
    • 用户注册
      POST
    • 修改密码
      POST
    • 手机号登录
      POST
    • 用户名密码登录(新版)
      POST
    • 发送手机登录验证码
      POST
    • 获取用户信息
      GET
    • 获取用户列表
      GET
    • 删除用户
      DELETE
    • 根据主键更新用户信息
      PUT
  • 项目管理
    • 项目管理
    • 批量导入
    • getProjectById
    • check_order_id_unique
    • order_id_suggestions
    • update.wf.phase8_beizhu
  • 导出接口独立
    • 项目导出(参数和项目列表一致)
      POST
    • 导出状态查询接口
      GET
    • 导出服务健康状态
      GET
  • socket.io
  • 项目列表
    • project_list
    • 用于下拉筛选选项
    • 批量替换
  • statistics
    • get_overall_statistics
    • district_operator_delivery_stats
  • 操作日志
    • auditlog_list
  • 管理员工具
    • excel_upload_and_process
    • excel_upload_and_process Copy
  • 申诉审核
    • 代办
      • 区县签单审核
      • 建设交付审核
    • 提交项目阻工申诉
    • 获取申诉列表
    • 获取申诉详情
    • 审批申诉 (批准)
    • 审批申诉 (驳回)
    • 取消申诉
    • 获取审批人候选列表(合并管理员和领导)
  • 免费节假日api
    GET
  • 数据模型
    • Schemas
      • CalculateQuoteDetailsInput
      • DistrictOverallMetrics
      • CalculateQuoteDetailsResponse
      • CompanyOverallMetrics
      • DeliveryOverallData
      • DistrictTimelinessMetrics
      • CompanyTimelinessMetrics
      • DeliveryTimelinessData
  1. 导出接口独立

导出状态查询接口

开发中
GET
/api/project/export/status

导出状态 API 文档#

1. 状态查询接口#

Endpoint:
GET /api/project/export/status
用途:
检查当前系统是否正在执行导出任务,并返回剩余等待时间(如果正在导出)。

2. 返回数据结构#

情况 1:系统空闲(可立即导出)#
{
  "isExporting": false
}
字段类型说明
isExportingbooleanfalse 表示当前无导出任务

情况 2:系统繁忙(导出中)#
{
  "isExporting": true,
  "estimatedTime": 30000,
  "remainingTime": 24044
}
字段类型说明
isExportingbooleantrue 表示当前有导出任务正在进行
estimatedTimenumber预估总耗时(毫秒),基于历史数据计算(示例值 30000 表示预计 30 秒完成)
remainingTimenumber剩余等待时间(毫秒),动态计算(示例值 24044 表示剩余约 24 秒)

3. 使用场景示例#

前端轮询逻辑#
导出接口冲突响应#
当用户尝试导出但系统繁忙时,接口会返回:
HTTP 423 Locked
{
  "error": "系统繁忙,请稍后再试",
  "retryAfter": 24044
}
此时前端应:
1.
禁用导出按钮
2.
显示倒计时(retryAfter / 1000 秒)
3.
轮询 /export/status 直到 isExporting 为 false

4. 注意事项#

1.
时间单位
所有时间字段均以 毫秒(ms) 为单位,前端需转换显示(如 remainingTime / 1000 显示为秒)。
2.
精度误差
remainingTime 是服务端实时计算的近似值,实际导出完成时间可能有 ±2 秒误差。
3.
失败处理
如果导出任务意外中断(如服务崩溃),isExporting 会被自动重置为 false(通过 on-finished 兜底)。
4.
预估逻辑
estimatedTime 初始值为 30 秒,后续会根据历史任务耗时动态调整(如最近 3 次平均耗时 × 1.2)。

5. 与其他接口的关系#

接口关联逻辑
POST /api/project/export调用前建议先检查 /export/status,避免直接触发 423 错误
GET /export/status在收到 423 错误后,应持续轮询此接口直到 isExporting 为 false

6. 可视化建议#

绿色:空闲状态(isExporting: false)
黄色闪烁:导出中(isExporting: true + 动态倒计时)

此设计通过 最小化主动推送(依赖轮询)实现类似 Socket.IO 的实时效果,适合不支持 WebSocket 的环境。

请求参数

Authorization
在 header 添加参数
Authorization
示例:
Authorization: ********************

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request GET '/api/project/export/status' \
--header 'Authorization: <api-key>'

返回响应

🟢200成功
application/json
Body

示例
{"isExporting":false}
修改于 2025-07-02 00:25:44
上一页
项目导出(参数和项目列表一致)
下一页
导出服务健康状态
Built with