// // config.swift // AIGrammar // // Created by oscar on 2024/3/28. // import Foundation import SwiftUI /* class GlobalConfig : ObservableObject{ @Published var backgroundColor : UInt = 0xFFE4E1 } */ class GlobalEnvironment: ObservableObject { @Published var backgroundColor : UInt = 0xFFE4E1 init(){ SetEnv(isSandBox: false, isTestEnv: false) } @Published var deviceID: String = "" @Published var userID: String = "" @Published var userName: String = "" @Published var GID: Int = 0 @Published var isVip:Bool = false // APP 信息 let APPID = "6504465465" // toast 展示事件 let toastPresentMsNormal = 1.5 let toastPresentMsLong = 3.0 let toastPresentMsShot = 0.5 // 定义各功能的输入长度限制 let MaxLenGrammarCheckFree = 200 let MaxLenGrammarCheckVIP = 2000 let MaxLenWords = 50 let MaxLenTranslate = 200 // 错误码及错误提示定义 let RetCodeFreeLimited = 101000 let RetCodeDirtyInput = 101001 let GrammarCheckOK = 102000 let GrammarOKToast = "Congratulations! There are no errors in your input." let FreeLimitedToast = "Your free usage has been used up. Please upgrade to PREMIUM for unlimited usage." let NetWorkErrToast = "Network Error. Please try again later." let OtherServerErrToast = "Sorry, something went wrong on the server. Please try again later." let DirtyInputErrToast = "The text you entered contains content that does not comply with regulations. Please re-enter." var jwtSecret: String = "mCTf-JhNRnhaaGJy_x" var userTermsURL: String = "https://grammar.easyprompt8.com/about/terms.html" var userPrivacyURL: String = "https://grammar.easyprompt8.com/about/privacy.html" // 请求地址,区分环境。 // var baseHost: String = "http://192.168.2.2:1080" var baseHost: String = "https://api.easyprompt8.com" // 业务请求URL var feedbackURL: String { "\(baseHost)/grammar/feedback" } var translateURL: String { "\(baseHost)/grammar/translate" } var dictURL: String { "\(baseHost)/grammar/words" } var grammarURL: String { "\(baseHost)/grammar/grammar" } // 用户请求URL var userURL: String { "\(baseHost)/user/get" } // 验证appstore购买 var iapVerifyURL : String { "\(baseHost)/iap/verify" } // 设置运行环境 func SetEnv(isSandBox: Bool, isTestEnv: Bool){ if(isTestEnv){ self.baseHost = "https://dev.easyprompt8.com" }else { self.baseHost = "https://api.easyprompt8.com" } logger.info("baseHost: \(self.baseHost)") // 以后定义SandBox的功能,主要是商品列表的区分。 } // 使用结构体组织相关的设置 @Published var pushSettings: PushInfo = PushInfo() struct PushInfo{ var gotoTab: Int = 0 var showPage: Bool = false var page: String = "" var showMode: String = "" var openURL: String = "" var appAtFront : Bool = false } } // 全局实例 let globalEnvironment = GlobalEnvironment() class GlobalAnalyticsEvents: ObservableObject { let eventPurchase = "purchase" let eventEnterPurchase = "enter_purchase_page" let keyPurchaseEntry = "purchase_entry_point" let keyPurchaseItem = "purchase_product_id" let keyDeviceID = "device_id" let valEntryBuyProBtn = "buy_pro_btn" let valEntrySettingsBtn = "settings_buy_btn" } let globalAnalyticsEvents = GlobalAnalyticsEvents()