Add Tasks module with home routing for task management flows.
Implement task list, detail, and create pages with API integration, cloud/local attachment support, and unit tests. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
30
suixinkan/Features/Tasks/Tasks.md
Normal file
30
suixinkan/Features/Tasks/Tasks.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Tasks 模块业务逻辑
|
||||
|
||||
## 模块职责
|
||||
|
||||
Tasks 模块负责首页“任务管理”和“发布任务”入口,包括任务列表、筛选、分页、任务详情、可关联订单、云盘附件选择和本地附件 OSS 上传。
|
||||
|
||||
任务状态只保存在本模块 ViewModel 内,不写入 `AppSession`、`AccountContext` 或 TabBar。当前景区 ID 从 `AccountContext.currentScenic` 读取,缺少景区时不请求任务接口。
|
||||
|
||||
## 数据来源
|
||||
|
||||
`TaskAPI` 封装任务接口:
|
||||
- `taskList` 获取任务列表。
|
||||
- `taskDetail` 获取任务详情。
|
||||
- `availableOrderList` 获取发布任务可关联订单。
|
||||
- `addTask` 提交发布任务。
|
||||
- `cloudFileList` 仅用于发布任务选择云盘附件,不代表完整云盘模块迁移。
|
||||
|
||||
任务本地附件上传复用 `OSSUploadService.uploadTaskFile`,上传成功后把最终 OSS URL 放入 `upload_file` 提交给发布任务接口。OSS STS、上传进度和本地文件数据不落盘。
|
||||
|
||||
## 页面流程
|
||||
|
||||
任务管理页支持状态筛选、任务名称搜索、开始/结束日期筛选、下拉刷新和加载更多。点击任务卡片进入任务详情页,详情接口失败时保留列表摘要信息作为兜底。
|
||||
|
||||
发布任务页支持填写任务名称、任务备注、紧急小时、选择关联订单、选择云盘文件和选择本地图片/视频。提交前先校验表单,再上传本地附件,最后调用发布任务接口。任意附件上传失败时不提交任务。
|
||||
|
||||
## 迁移边界
|
||||
|
||||
本轮不迁旧工程中把订单管理和核销订单拼成“待办任务”的逻辑;订单与核销已经归 `Features/Orders` 管理。
|
||||
|
||||
本轮不迁完整云盘资产管理,只保留发布任务所需的文件选择能力。云盘的新建文件夹、上传、删除、移动、重命名等能力后续应放在独立云盘模块中迁移。
|
||||
Reference in New Issue
Block a user