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

@ -10,9 +10,9 @@ import XCTest
final class OrderListViewModelTests: XCTestCase {
override func tearDown() {
AppStore.shared.roleCode = ""
AppStore.shared.roleName = ""
AppStore.shared.currentScenicId = 0
AppStore.shared.session.roleCode = ""
AppStore.shared.session.roleName = ""
AppStore.shared.session.currentScenicId = 0
super.tearDown()
}
@ -37,12 +37,12 @@ final class OrderListViewModelTests: XCTestCase {
}
func testRoleRoutingPath() {
AppStore.shared.roleCode = AppRoleCode.scenicAdmin.rawValue
AppStore.shared.session.roleCode = AppRoleCode.scenicAdmin.rawValue
let scenicVM = OrderListViewModel()
XCTAssertEqual(scenicVM.listAPIPath, "/api/app/scenic-admin/order/list")
XCTAssertTrue(scenicVM.isScenicAdminReadOnly)
AppStore.shared.roleCode = AppRoleCode.photographer.rawValue
AppStore.shared.session.roleCode = AppRoleCode.photographer.rawValue
let photoVM = OrderListViewModel()
XCTAssertEqual(photoVM.listAPIPath, "/api/yf-handset-app/photog/order/listv2")
XCTAssertFalse(photoVM.isScenicAdminReadOnly)