# PilotCertification 模块业务逻辑

## 模块职责

PilotCertification 负责首页 `pilot_cert` 入口的飞手认证申请。模块展示实名状态、飞手证件、无人机信息、联系方式和审核记录，并支持未提交或驳回状态下重新提交。

## 核心流程

- `PilotCertificationView` 从环境读取 `ProfileAPI`、`PilotCertificationAPI`、`OSSUploadService` 和当前景区。
- `PilotCertificationViewModel` 并行加载实名认证状态和飞手认证详情，单通道失败不清空另一通道数据。
- 用户选择证件图片后先保存在本地状态，提交时通过 OSS 上传并写入 `certificate_image`。
- 未提交状态调用 `/api/app/flyer/apply`，驳回且有飞手记录 ID 时调用 `/api/app/flyer/edit`。
- 验证码通过 `/api/app/flyer/send-code` 发送，成功后进入 60 秒本地倒计时。

## 边界

审核通过后页面只读。本模块不包含 DJI/飞控 SDK、无人机连接、飞行控制或横屏飞控流程。
