模块化 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

@ -21,7 +21,7 @@ enum HomeRouteHandler {
return
}
if uri != "pilot_controller", uri != "wallet", AppStore.shared.currentScenicId <= 0 {
if uri != "pilot_controller", uri != "wallet", AppStore.shared.session.currentScenicId <= 0 {
showToast("请先选择景区", from: viewController)
return
}
@ -87,7 +87,7 @@ enum HomeRouteHandler {
@MainActor
private static func handleOperatingArea(from viewController: UIViewController, storeItem: StoreItem?) {
guard let role = AppStore.shared.currentAppRole else {
guard let role = AppStore.shared.session.currentAppRole else {
showToast("当前账号暂不支持运营区域", from: viewController)
return
}
@ -99,7 +99,7 @@ enum HomeRouteHandler {
}
showDeveloping(from: viewController)
case .scenicAdmin:
guard AppStore.shared.currentScenicId > 0 else {
guard AppStore.shared.session.currentScenicId > 0 else {
showToast("请先选择景区", from: viewController)
return
}
@ -110,7 +110,7 @@ enum HomeRouteHandler {
}
private static func hasCooperationOrderPermission() -> Bool {
let permissions = AppStore.shared.permissionItems()
let permissions = AppStore.shared.permissions.permissionItems()
return permissions.contains { $0.uri == "cooperation_order" }
|| permissions.contains(where: { containsCooperationOrder(in: $0) })
}