新增资产模块,包含云存储与媒体库流程

为云端与素材管理页面接入首页路由,将共享云存储模型迁入 Assets 模块,并补充 API/ViewModel 测试。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-23 16:10:20 +08:00
parent ffb16eca29
commit cac22fcc56
15 changed files with 3431 additions and 75 deletions

View File

@ -33,6 +33,6 @@ Home 模块负责登录后的首页工作台,包括当前景区展示、工作
## 后续迁移
目前 `payment_collection``payment_qr``payment_code` 已由 `Features/Payment` 的真实收款页面接管,`wallet` 已由 `Features/Wallet` 的真实钱包页面接管,`scenicselection``permission_apply``permission_apply_status``scenicapplication` 已由 `Features/ScenicPermission` 接管,`task_management``task_management_editor``task_create` 已由 `Features/Tasks` 接管。`withdrawal_audit` 仍属于后台性质的提现审核管理模块,`scenic_settlement``scenic_settlement_review` 仍属于独立结算模块,本轮保留占位,后续应作为独立功能迁移。
目前 `payment_collection``payment_qr``payment_code` 已由 `Features/Payment` 的真实收款页面接管,`wallet` 已由 `Features/Wallet` 的真实钱包页面接管,`scenicselection``permission_apply``permission_apply_status``scenicapplication` 已由 `Features/ScenicPermission` 接管,`task_management``task_management_editor``task_create` 已由 `Features/Tasks` 接管`cloud_management``cloud_storage_transit``asset_management``material_upload` 已由 `Features/Assets` 接管。`album_list``album_trailer``sample_management``sample_upload` 后续按相册和样片模块独立迁移`withdrawal_audit` 仍属于后台性质的提现审核管理模块,`scenic_settlement``scenic_settlement_review` 仍属于独立结算模块,本轮保留占位,后续应作为独立功能迁移。
后续迁移具体首页子模块时,应先在 `HomeRoute` 增加目标页面,再更新 `HomeMenuRouter.resolve` 对应 URI 的映射,并同步补充单元测试。

View File

@ -32,6 +32,10 @@ enum HomeRoute: Hashable {
case taskManagement
case taskCreate
case taskDetail(id: Int, summary: PhotographerTaskItem?)
case cloudStorage
case cloudStorageTransit
case materialLibrary
case materialUpload
case modulePlaceholder(uri: String, title: String)
}

View File

@ -95,6 +95,14 @@ enum HomeMenuRouter {
return .destination(.taskManagement)
case "task_create":
return .destination(.taskCreate)
case "cloud_management":
return .destination(.cloudStorage)
case "cloud_storage_transit":
return .destination(.cloudStorageTransit)
case "asset_management":
return .destination(.materialLibrary)
case "material_upload":
return .destination(.materialUpload)
case "store", "more_functions":
return .destination(.moreFunctions)
case "fly", "pilot_controller":
@ -115,12 +123,8 @@ enum HomeMenuRouter {
"pm",
"pm_manager",
"project_edit",
"cloud_management",
"cloud_storage_transit",
"album_list",
"album_trailer",
"asset_management",
"material_upload",
"sample_management",
"sample_upload",
"live_stream_management",

View File

@ -36,6 +36,14 @@ extension HomeRoute {
TaskCreateView()
case .taskDetail(let id, let summary):
TaskDetailView(taskId: id, summary: summary)
case .cloudStorage:
CloudStorageView()
case .cloudStorageTransit:
CloudStorageTransitView()
case .materialLibrary:
MediaLibraryView()
case .materialUpload:
MediaLibraryUploadView()
case let .modulePlaceholder(uri, title):
HomeMigrationModuleView(title: title, uri: uri)
}