模块化 AppStore 并完善素材管理与个人空间设置。

将会话、权限、位置、收款与排队存储拆分为独立模块,同步更新各 ViewModel 与单元测试,并补充素材管理 UI 与个人空间设置交互。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-13 11:01:08 +08:00
parent ceca780ab3
commit 005349f8e6
128 changed files with 2953 additions and 1123 deletions

View File

@ -201,7 +201,7 @@ final class TravelAlbumCameraImportViewModel {
status: .pending,
progress: 0,
albumId: albumId,
userId: appStore.userId
userId: appStore.session.userId
)
storage.upsert(record, albumId: albumId)
existingPhotoIds.insert(object.id)

View File

@ -44,7 +44,7 @@ final class TravelAlbumEntryViewModel {
private let dateProvider: () -> Date
init(
currentScenicIdProvider: @escaping () -> Int = { AppStore.shared.currentScenicId },
currentScenicIdProvider: @escaping () -> Int = { AppStore.shared.session.currentScenicId },
dateProvider: @escaping () -> Date = Date.init
) {
self.currentScenicIdProvider = currentScenicIdProvider

View File

@ -383,7 +383,7 @@ final class WiredCameraTransferViewModel {
fileSizeBytes: Int64(item.data.count),
status: .pending,
albumId: albumId,
userId: appStore.userId
userId: appStore.session.userId
)
storage.upsert(record, albumId: albumId)
importedPhotoIds.append(record.id)
@ -553,7 +553,7 @@ final class WiredCameraTransferViewModel {
updateRecord(id: id, status: .uploading, progress: max(record.progress, 1), error: nil)
let material = try await uploader.upload(
record: record,
scenicId: appStore.currentScenicId
scenicId: appStore.session.currentScenicId
) { [weak self] progress in
self?.updateRecord(id: id, status: .uploading, progress: progress, error: nil)
}
@ -596,7 +596,7 @@ final class WiredCameraTransferViewModel {
progress: progress,
errorMessage: error,
albumId: albumId,
userId: appStore.userId,
userId: appStore.session.userId,
remoteUrl: remoteUrl ?? item.remoteUrl
)
}