新增 CooperationOrder 模块(双 Tab 列表、获客员绑定、主 Tab 扫码)、订单来源/带客单绑定及配套 API 测试;同步引入 roleCode 权限匹配与相关单元测试。 Co-authored-by: Cursor <cursoragent@cursor.com>
271 lines
9.5 KiB
Swift
271 lines
9.5 KiB
Swift
//
|
|
// AppServiceEnvironment.swift
|
|
// suixinkan
|
|
//
|
|
// Created by Codex on 2026/6/26.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
private enum EnvironmentServiceDefaults {
|
|
static func apiClient() -> APIClient {
|
|
APIClient()
|
|
}
|
|
}
|
|
|
|
private struct APIClientEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: APIClient { EnvironmentServiceDefaults.apiClient() }
|
|
}
|
|
|
|
private struct UploadAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: UploadAPI { UploadAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct PushAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: PushAPI { PushAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct AccountSnapshotStoreEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: AccountSnapshotStore { AccountSnapshotStore() }
|
|
}
|
|
|
|
private struct AuthSessionCoordinatorEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: AuthSessionCoordinator { AuthSessionCoordinator() }
|
|
}
|
|
|
|
private struct AccountContextAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: AccountContextAPI { AccountContextAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct AssetsAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: AssetsAPI { AssetsAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct AuthAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: AuthAPI { AuthAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct InviteAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: InviteAPI { InviteAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct LiveAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: LiveAPI { LiveAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct LocationReportAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: LocationReportAPI { LocationReportAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct MessageCenterAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: MessageCenterAPI { MessageCenterAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct OperatingAreaAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: OperatingAreaAPI { OperatingAreaAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct OrdersAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: OrdersAPI { OrdersAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct OSSUploadServiceEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: OSSUploadService {
|
|
OSSUploadService(configService: UploadAPI(client: EnvironmentServiceDefaults.apiClient()))
|
|
}
|
|
}
|
|
|
|
private struct PaymentAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: PaymentAPI { PaymentAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct PilotCertificationAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: PilotCertificationAPI { PilotCertificationAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ProfileAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ProfileAPI { ProfileAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ProjectAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ProjectAPI { ProjectAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct PunchPointAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: PunchPointAPI { PunchPointAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ScenicPermissionAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ScenicPermissionAPI { ScenicPermissionAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ScenicQueueAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ScenicQueueAPI { ScenicQueueAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ScenicSettlementAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ScenicSettlementAPI { ScenicSettlementAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct ScheduleAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: ScheduleAPI { ScheduleAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct StatisticsAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: StatisticsAPI { StatisticsAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct TaskAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: TaskAPI { TaskAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct WalletAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: WalletAPI { WalletAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
private struct CooperationOrderAPIEnvironmentKey: EnvironmentKey {
|
|
static var defaultValue: CooperationOrderAPI { CooperationOrderAPI(client: EnvironmentServiceDefaults.apiClient()) }
|
|
}
|
|
|
|
extension EnvironmentValues {
|
|
var apiClient: APIClient {
|
|
get { self[APIClientEnvironmentKey.self] }
|
|
set { self[APIClientEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var uploadAPI: UploadAPI {
|
|
get { self[UploadAPIEnvironmentKey.self] }
|
|
set { self[UploadAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var pushAPI: PushAPI {
|
|
get { self[PushAPIEnvironmentKey.self] }
|
|
set { self[PushAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var accountSnapshotStore: AccountSnapshotStore {
|
|
get { self[AccountSnapshotStoreEnvironmentKey.self] }
|
|
set { self[AccountSnapshotStoreEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var authSessionCoordinator: AuthSessionCoordinator {
|
|
get { self[AuthSessionCoordinatorEnvironmentKey.self] }
|
|
set { self[AuthSessionCoordinatorEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var accountContextAPI: AccountContextAPI {
|
|
get { self[AccountContextAPIEnvironmentKey.self] }
|
|
set { self[AccountContextAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var assetsAPI: AssetsAPI {
|
|
get { self[AssetsAPIEnvironmentKey.self] }
|
|
set { self[AssetsAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var authAPI: AuthAPI {
|
|
get { self[AuthAPIEnvironmentKey.self] }
|
|
set { self[AuthAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var inviteAPI: InviteAPI {
|
|
get { self[InviteAPIEnvironmentKey.self] }
|
|
set { self[InviteAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var liveAPI: LiveAPI {
|
|
get { self[LiveAPIEnvironmentKey.self] }
|
|
set { self[LiveAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var locationReportAPI: LocationReportAPI {
|
|
get { self[LocationReportAPIEnvironmentKey.self] }
|
|
set { self[LocationReportAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var messageCenterAPI: MessageCenterAPI {
|
|
get { self[MessageCenterAPIEnvironmentKey.self] }
|
|
set { self[MessageCenterAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var operatingAreaAPI: OperatingAreaAPI {
|
|
get { self[OperatingAreaAPIEnvironmentKey.self] }
|
|
set { self[OperatingAreaAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var ordersAPI: OrdersAPI {
|
|
get { self[OrdersAPIEnvironmentKey.self] }
|
|
set { self[OrdersAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var ossUploadService: OSSUploadService {
|
|
get { self[OSSUploadServiceEnvironmentKey.self] }
|
|
set { self[OSSUploadServiceEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var paymentAPI: PaymentAPI {
|
|
get { self[PaymentAPIEnvironmentKey.self] }
|
|
set { self[PaymentAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var pilotCertificationAPI: PilotCertificationAPI {
|
|
get { self[PilotCertificationAPIEnvironmentKey.self] }
|
|
set { self[PilotCertificationAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var profileAPI: ProfileAPI {
|
|
get { self[ProfileAPIEnvironmentKey.self] }
|
|
set { self[ProfileAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var projectAPI: ProjectAPI {
|
|
get { self[ProjectAPIEnvironmentKey.self] }
|
|
set { self[ProjectAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var punchPointAPI: PunchPointAPI {
|
|
get { self[PunchPointAPIEnvironmentKey.self] }
|
|
set { self[PunchPointAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var scenicPermissionAPI: ScenicPermissionAPI {
|
|
get { self[ScenicPermissionAPIEnvironmentKey.self] }
|
|
set { self[ScenicPermissionAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var scenicQueueAPI: ScenicQueueAPI {
|
|
get { self[ScenicQueueAPIEnvironmentKey.self] }
|
|
set { self[ScenicQueueAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var scenicSettlementAPI: ScenicSettlementAPI {
|
|
get { self[ScenicSettlementAPIEnvironmentKey.self] }
|
|
set { self[ScenicSettlementAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var scheduleAPI: ScheduleAPI {
|
|
get { self[ScheduleAPIEnvironmentKey.self] }
|
|
set { self[ScheduleAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var statisticsAPI: StatisticsAPI {
|
|
get { self[StatisticsAPIEnvironmentKey.self] }
|
|
set { self[StatisticsAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var taskAPI: TaskAPI {
|
|
get { self[TaskAPIEnvironmentKey.self] }
|
|
set { self[TaskAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var walletAPI: WalletAPI {
|
|
get { self[WalletAPIEnvironmentKey.self] }
|
|
set { self[WalletAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
|
|
var cooperationOrderAPI: CooperationOrderAPI {
|
|
get { self[CooperationOrderAPIEnvironmentKey.self] }
|
|
set { self[CooperationOrderAPIEnvironmentKey.self] = newValue }
|
|
}
|
|
}
|