Browse Source

Merge branch 'develop_PDFReaderPro_V4.7.0' of git.kdan.cc:Mac_PDF/PDF_Office into develop_PDFReaderPro_V4.7.0

niehaoyu 3 months ago
parent
commit
fe67bb98c4

+ 11 - 1
PDF Office/PDF Master/MemberCenter/Model/KMMemberCenterManager.swift

@@ -57,6 +57,17 @@ class KMMemberCenterManager: NSObject {
     static let manager = KMMemberCenterManager()
     private let configuration: KMMemberCenterConfig = KMMemberCenterConfig()
     
+    // MARK: 判断有无网络
+
+    func isConnectionAvailable() -> Bool {
+        let reachability = Reachability(hostname: "www.apple.com")
+        let state = reachability?.currentReachabilityStatus()
+        if(state == NotReachable) {
+            return false
+        }
+        return true
+    }
+    
     // MARK: 登录模块
     
     /**
@@ -417,7 +428,6 @@ class KMMemberCenterManager: NSObject {
      */
     func logoutDevice(deviceId: String, complete: @escaping KMMemberCenterComplete) {
         let urlString = configuration.activityBaseURL() + "/member-system-sso/auth/logoutDevice?deviceId=\(deviceId)"
-        let params: [String: Any] = ["deviceId": deviceId]
         KMRequestServer.requestServer.request(urlString: urlString, method: .post, params: [:]) { requestSerializer in
             
         } completion: { [weak self] (task, responseObject, error) in

+ 73 - 2
PDF Office/PDF Master/MemberCenter/ViewModel/KMSignUpViewModel.swift

@@ -158,6 +158,15 @@ class KMSignUpViewModel: ObservableObject {
      @abstract 刷新用户个人信息
      */
     private func refreshUserInfo() -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         KMUserInfoVCModel().refreshUserInfo { success, msg in
             if success {
                 KMMemberInfo.shared.isLogin = true
@@ -175,6 +184,15 @@ class KMSignUpViewModel: ObservableObject {
      @param
      */
     func signUpAction() -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         if email.count <= 0 || email.count > 100 || !isValidEmail() {
             emailErrorMessage = NSLocalizedString("Email format error. Please enter the correct email.", tableName: "MemberCenterLocalizable", comment: "")
             return
@@ -235,6 +253,15 @@ class KMSignUpViewModel: ObservableObject {
 
             } else {
                 if(resultDict.code == 305) {
+                    if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+                        let alert = NSAlert()
+                        alert.alertStyle = .critical
+                        alert.messageText = NSLocalizedString("Error Information", comment: "")
+                        alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+                        alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+                        alert.runModal()
+                        return
+                    }
                     KMMemberCenterManager.manager.getUserDeviceList(email: email) { [weak self] success, result in
                         guard self != nil else { return }
                         if success {
@@ -247,8 +274,14 @@ class KMSignUpViewModel: ObservableObject {
                     let alert = NSAlert()
                     alert.messageText = NSLocalizedString(msg!, comment: "")
                     alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
-                    if(NSApp.mainWindow != nil) {
-                        alert.beginSheetModal(for: NSApp.mainWindow!)
+                    let response = alert.runModal()
+                    if response == .alertFirstButtonReturn {
+                        if(resultDict.code == 317) {
+                            signUpState = .verificationCode
+                            countDown(type: .login)
+                        } else {
+                            
+                        }
                     }
                 }
             }
@@ -260,6 +293,15 @@ class KMSignUpViewModel: ObservableObject {
      @param
      */
     func forgotPasswordNextAction(_ complete: @escaping ForgotPasswordComplete) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         if email.count <= 0 || email.count > 100 || !isValidEmail() {
             emailErrorMessage = NSLocalizedString("Please enter the correct email format", tableName: "MemberCenterLocalizable", comment: "")
             return
@@ -285,6 +327,15 @@ class KMSignUpViewModel: ObservableObject {
      @param
      */
     func enterVerificationCodeNextAction(_ complete: @escaping ForgotPasswordComplete) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         if verificationCode.count <= 0 || verificationCode.count > 6 || !isValidVerificationCode() {
             emailErrorMessage = NSLocalizedString("Verification code error.", tableName: "MemberCenterLocalizable", comment: "")
             complete(false, "")
@@ -309,6 +360,16 @@ class KMSignUpViewModel: ObservableObject {
      @param
      */
     func getVerificationCode(_ type: KMVerificationCodeType) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
+        
         if !isValidEmail() {
             emailErrorMessage = NSLocalizedString("Please enter the correct email format", tableName: "MemberCenterLocalizable", comment: "")
             return
@@ -331,6 +392,16 @@ class KMSignUpViewModel: ObservableObject {
      @param
      */
     func resetPassword(_ complete: @escaping ForgotPasswordComplete) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
+        
         if password.count <= 0 || verificationCode.count > 30 {
             passwordErrorMessage = NSLocalizedString("Password error.", tableName: "MemberCenterLocalizable", comment: "")
             return

+ 37 - 0
PDF Office/PDF Master/MemberCenter/ViewModel/KMUserInfoVCModel.swift

@@ -23,6 +23,15 @@ class KMUserInfoVCModel: ObservableObject {
      @param
      */
     func refreshUserInfo(_ complete: @escaping UserInfoComplete) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         KMMemberCenterManager.manager.userInfo { success, result in
             guard let result = result else { return }
             let resultDict = result as KMMemberCenterResult
@@ -108,6 +117,15 @@ class KMUserInfoVCModel: ObservableObject {
      @abstract 注销账户;
      */
     func closeAccountAction() -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         if KMMemberInfo.shared.validFlag == "5" {
             // 撤销注销申请
             KMMemberCenterManager.manager.userRevokeCancel { success, result in
@@ -149,6 +167,16 @@ class KMUserInfoVCModel: ObservableObject {
      @abstract 确认退出;
      */
     func confirmExitAction() -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
+
         KMMemberCenterManager.manager.userLogout { success, result in
             guard let result = result else { return }
             let resultDict = result as KMMemberCenterResult
@@ -184,6 +212,15 @@ class KMUserInfoVCModel: ObservableObject {
      @abstract 注销账户申请 弹窗;
      */
     func closeAccountApplyWC(code: String) -> Void {
+        if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+            let alert = NSAlert()
+            alert.alertStyle = .critical
+            alert.messageText = NSLocalizedString("Error Information", comment: "")
+            alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.runModal()
+            return
+        }
         KMMemberCenterManager.manager.userLogOffForUser(code: code) { success, result in
             guard let result = result else { return }
             let resultDict = result as KMMemberCenterResult

+ 10 - 0
PDF Office/PDF Master/MemberCenter/WindowsController/KMMemberCenterWindowController.swift

@@ -174,6 +174,16 @@ class KMMemberCenterWindowController: NSWindowController {
                 return
             }
             
+            if KMMemberCenterManager.manager.isConnectionAvailable() == false {
+                let alert = NSAlert()
+                alert.alertStyle = .critical
+                alert.messageText = NSLocalizedString("Error Information", comment: "")
+                alert.informativeText = NSLocalizedString("Please make sure your internet connection is available.", comment: "")
+                alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+                alert.runModal()
+                return
+            }
+            
             KMMemberCenterManager.manager.logoutDevice(deviceId: device.id!, complete: {[weak self] success, result in
                 guard let result = result else { return }
                 let resultDict = result as KMMemberCenterResult