fix
杨锴
2025-05-06 fdb1d18a0b4b941b986d55f66c589e29836494eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
//
//  Config.swift
//  DolphinEnglishLearnManager
//
//  Created by 无故事王国 on 2024/5/14.
//
 
import Foundation
import UIKit
import OSLog
import SVProgressHUD
 
@_exported import JQTools
 
 
let WeChatAPPID = "wx723c6b080f204773"
let WeChatSecrect = "b7904c5721aeccc20fd11fe9afc23f4d"
let ProductMemberID = "com.dollearn.member.year.1"
let ShareAppleKey = "af37e916cd2b4a0293e37ac405ba4f1c"
 
var sceneDelegate:SceneDelegate? = {
                var uiScreen:UIScene?
                UIApplication.shared.connectedScenes.forEach { scenes in
                                uiScreen = scenes
                }
                return (uiScreen?.delegate as? SceneDelegate)
}()
 
 
struct Config {
                static let ThemeBGColor:UIColor = UIColor(hexStr: "#C3BFB3")
                static let ThemeColor:UIColor = UIColor(hexStr: "#4195D3")
                static let NavFontColor = UIColor.black.withAlphaComponent(0.8)
                static let NavFont = UIFont.systemFont(ofSize: 15, weight: .medium)
 
                static var RatioW:Double{get{return JQ_ScreenW / 810.0}}
                static var RatioH:Double{get{return JQ_ScreenH / 1080.0}}
}
 
 
func LogSuccess(_ items:Any...,separator:String=" ",file:String=#file,function:String=#function,line:Int=#line){
#if DEBUG
                if #available(iOS 14.0, *) {
                                let logger = Logger(subsystem: "English", category: function)
                                logger.error("\(items)")
                }else{
                                let file = (file as NSString).lastPathComponent.split(separator: ".").first!;
                                print("✅✅✅ SUCCESS: \(file)  \(function) [Line: \(line)]: \(items)",separator);
                }
 
#endif
}
 
func LogError(_ items:Any...,separator:String=" ",file:String=#file,function:String=#function,line:Int=#line){
#if DEBUG
                if #available(iOS 14.0, *) {
                                let logger = Logger(subsystem: "English", category: function)
                                logger.error("\(items)")
                }else{
                                let file = (file as NSString).lastPathComponent.split(separator: ".").first!;
                                print("❌❌❌ ERROR: \(file)  \(function) [Line: \(line)]: \(items)",separator);
                }
#endif
}
 
func LogInfo(_ items:Any...,separator:String=" ",file:String=#file,function:String=#function,line:Int=#line){
#if DEBUG
                if #available(iOS 14.0, *) {
                                let logger = Logger(subsystem: "English", category: function)
                                logger.error("\(items)")
                }else{
                                let file = (file as NSString).lastPathComponent.split(separator: ".").first!;
                                print("⚠️⚠️⚠️INFO: \(file)  \(function) [Line: \(line)]: \(items)",separator);
                }
#endif
}
 
func LogResponse(_ items:Any...,separator:String=" ",file:String=#file,function:String=#function,line:Int=#line){
#if DEBUG
                print("返回数据")
                print(items);
#endif
}
 
//提示框
func alert(msg: String) {
                SVProgressHUD.showInfo(withStatus: msg)
}
 
func alertError(msg:String){
                SVProgressHUD.showError(withStatus: msg)
}
 
func alertSuccess(msg:String){
                SVProgressHUD.showSuccess(withStatus: msg)
}
 
func showHUD(_ text:String? = nil){
                SVProgressHUD.show(withStatus: text)
}
 
func hiddenHUD(_ delay:TimeInterval? = nil){
                if delay != nil{
                                SVProgressHUD.dismiss(withDelay: delay!)
                }else{
                                SVProgressHUD.dismiss()
                }
}
 
 
 
extension UIButton{
                public func openCountDown(_ t:Int = 59,defultTitle:String = "获取验证码",textColor:UIColor,unenableColor:UIColor){
                                var time = t //倒计时时间
                                let queue = DispatchQueue.main
                                let timer = DispatchSource.makeTimerSource(flags: [], queue: queue)
                                timer.schedule(wallDeadline: DispatchWallTime.now(), repeating: .seconds(1));
                                timer.setEventHandler(handler: {
                                                if time <= 0 {
                                                                timer.cancel()
                                                                DispatchQueue.main.async(execute: {
                                                                                self.setTitle(defultTitle, for: .normal)
                                                                                self.setTitleColor(textColor, for: .normal)
                                                                                self.isUserInteractionEnabled = true
                                                                });
                                                }else {
                                                                self.setTitle("\(time)s", for: .normal)
                                                                self.setTitleColor(unenableColor, for: .normal)
                                                                self.isUserInteractionEnabled = false
                                                }
                                                time -= 1
                                });
                                timer.resume()
                }
}