jsdw_ios/QuickLocation/Manager/URL/URLManager.swift

105 lines
2.9 KiB
Swift

//
// URLManager.swift
// SHECommunity
//
// Created by on 2024/11/26.
//
import Foundation
import SwiftyUserDefaults
import RxSwift
extension DefaultsKeys {
// 0: 1:
var apiEnvKey: DefaultsKey<Int> { .init("ApiEnvKey", defaultValue: -99) }
//
var apiServerURL: DefaultsKey<String> { .init("ApiServerURL", defaultValue: "") }
}
@objcMembers class URLManager: NSObject {
static let shared = URLManager()
// -1: UAT 0: 1:
var apiEnv: Int = 0
///
var apiServerURL: String = "" {
didSet {
AppNetworkConfig.shared.baseURL = apiServerURL
}
}
///
var userAgreementUrl: String { "https://sd.zuom8.cn/Agreement.html" }
///
var privacyPolicyUrl: String { "https://sd.zuom8.cn/Privacy.html" }
///
var cancellationNoticeUrl: String { "https://h5.yiwen618.com.cn/yiwen_h5_logoff.html" }
/// 线
var onlineCustomerServiceUrl: String { "https://h5.zywmwl.com/kefu.html" }
///
var feedbackRuleUrl: String { "https://h5.zywmwl.com/suggestion_rule.html" }
/// 使
var useGuideUrl: String { "https://activity.zywmwl.com/web_acitvtiy/#/pages/index/useGoldDetail" }
// ///
// var orderTrackUrl: String { "\(apiServerURL)/webapp/h5/dist/index.html#/order-track" }
// ///
// var delayDetailUrl: String { "\(apiServerURL)/webapp/delayedpayment/detail.html" }
// /// FAQ
// var faqUrl: String { "\(apiServerURL)/webapp/faq/detail.html?service_im_id=\(IMService.shared.customServiceId)" }
// /// CRM
// var crmUrl: String { apiServerURL + "/webapp/h5/dist/index.html#/crm/bd" }
private override init() {
super.init()
self.setupNetworkMode()
}
func setupNetworkMode() {
#if DEBUG
setupApiEnv(1)
#elseif AdHoc
setupApiEnv(-1)
#else
setupApiEnv(1)
#endif
}
private func setupApiEnv(_ env: Int) {
// env
if Defaults[\.apiEnvKey] != -99 {
apiEnv = Defaults[\.apiEnvKey]
}
else {
apiEnv = env
}
// api
if Defaults[\.apiServerURL].isEmpty {
apiServerURL = apiServerURL(apiEnv)
} else {
apiServerURL = Defaults[\.apiServerURL]
}
}
// MARK: -
func apiServerURL(_ env: Int) -> String {
switch env {
case 1: //
return "https://jsapi.zuom8.cn/"
case -1: // UAT
return "https://jsapi.zuom8.cn/"
default: // SIT
return "https://jsapi.zuom8.cn/"
}
}
// MARK: -
func uploadServerURL() -> String {
//#if DEBUG
// return ""
//#else
return ""
//#endif
}
}