{"openapi":"3.0.3","info":{"title":"rust_server","description":"","license":{"name":""},"version":"0.1.0"},"paths":{"/api/alerts":{"get":{"tags":["网页管理"],"operationId":"get_alerts","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}},{"name":"limit","in":"query","description":"数量限制","required":false,"schema":{"type":"integer","format":"int32","nullable":true}}],"responses":{"200":{"description":"获取报警列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertsResponse"}}}}}}},"/api/axis/metrics":{"get":{"tags":["网页管理"],"operationId":"get_axis_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取轴线指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AxisMetricsResponse"}}}}}}},"/api/axis/overview":{"get":{"tags":["网页管理"],"operationId":"get_axis_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"axis overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/axis/reports":{"get":{"tags":["网页管理"],"operationId":"get_axis_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取轴线报告列表成功"}}}},"/api/axis/reports/detail":{"get":{"tags":["网页管理"],"operationId":"get_axis_reports_detail","parameters":[{"name":"reportId","in":"query","description":"报告ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取轴线报告详情成功"}}}},"/api/design/alignment":{"get":{"tags":["网页管理"],"operationId":"get_design_alignment","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取线路列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignmentsResponse"}}}}}}},"/api/design/alignment/curves":{"get":{"tags":["网页管理"],"operationId":"get_design_alignment_curves","parameters":[{"name":"alignmentId","in":"query","description":"线路ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取线路曲线信息成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlignmentCurvesResponse"}}}}}}},"/api/design/metrics":{"get":{"tags":["网页管理"],"operationId":"get_design_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取设计指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesignMetricsResponse"}}}}}}},"/api/design/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_design_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"design overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/design/templates":{"get":{"tags":["网页管理"],"operationId":"get_design_templates","parameters":[{"name":"overviewId","in":"query","description":"总览ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取模板列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatesResponse"}}}}}}},"/api/design/templates/detail":{"get":{"tags":["网页管理"],"operationId":"get_design_templates_detail","parameters":[{"name":"templateId","in":"query","description":"模板ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取模板详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateDetailResponse"}}}}}}},"/api/design/templates/overviews":{"get":{"tags":["网页管理"],"operationId":"get_design_templates_overviews","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取模板总览列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateOverviewsResponse"}}}}}}},"/api/design/tunnel-matches":{"get":{"tags":["网页管理"],"operationId":"get_design_tunnel_matches","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取隧道匹配列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TunnelMatchesResponse"}}}}}}},"/api/design/tunnel-matches/detail":{"get":{"tags":["网页管理"],"operationId":"get_design_tunnel_matches_detail","parameters":[{"name":"matchId","in":"query","description":"匹配ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取隧道匹配详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TunnelMatchDetailResponse"}}}}}}},"/api/disease/metrics":{"get":{"tags":["网页管理"],"operationId":"get_disease_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取病害指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiseaseMetricsResponse"}}}}}}},"/api/disease/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_disease_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"disease overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/disease/reports":{"get":{"tags":["网页管理"],"operationId":"get_disease_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取病害报告列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiseaseReportsResponse"}}}}}}},"/api/disease/reports/detail":{"get":{"tags":["网页管理"],"operationId":"get_disease_reports_detail","parameters":[{"name":"reportId","in":"query","description":"报告ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取病害报告详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiseaseReportDetailResponse"}}}}}}},"/api/ellipse/metrics":{"get":{"tags":["网页管理"],"operationId":"get_ellipse_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取椭圆度指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EllipseMetricsResponse"}}}}}}},"/api/ellipse/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_ellipse_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"ellipse overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/ellipse/reports":{"get":{"tags":["网页管理"],"operationId":"get_ellipse_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取椭圆度报告列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EllipseReportsResponse"}}}}}}},"/api/ellipse/reports/sections":{"get":{"tags":["网页管理"],"operationId":"get_ellipse_reports_sections","parameters":[{"name":"reportId","in":"query","description":"报告ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取椭圆度报告断面列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EllipseSectionsResponse"}}}}}}},"/api/home/module-summaries":{"get":{"tags":["网页管理"],"operationId":"get_module_summaries","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取模块摘要成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleSummariesResponse"}}}}}}},"/api/home/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_home_overview_v2","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"home overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/projects/tree":{"get":{"tags":["项目管理"],"operationId":"get_projects_tree_v2","responses":{"200":{"description":"project tree","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectTreeResponse"}}}}},"security":[{"bearer_auth":[]}]}},"/api/raw/metrics":{"get":{"tags":["网页管理"],"operationId":"get_raw_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取原始数据指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawMetricsResponse"}}}}}}},"/api/raw/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_raw_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"raw overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/raw/point-cloud":{"get":{"tags":["网页管理"],"operationId":"get_raw_point_cloud","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取点云列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointCloudResponse"}}}}}}},"/api/raw/point-cloud/preview":{"get":{"tags":["网页管理"],"operationId":"get_raw_point_cloud_preview","parameters":[{"name":"pointCloudId","in":"query","description":"点云ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取点云预览详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PointCloudPreviewResponse"}}}}}}},"/api/raw/reports":{"get":{"tags":["网页管理"],"operationId":"get_raw_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}},{"name":"category","in":"query","description":"报告类别: overbreak, primary-limit, secondary-limit, primary-flatness","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取原始报告列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawReportsResponse"}}}}}}},"/api/slope/metrics":{"get":{"tags":["网页管理"],"operationId":"get_slope_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取调坡调线指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlopeMetricsResponse"}}}}}}},"/api/slope/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_slope_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"slope overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/slope/reports":{"get":{"tags":["网页管理"],"operationId":"get_slope_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取调坡调线报告列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlopeReportsResponse"}}}}}}},"/api/slope/reports/sections":{"get":{"tags":["网页管理"],"operationId":"get_slope_reports_sections","parameters":[{"name":"reportId","in":"query","description":"报告ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取调坡调线断面数据成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlopeSectionsResponse"}}}}}}},"/api/stagger/metrics":{"get":{"tags":["网页管理"],"operationId":"get_stagger_metrics","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取错台指标成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaggerMetricsResponse"}}}}}}},"/api/stagger/overview":{"get":{"tags":["ç¼ƒæˆ¦ã€‰ç» ï¼„æ‚Š"],"operationId":"get_stagger_overview","parameters":[{"name":"scopeType","in":"query","description":"scope type","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"scope id","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"stagger overview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}}}}},"/api/stagger/reports":{"get":{"tags":["网页管理"],"operationId":"get_stagger_reports","parameters":[{"name":"scopeType","in":"query","description":"范围类型","required":false,"schema":{"type":"string","nullable":true}},{"name":"scopeId","in":"query","description":"范围ID","required":false,"schema":{"type":"string","nullable":true}}],"responses":{"200":{"description":"获取错台报告列表成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaggerReportsResponse"}}}}}}},"/api/stagger/reports/detail":{"get":{"tags":["网页管理"],"operationId":"get_stagger_reports_detail","parameters":[{"name":"reportId","in":"query","description":"报告ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取错台报告详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaggerReportDetailResponse"}}}}}}},"/api/v2/admin/users":{"get":{"tags":["用户管理"],"operationId":"admin_list_users","responses":{"200":{"description":"获取用户列表成功"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["用户管理"],"operationId":"admin_create_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreateUserRequest"}}},"required":true},"responses":{"200":{"description":"创建用户成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/admin/users/{userid}":{"delete":{"tags":["用户管理"],"operationId":"admin_delete_user","parameters":[{"name":"userid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"删除用户成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/admin/users/{userid}/scopes":{"get":{"tags":["用户管理"],"operationId":"get_user_scopes","parameters":[{"name":"userid","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取用户权限范围成功"}},"security":[{"bearer_auth":[]}]},"post":{"tags":["用户管理"],"operationId":"add_user_scopes","parameters":[{"name":"userid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopePermissionsBatchRequest"}}},"required":true},"responses":{"200":{"description":"添加用户范围权限成功"}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["用户管理"],"operationId":"delete_user_scopes","parameters":[{"name":"userid","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScopePermissionsBatchRequest"}}},"required":true},"responses":{"200":{"description":"移除用户范围权限成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project":{"get":{"tags":["项目管理"],"operationId":"get_user_projects","responses":{"200":{"description":"获取用户项目列表成功","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListResponse"}}}}}},"security":[{"bearer_auth":[]}]},"post":{"tags":["项目管理"],"operationId":"create_project","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ProjectCreateWithFileRequest"}}},"required":true},"responses":{"200":{"description":"创建项目成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}}},"security":[{"bearer_auth":[]}]},"put":{"tags":["项目管理"],"operationId":"update_project","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/ProjectUpdateWithFileRequest"}}},"required":true},"responses":{"200":{"description":"更新项目成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/exportPrj":{"post":{"tags":["项目管理"],"operationId":"export_project","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDeleteRequest"}}},"required":true},"responses":{"200":{"description":"导出项目XML成功","content":{"text/plain":{"schema":{"type":"string"}}}}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/isDefault":{"put":{"tags":["项目管理"],"operationId":"set_default_project","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDefaultRequest"}}},"required":true},"responses":{"200":{"description":"设置默认项目成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/isValid":{"put":{"tags":["项目管理"],"operationId":"set_project_valid","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectValidRequest"}}},"required":true},"responses":{"200":{"description":"设置项目有效性成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/l2":{"get":{"tags":["项目管理"],"operationId":"get_user_l2_ids","responses":{"200":{"description":"获取当前用户下所有的二级项目节点成功","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLevelNodeInfo"}}}}}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/l2/{l2_id}/l3":{"get":{"tags":["项目管理"],"operationId":"get_user_l3_ids","parameters":[{"name":"l2_id","in":"path","description":"二级项目ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"获取当前用户下指定二级项目下的所有三级项目节点成功","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLevelNodeInfo"}}}}}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/meta/sync":{"post":{"tags":["项目管理"],"operationId":"sync_project_level_meta","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectLevelMetaSyncRequest"}}},"required":true},"responses":{"200":{"description":"批量同步第三方项目层级元数据成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/trash":{"get":{"tags":["项目管理"],"operationId":"get_trash_projects","responses":{"200":{"description":"获取回收站项目列表成功","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["项目管理"],"operationId":"delete_trash_project","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDeleteRequest"}}},"required":true},"responses":{"200":{"description":"彻底删除回收站项目成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/trash/restore":{"put":{"tags":["项目管理"],"operationId":"restore_trash_project","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDeleteRequest"}}},"required":true},"responses":{"200":{"description":"恢复回收站项目成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/tree":{"get":{"tags":["项目管理"],"operationId":"get_project_tree","responses":{"200":{"description":"获取项目树成功","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTreeResponse"}}}}}},"security":[{"bearer_auth":[]}]}},"/api/v2/project/{project_id}":{"get":{"tags":["项目管理"],"operationId":"get_project_by_id","parameters":[{"name":"project_id","in":"path","description":"项目ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"根据ID获取项目详情成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}}},"security":[{"bearer_auth":[]}]},"delete":{"tags":["项目管理"],"operationId":"delete_project","parameters":[{"name":"project_id","in":"path","description":"项目ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"删除项目到回收站成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/user/getRoles":{"get":{"tags":["用户管理"],"operationId":"get_roles","responses":{"200":{"description":"获取角色成功"}},"security":[{"bearer_auth":[]}]}},"/api/v2/user/login":{"post":{"tags":["用户管理"],"operationId":"login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"登录成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}}}}},"/api/v2/user/refreshAccessToken":{"post":{"tags":["用户管理"],"operationId":"refresh_access_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"required":true},"responses":{"200":{"description":"刷新成功"}}}},"/api/v2/user/register":{"post":{"tags":["用户管理"],"operationId":"register","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"注册成功"}}}},"/api/v2/user/userPassword":{"put":{"tags":["用户管理"],"operationId":"change_password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"修改密码成功"}},"security":[{"bearer_auth":[]}]}}},"components":{"schemas":{"AdminCreateUserRequest":{"type":"object","required":["username","password"],"properties":{"org_id":{"type":"string","nullable":true},"password":{"type":"string"},"role_id":{"type":"string","nullable":true},"user_mobile":{"type":"string","nullable":true},"username":{"type":"string"}}},"AdminUserListResponse":{"type":"object","required":["total","list"],"properties":{"list":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserResponse"}},"total":{"type":"integer","format":"int64"}}},"AdminUserResponse":{"type":"object","required":["userid","username","user_status","createtime","roles"],"properties":{"createtime":{"type":"string","format":"date-time"},"org_id":{"type":"string","nullable":true},"org_name":{"type":"string","nullable":true},"roles":{"type":"array","items":{"type":"string"}},"user_mobile":{"type":"string","nullable":true},"user_status":{"type":"integer","format":"int32"},"userid":{"type":"string"},"username":{"type":"string"}}},"AlertItem":{"type":"object","required":["id","moduleId","moduleName","level","title","content","occurredAt","scopeType","scopeId","scopeName","linkType","linkTarget"],"properties":{"content":{"type":"string"},"id":{"type":"string"},"level":{"type":"string"},"linkTarget":{"type":"string"},"linkType":{"type":"string"},"moduleId":{"type":"string"},"moduleName":{"type":"string"},"occurredAt":{"type":"string"},"scopeId":{"type":"string"},"scopeName":{"type":"string"},"scopeType":{"type":"string"},"title":{"type":"string"}}},"AlertsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AlertItem"}},"message":{"type":"string"}}},"AlignmentCurvesData":{"type":"object","required":["horizontalCurves","verticalCurves","chainBreaks"],"properties":{"chainBreaks":{"type":"array","items":{"$ref":"#/components/schemas/ChainBreakItem"}},"horizontalCurves":{"type":"array","items":{"$ref":"#/components/schemas/HorizontalCurveItem"}},"verticalCurves":{"type":"array","items":{"$ref":"#/components/schemas/VerticalCurveItem"}}}},"AlignmentCurvesResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/AlignmentCurvesData"},"message":{"type":"string"}}},"AlignmentItem":{"type":"object","required":["id","nodeId","name","prefix","inputType","startStake"],"properties":{"id":{"type":"string"},"inputType":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"prefix":{"type":"string"},"startStake":{"type":"string"}}},"AlignmentsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AlignmentItem"}},"message":{"type":"string"}}},"AxisMetricsData":{"type":"object","required":["nodeId","points","passRate","warnings","critical","xMax","xMid","yMax","yMid","weeklyOver","processRate","pending"],"properties":{"critical":{"type":"integer","format":"int32"},"nodeId":{"type":"string"},"passRate":{"type":"number","format":"double"},"pending":{"type":"integer","format":"int32"},"points":{"type":"integer","format":"int32"},"processRate":{"type":"integer","format":"int32"},"warnings":{"type":"integer","format":"int32"},"weeklyOver":{"type":"integer","format":"int32"},"xMax":{"type":"number","format":"double"},"xMid":{"type":"number","format":"double"},"yMax":{"type":"number","format":"double"},"yMid":{"type":"number","format":"double"}}},"AxisMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/AxisMetricsData"},"message":{"type":"string"}}},"AxisReportDetailData":{"type":"object","required":["reportId","profile","details"],"properties":{"details":{"type":"array","items":{"$ref":"#/components/schemas/AxisReportDetailItem"}},"profile":{"type":"array","items":{"$ref":"#/components/schemas/AxisReportProfileItem"}},"reportId":{"type":"string"}}},"AxisReportDetailItem":{"type":"object","required":["sequence","segmentNo","mileage","fittedX","fittedY","fittedZ","designX","designY","designZ","horizontalDeviation","verticalDeviation","pointDistance"],"properties":{"designX":{"type":"number","format":"double"},"designY":{"type":"number","format":"double"},"designZ":{"type":"number","format":"double"},"fittedX":{"type":"number","format":"double"},"fittedY":{"type":"number","format":"double"},"fittedZ":{"type":"number","format":"double"},"horizontalDeviation":{"type":"number","format":"double"},"mileage":{"type":"number","format":"double"},"pointDistance":{"type":"number","format":"double"},"segmentNo":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"verticalDeviation":{"type":"number","format":"double"}}},"AxisReportDetailResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/AxisReportDetailData"},"message":{"type":"string"}}},"AxisReportItem":{"type":"object","required":["id","nodeId","name","uploadedAt","mileageStart","mileageEnd","pointCount","maxOffset","maxElevationDiff"],"properties":{"id":{"type":"string"},"maxElevationDiff":{"type":"number","format":"double"},"maxOffset":{"type":"number","format":"double"},"mileageEnd":{"type":"string"},"mileageStart":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"pointCount":{"type":"integer","format":"int32"},"uploadedAt":{"type":"string"}}},"AxisReportProfileItem":{"type":"object","required":["mileage","offset","elevationDiff"],"properties":{"elevationDiff":{"type":"number","format":"double"},"mileage":{"type":"number","format":"double"},"offset":{"type":"number","format":"double"}}},"AxisReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AxisReportItem"}},"message":{"type":"string"}}},"ChainBreakItem":{"type":"object","required":["id","alignmentId","sequence","type","beforeChainage","beforeStake","afterChainage","afterStake","breakLength"],"properties":{"afterChainage":{"type":"string"},"afterStake":{"type":"string"},"alignmentId":{"type":"string"},"beforeChainage":{"type":"string"},"beforeStake":{"type":"string"},"breakLength":{"type":"number","format":"double"},"id":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"type":{"type":"string"}}},"ChangePasswordRequest":{"type":"object","required":["old_password","new_password"],"properties":{"new_password":{"type":"string"},"old_password":{"type":"string"}}},"DesignMetricsData":{"type":"object","required":["nodeId","mileageKm","curves","verticalCurves","coordinates","completeness","straightSegments","circularSegments","transitionSegments","radiusMin","radiusMax","progressPlan","progressActual"],"properties":{"circularSegments":{"type":"integer","format":"int32"},"completeness":{"type":"number","format":"double"},"coordinates":{"type":"integer","format":"int32"},"curves":{"type":"integer","format":"int32"},"mileageKm":{"type":"number","format":"double"},"nodeId":{"type":"string"},"progressActual":{"type":"integer","format":"int32"},"progressPlan":{"type":"integer","format":"int32"},"radiusMax":{"type":"number","format":"double"},"radiusMin":{"type":"number","format":"double"},"straightSegments":{"type":"integer","format":"int32"},"transitionSegments":{"type":"integer","format":"int32"},"verticalCurves":{"type":"integer","format":"int32"}}},"DesignMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/DesignMetricsData"},"message":{"type":"string"}}},"DiseaseDetailItem":{"type":"object","required":["id","reportId","sequence","diseaseType","mileageRange","segmentRange","image","estimatedValue","unit"],"properties":{"diseaseType":{"type":"string"},"estimatedValue":{"type":"number","format":"double"},"id":{"type":"string"},"image":{"type":"string"},"mileageRange":{"type":"string"},"reportId":{"type":"string"},"segmentRange":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"unit":{"type":"string"}}},"DiseaseMetricsData":{"type":"object","required":["nodeId","total","pending","processing","resolved","newThisMonth","crack","seepage","severe"],"properties":{"crack":{"type":"integer","format":"int32"},"newThisMonth":{"type":"integer","format":"int32"},"nodeId":{"type":"string"},"pending":{"type":"integer","format":"int32"},"processing":{"type":"integer","format":"int32"},"resolved":{"type":"integer","format":"int32"},"seepage":{"type":"integer","format":"int32"},"severe":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"DiseaseMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/DiseaseMetricsData"},"message":{"type":"string"}}},"DiseaseReportDetailData":{"type":"object","required":["reportId","summaries","details"],"properties":{"details":{"type":"array","items":{"$ref":"#/components/schemas/DiseaseDetailItem"}},"reportId":{"type":"string"},"summaries":{"type":"array","items":{"$ref":"#/components/schemas/DiseaseSummaryItem"}}}},"DiseaseReportDetailResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/DiseaseReportDetailData"},"message":{"type":"string"}}},"DiseaseReportItem":{"type":"object","required":["id","nodeId","name","uploadedAt"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"uploadedAt":{"type":"string"}}},"DiseaseReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/DiseaseReportItem"}},"message":{"type":"string"}}},"DiseaseSummaryItem":{"type":"object","required":["type","value","unit"],"properties":{"type":{"type":"string"},"unit":{"type":"string"},"value":{"type":"number","format":"double"}}},"EllipseMetricsData":{"type":"object","required":["nodeId","rings","maxValue","avgValue","passRate","over","longAxisMax","longAxisMin","longAxisAvg","shortAxisMax","shortAxisMin","shortAxisAvg","rotationMax","rotationAvg","rotationPassRate","rotationOver"],"properties":{"avgValue":{"type":"number","format":"double"},"longAxisAvg":{"type":"number","format":"double"},"longAxisMax":{"type":"number","format":"double"},"longAxisMin":{"type":"number","format":"double"},"maxValue":{"type":"number","format":"double"},"nodeId":{"type":"string"},"over":{"type":"integer","format":"int32"},"passRate":{"type":"number","format":"double"},"rings":{"type":"integer","format":"int32"},"rotationAvg":{"type":"number","format":"double"},"rotationMax":{"type":"number","format":"double"},"rotationOver":{"type":"integer","format":"int32"},"rotationPassRate":{"type":"number","format":"double"},"shortAxisAvg":{"type":"number","format":"double"},"shortAxisMax":{"type":"number","format":"double"},"shortAxisMin":{"type":"number","format":"double"}}},"EllipseMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/EllipseMetricsData"},"message":{"type":"string"}}},"EllipseReportItem":{"type":"object","required":["id","nodeId","name","uploadedAt","mode","sectionCount","midEllipticity","maxEllipticity","overLimitCount"],"properties":{"id":{"type":"string"},"maxEllipticity":{"type":"number","format":"double"},"midEllipticity":{"type":"number","format":"double"},"mode":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"overLimitCount":{"type":"integer","format":"int32"},"sectionCount":{"type":"integer","format":"int32"},"uploadedAt":{"type":"string"}}},"EllipseReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/EllipseReportItem"}},"message":{"type":"string"}}},"EllipseSectionItem":{"type":"object","required":["id","reportId","sectionMileage","ringNo","centerOffsetX","centerOffsetY","worldX","worldY","worldZ","longAxis","shortAxis","rotation","ellipticity","horizontalDiameter","radialSamples","profileSamples"],"properties":{"centerOffsetX":{"type":"number","format":"double"},"centerOffsetY":{"type":"number","format":"double"},"ellipticity":{"type":"number","format":"double"},"horizontalDiameter":{"type":"number","format":"double"},"id":{"type":"string"},"longAxis":{"type":"number","format":"double"},"profileSamples":{"type":"array","items":{"$ref":"#/components/schemas/ProfileSample"}},"radialSamples":{"type":"array","items":{"$ref":"#/components/schemas/RadialSample"}},"reportId":{"type":"string"},"ringNo":{"type":"string"},"rotation":{"type":"number","format":"double"},"sectionMileage":{"type":"string"},"shortAxis":{"type":"number","format":"double"},"worldX":{"type":"number","format":"double"},"worldY":{"type":"number","format":"double"},"worldZ":{"type":"number","format":"double"}}},"EllipseSectionsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/EllipseSectionItem"}},"message":{"type":"string"}}},"HorizontalCurveItem":{"type":"object","required":["id","alignmentId","sequence","intersectionName","x","y","firstCurveLength","radius","secondCurveLength"],"properties":{"alignmentId":{"type":"string"},"firstCurveLength":{"type":"number","format":"double"},"firstCurveStartRadius":{"type":"number","format":"double","nullable":true},"id":{"type":"string"},"intersectionName":{"type":"string"},"radius":{"type":"number","format":"double"},"secondCurveEndRadius":{"type":"number","format":"double","nullable":true},"secondCurveLength":{"type":"number","format":"double"},"sequence":{"type":"integer","format":"int32"},"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"}}},"LoginRequest":{"type":"object","required":["username","password"],"properties":{"password":{"type":"string"},"username":{"type":"string"}}},"LoginResponse":{"type":"object","required":["accessToken","refreshToken","userInfo","must_change_password"],"properties":{"accessToken":{"type":"string"},"must_change_password":{"type":"boolean"},"refreshToken":{"type":"string"},"userInfo":{"$ref":"#/components/schemas/UserInfo"}}},"ModuleSummariesResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ModuleSummaryItem"}},"message":{"type":"string"}}},"ModuleSummaryItem":{"type":"object","required":["moduleId","metrics"],"properties":{"metrics":{},"moduleId":{"type":"string"}}},"OverviewResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{},"message":{"type":"string"}}},"PointCloudItem":{"type":"object","required":["id","nodeId","name","workPoint","description","createdAt","status"],"properties":{"createdAt":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"status":{"type":"string"},"workPoint":{"type":"string"}}},"PointCloudPreviewData":{"type":"object","required":["pointCloudId","name","previewType","previewUrl","background"],"properties":{"background":{"type":"string"},"name":{"type":"string"},"pointCloudId":{"type":"string"},"previewType":{"type":"string"},"previewUrl":{"type":"string"}}},"PointCloudPreviewResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/PointCloudPreviewData"},"message":{"type":"string"}}},"PointCloudResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PointCloudItem"}},"message":{"type":"string"}}},"ProfileSample":{"type":"object","required":["angleDeg","delta"],"properties":{"angleDeg":{"type":"number","format":"double"},"delta":{"type":"number","format":"double"}}},"Project":{"type":"object","required":["project_id","project_name","update_time","is_exits"],"properties":{"is_exits":{"type":"integer","format":"int32","description":"是否存在 (1表示存在，0表示已删除)"},"l1_id":{"type":"string","description":"一级项目树节点 ID（兼容旧的数字/带前缀字符串）","nullable":true},"l2_id":{"type":"string","description":"二级组织ID","nullable":true},"l3_id":{"type":"string","description":"三级组织ID","nullable":true},"project_alias":{"type":"string","description":"项目别名","nullable":true},"project_id":{"type":"string","description":"项目ID"},"project_name":{"type":"string","description":"项目名称"},"project_orgtree":{"type":"string","description":"项目组织架构树 JSON 字符串","nullable":true},"update_time":{"type":"string","format":"date-time","description":"更新时间"}}},"ProjectCreateRequest":{"type":"object","required":["project_name"],"properties":{"l1_id":{"type":"string","description":"一级项目树节点 ID","nullable":true},"l2_id":{"type":"string","description":"二级组织ID","nullable":true},"l3_id":{"type":"string","description":"三级组织ID","nullable":true},"project_alias":{"type":"string","description":"项目别名","nullable":true},"project_name":{"type":"string","description":"项目名称"},"project_orgtree":{"type":"string","description":"项目组织架构树 JSON 字符串","nullable":true}}},"ProjectCreateWithFileRequest":{"type":"object","required":["project_name"],"properties":{"file":{"type":"string","format":"binary","description":"上传的数据文件 (XML格式或其他支持的格式)","nullable":true},"project_alias":{"type":"string","description":"项目别名","nullable":true},"project_name":{"type":"string","description":"项目名称"}}},"ProjectDefaultRequest":{"type":"object","required":["project_id","project_status"],"properties":{"project_id":{"type":"string","description":"项目ID"},"project_name":{"type":"string","description":"项目名称","nullable":true},"project_status":{"type":"integer","format":"int32","description":"默认状态 (例如 1 表示设为默认项目，0 表示取消默认项目)"}}},"ProjectDeleteRequest":{"type":"object","required":["project_id"],"properties":{"project_id":{"type":"string","description":"项目ID"}}},"ProjectLevelMeta":{"type":"object","required":["node_id","node_name","level_type","update_time"],"properties":{"level_type":{"type":"string","description":"层级类型 (L1, L2, L3, L4)"},"node_id":{"type":"string","description":"节点ID"},"node_name":{"type":"string","description":"节点名称"},"parent_id":{"type":"string","description":"父级节点ID","nullable":true},"update_time":{"type":"string","format":"date-time","description":"更新时间"}}},"ProjectLevelMetaSyncItem":{"type":"object","required":["node_id","node_name","level_type"],"properties":{"level_type":{"type":"string"},"node_id":{"type":"string"},"node_name":{"type":"string"},"parent_id":{"type":"string","nullable":true}}},"ProjectLevelMetaSyncRequest":{"type":"object","required":["nodes"],"properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLevelMetaSyncItem"}}}},"ProjectLevelNodeInfo":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}}},"ProjectListResponse":{"type":"object","required":["project_id","project_name","update_time"],"properties":{"project_alias":{"type":"string","description":"项目别名","nullable":true},"project_id":{"type":"string","description":"项目ID"},"project_name":{"type":"string","description":"项目名称"},"update_time":{"type":"string","format":"date-time","description":"更新时间"}}},"ProjectTreeData":{"type":"object","required":["nodes"],"properties":{"nodes":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTreeNode"}}}},"ProjectTreeNode":{"type":"object","required":["id","name","level","range"],"properties":{"children":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTreeNode"},"description":"子节点","nullable":true},"id":{"type":"string","description":"节点ID","example":"l1-1"},"level":{"type":"string","description":"节点层级 (level1, level2, level3, level4)","example":"level1"},"name":{"type":"string","description":"节点名称","example":"上海国铁工程建设管理有限公司"},"range":{"type":"string","description":"范围描述","example":"全公司范围"}}},"ProjectTreeResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32","description":"状态码 (0表示成功)","example":0},"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectTreeNode"},"description":"树形数据"},"message":{"type":"string","description":"消息","example":"success"}}},"ProjectUpdateRequest":{"type":"object","properties":{"l1_id":{"type":"string","description":"一级项目树节点 ID","nullable":true},"l2_id":{"type":"string","description":"二级组织ID","nullable":true},"l3_id":{"type":"string","description":"三级组织ID","nullable":true},"project_alias":{"type":"string","description":"项目别名","nullable":true},"project_name":{"type":"string","description":"项目名称","nullable":true},"project_orgtree":{"type":"string","description":"项目组织架构树 JSON 字符串","nullable":true}}},"ProjectUpdateWithFileRequest":{"type":"object","required":["project_id","project_name"],"properties":{"file":{"type":"string","format":"binary","description":"上传的数据文件 (XML格式或其他支持的格式)","nullable":true},"project_id":{"type":"string","description":"项目ID"},"project_name":{"type":"string","description":"项目名称"}}},"ProjectValidRequest":{"type":"object","required":["project_id","project_status","valid"],"properties":{"project_id":{"type":"string","description":"项目ID"},"project_name":{"type":"string","description":"项目名称","nullable":true},"project_status":{"type":"integer","format":"int32","description":"项目状态"},"valid":{"type":"integer","format":"int32","description":"是否有效 (1表示有效，0表示失效)"}}},"RadialSample":{"type":"object","required":["angleDeg","delta","label"],"properties":{"angleDeg":{"type":"number","format":"double"},"delta":{"type":"number","format":"double"},"label":{"type":"string"}}},"RawMetricsData":{"type":"object","required":["nodeId","fileCount","pointCloudCount","reportCount","coverageKm","dataReadyRate"],"properties":{"coverageKm":{"type":"number","format":"double"},"dataReadyRate":{"type":"number","format":"double"},"fileCount":{"type":"integer","format":"int32"},"nodeId":{"type":"string"},"pointCloudCount":{"type":"integer","format":"int32"},"reportCount":{"type":"integer","format":"int32"}}},"RawMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/RawMetricsData"},"message":{"type":"string"}}},"RawReportItem":{"type":"object","required":["id","nodeId","category","name","workPoint","description","createdAt","status"],"properties":{"category":{"type":"string"},"createdAt":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"status":{"type":"string"},"workPoint":{"type":"string"}}},"RawReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/RawReportItem"}},"message":{"type":"string"}}},"RefreshTokenRequest":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}},"RegisterRequest":{"type":"object","required":["username","password"],"properties":{"email":{"type":"string","nullable":true},"org_id":{"type":"string","nullable":true},"password":{"type":"string"},"phone":{"type":"string","nullable":true},"username":{"type":"string"}}},"ScopePermissionRequest":{"type":"object","required":["scope_level","scope_id"],"properties":{"scope_id":{"type":"string"},"scope_level":{"type":"string"}}},"ScopePermissionResponse":{"type":"object","required":["scope_level","scope_id","create_time"],"properties":{"create_time":{"type":"string","format":"date-time"},"scope_id":{"type":"string"},"scope_level":{"type":"string"}}},"ScopePermissionsBatchRequest":{"type":"object","required":["permissions"],"properties":{"permissions":{"type":"array","items":{"$ref":"#/components/schemas/ScopePermissionRequest"}}}},"SlopeCrownInvertData":{"type":"object","properties":{"design":{"type":"number","format":"double","nullable":true},"diff":{"type":"number","format":"double","nullable":true},"measured":{"type":"number","format":"double","nullable":true}}},"SlopeMetricsData":{"type":"object","required":["nodeId","reportCount","sectionCount","maxCrownDiff","maxInvertDiff","maxOffsetDiff","avgDiff","pending"],"properties":{"avgDiff":{"type":"number","format":"double"},"maxCrownDiff":{"type":"number","format":"double"},"maxInvertDiff":{"type":"number","format":"double"},"maxOffsetDiff":{"type":"number","format":"double"},"nodeId":{"type":"string"},"pending":{"type":"integer","format":"int32"},"reportCount":{"type":"integer","format":"int32"},"sectionCount":{"type":"integer","format":"int32"}}},"SlopeMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/SlopeMetricsData"},"message":{"type":"string"}}},"SlopeReportItem":{"type":"object","required":["id","nodeId","name","mileageStart","mileageEnd","uploadedAt","method","sectionCount","maxCrownDiff","maxInvertDiff","maxOffsetDiff","maxLeftDiff","maxRightDiff","reviewStatus"],"properties":{"id":{"type":"string"},"maxCrownDiff":{"type":"number","format":"double"},"maxInvertDiff":{"type":"number","format":"double"},"maxLeftDiff":{"type":"number","format":"double"},"maxOffsetDiff":{"type":"number","format":"double"},"maxRightDiff":{"type":"number","format":"double"},"method":{"type":"string"},"mileageEnd":{"type":"string"},"mileageStart":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"},"reviewStatus":{"type":"string"},"sectionCount":{"type":"integer","format":"int32"},"uploadedAt":{"type":"string"}}},"SlopeReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SlopeReportItem"}},"message":{"type":"string"}}},"SlopeRowItem":{"type":"object","required":["position"],"properties":{"designH":{"type":"number","format":"double","nullable":true},"designO":{"type":"number","format":"double","nullable":true},"diffH":{"type":"number","format":"double","nullable":true},"diffO":{"type":"number","format":"double","nullable":true},"measuredH":{"type":"number","format":"double","nullable":true},"measuredO":{"type":"number","format":"double","nullable":true},"position":{"type":"string"}}},"SlopeSectionItem":{"type":"object","required":["id","reportId","sectionMileage","ringNo","topLabel","middleLabel","originLabel","bottomLabel","leftRows","rightRows","crown","invert"],"properties":{"bottomLabel":{"type":"string"},"crown":{"$ref":"#/components/schemas/SlopeCrownInvertData"},"id":{"type":"string"},"invert":{"$ref":"#/components/schemas/SlopeCrownInvertData"},"leftRows":{"type":"array","items":{"$ref":"#/components/schemas/SlopeRowItem"}},"middleLabel":{"type":"string"},"originLabel":{"type":"string"},"reportId":{"type":"string"},"rightRows":{"type":"array","items":{"$ref":"#/components/schemas/SlopeRowItem"}},"ringNo":{"type":"string"},"sectionMileage":{"type":"string"},"topLabel":{"type":"string"}}},"SlopeSectionsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SlopeSectionItem"}},"message":{"type":"string"}}},"StaggerMetricsData":{"type":"object","required":["nodeId","rings","maxValue","avgValue","passRate","over","lowCount","mediumCount","highCount","severeCount"],"properties":{"avgValue":{"type":"number","format":"double"},"highCount":{"type":"integer","format":"int32"},"lowCount":{"type":"integer","format":"int32"},"maxValue":{"type":"number","format":"double"},"mediumCount":{"type":"integer","format":"int32"},"nodeId":{"type":"string"},"over":{"type":"integer","format":"int32"},"passRate":{"type":"number","format":"double"},"rings":{"type":"integer","format":"int32"},"severeCount":{"type":"integer","format":"int32"}}},"StaggerMetricsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"$ref":"#/components/schemas/StaggerMetricsData"},"message":{"type":"string"}}},"StaggerReportDetailItem":{"type":"object","required":["id","reportId","sequence","ringNo","ringWidth","tunnelInnerDiameter","leftMileage","rightMileage","startEndAngle","maxChordValue","jointArcLength","avgJointOffset"],"properties":{"avgJointOffset":{"type":"number","format":"double"},"id":{"type":"string"},"jointArcLength":{"type":"number","format":"double"},"leftMileage":{"type":"string"},"maxChordValue":{"type":"number","format":"double"},"reportId":{"type":"string"},"rightMileage":{"type":"string"},"ringNo":{"type":"integer","format":"int32"},"ringWidth":{"type":"number","format":"double"},"sequence":{"type":"integer","format":"int32"},"startEndAngle":{"type":"string"},"tunnelInnerDiameter":{"type":"number","format":"double"}}},"StaggerReportDetailResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/StaggerReportDetailItem"}},"message":{"type":"string"}}},"StaggerReportItem":{"type":"object","required":["id","nodeId","name","uploadedAt","reportType","ringCount","segmentCount","maxJointOffset","midJointOffset"],"properties":{"id":{"type":"string"},"maxJointOffset":{"type":"number","format":"double"},"midJointOffset":{"type":"number","format":"double"},"name":{"type":"string"},"nodeId":{"type":"string"},"reportType":{"type":"string"},"ringCount":{"type":"integer","format":"int32"},"segmentCount":{"type":"integer","format":"int32"},"uploadedAt":{"type":"string"}}},"StaggerReportsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/StaggerReportItem"}},"message":{"type":"string"}}},"TemplateDetailItem":{"type":"object","required":["id","templateId","lineType","startOffset","startElevation","endOffset","endElevation","lineLength","radius","centerAngle","centerOffset","centerElevation","roadWidth"],"properties":{"centerAngle":{"type":"string"},"centerElevation":{"type":"number","format":"double"},"centerOffset":{"type":"number","format":"double"},"endElevation":{"type":"number","format":"double"},"endOffset":{"type":"number","format":"double"},"id":{"type":"string"},"lineLength":{"type":"number","format":"double"},"lineType":{"type":"string"},"radius":{"type":"number","format":"double"},"roadWidth":{"type":"string"},"startElevation":{"type":"number","format":"double"},"startOffset":{"type":"number","format":"double"},"templateId":{"type":"string"}}},"TemplateDetailResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TemplateDetailItem"}},"message":{"type":"string"}}},"TemplateItem":{"type":"object","required":["id","overviewId","name","type","centerOffset","archHeight"],"properties":{"archHeight":{"type":"number","format":"double"},"centerOffset":{"type":"number","format":"double"},"id":{"type":"string"},"name":{"type":"string"},"overviewId":{"type":"string"},"type":{"type":"string"}}},"TemplateOverviewItem":{"type":"object","required":["id","nodeId","name","createdAt"],"properties":{"createdAt":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"}}},"TemplateOverviewsResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TemplateOverviewItem"}},"message":{"type":"string"}}},"TemplatesResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TemplateItem"}},"message":{"type":"string"}}},"TunnelMatchDetailItem":{"type":"object","required":["id","matchId","sequence","alignmentName","templateName","startStake","endStake","length","rockGrade"],"properties":{"alignmentName":{"type":"string"},"endStake":{"type":"string"},"id":{"type":"string"},"length":{"type":"number","format":"double"},"matchId":{"type":"string"},"rockGrade":{"type":"string"},"sequence":{"type":"integer","format":"int32"},"startStake":{"type":"string"},"templateName":{"type":"string"}}},"TunnelMatchDetailResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TunnelMatchDetailItem"}},"message":{"type":"string"}}},"TunnelMatchItem":{"type":"object","required":["id","nodeId","name","alignmentName"],"properties":{"alignmentName":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"nodeId":{"type":"string"}}},"TunnelMatchesResponse":{"type":"object","required":["code","data","message"],"properties":{"code":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TunnelMatchItem"}},"message":{"type":"string"}}},"UserInfo":{"type":"object","required":["id","username","role"],"properties":{"email":{"type":"string","nullable":true},"id":{"type":"string"},"role":{"type":"string"},"username":{"type":"string"}}},"VerticalCurveItem":{"type":"object","required":["id","alignmentId","sequence","changeType","stake","elevation","radius","slope"],"properties":{"alignmentId":{"type":"string"},"changeType":{"type":"string"},"elevation":{"type":"number","format":"double"},"id":{"type":"string"},"radius":{"type":"number","format":"double"},"sequence":{"type":"integer","format":"int32"},"slope":{"type":"number","format":"double"},"stake":{"type":"string"}}}},"securitySchemes":{"bearer_auth":{"type":"apiKey","in":"header","name":"Authorization"}}},"tags":[{"name":"网页管理","description":"网页管理相关接口"},{"name":"用户管理","description":"用户账号与权限管理"},{"name":"项目管理","description":"项目管理相关接口"}]}