110 lines
3.0 KiB
Swift
110 lines
3.0 KiB
Swift
//
|
||
// APIConfig.swift
|
||
// WoolniOriginalSwift
|
||
//
|
||
// Created by lyu dong on 2025/7/2.
|
||
// Copyright © 2025 lydsnm. All rights reserved.
|
||
//
|
||
|
||
import Foundation
|
||
import Moya
|
||
|
||
struct APIConfig {
|
||
#if CLPRODUCT
|
||
static let environment: AppEnvironment = .product
|
||
#elseif CLAPPSTORE
|
||
static let environment: AppEnvironment = .appStore
|
||
#else
|
||
static let environment: AppEnvironment = .test
|
||
#endif
|
||
|
||
static let versionNum: Int = 100
|
||
|
||
static let apiLogEnable: Bool = true
|
||
|
||
/// 🔥Mock数据总开关
|
||
#if DEBUG
|
||
static let useMock: Bool = true
|
||
#else
|
||
static let useMock: Bool = false
|
||
#endif
|
||
|
||
enum AppEnvironment {
|
||
case dev
|
||
case test
|
||
case product
|
||
case appStore
|
||
}
|
||
|
||
private static var headers: [String: String]? {
|
||
return ["content-type": "application/json",
|
||
"accept": "application/json,text/plain"]
|
||
}
|
||
|
||
static func apiHeaders() -> [String: String]? {
|
||
var updatHeaders = headers
|
||
|
||
let platform = "IOS" // _\(Bundle.appVersion)
|
||
updatHeaders?.updateValue(platform, forKey: "platform")
|
||
|
||
let tokenNow = UserCore.shared.token
|
||
if tokenNow.count > 0 {
|
||
updatHeaders?.updateValue(tokenNow, forKey: "AUTH_TK")
|
||
}
|
||
|
||
updatHeaders?.updateValue("\(versionNum)", forKey: "versionNum")
|
||
|
||
updatHeaders?.updateValue(UIDevice.UUID, forKey: "AUTH_DID")
|
||
/*
|
||
if let lan = Languages.preferedLans.first {
|
||
updatHeaders?.updateValue(lan.rawValue, forKey: "accept-language")
|
||
}
|
||
|
||
if let userCountryCode = UserCore.shared.user?.countryCode, userCountryCode.isNotBlank{
|
||
updatHeaders?.updateValue(userCountryCode, forKey: "country")
|
||
}else if let regioncode = Locale.current.regionCode, regioncode.count > 0{
|
||
updatHeaders?.updateValue(regioncode, forKey: "country")
|
||
}
|
||
*/
|
||
|
||
// --- did2 统一设备标识(加密)header传递
|
||
// let uuid = UIDevice.UUID
|
||
// let token = UserCore.shared.token
|
||
// let str = uuid
|
||
// let key = (token + "AHkt5aUUtO6HZPid").md5().uppercased()
|
||
// let aes = try! AES(key: key, iv: "HBB4UO5kEmM4169Z")
|
||
// let encrypted = try? aes.encrypt(str.bytes)
|
||
// let result = encrypted?.toBase64() ?? ""
|
||
// updatHeaders?.updateValue(result, forKey: "dId2")
|
||
|
||
return updatHeaders
|
||
}
|
||
|
||
static var bear: String {
|
||
return "https://test-bear.crushlevel.ai"
|
||
}
|
||
|
||
/// AI相关、登陆注册、用户管理、字典
|
||
static var frog: String {
|
||
return "https://test-frog.crushlevel.ai"
|
||
}
|
||
|
||
static var lion: String {
|
||
return "https://test-lion.crushlevel.ai"
|
||
}
|
||
|
||
/// S3、
|
||
static var shark: String {
|
||
return "https://test-shark.crushlevel.ai"
|
||
}
|
||
|
||
/// 生成图片
|
||
static var cow: String {
|
||
return "https://test-cow.crushlevel.ai"
|
||
}
|
||
|
||
static var pigeon: String{
|
||
return "https://test-pigeon.crushlevel.ai"
|
||
}
|
||
}
|