Browse Source

【fix】账号登录成功,然后在会员中心修改账号密码成功,再回到程序的个人中心页面点刷新按钮,没tip提示用户密码已修改

tangchao 3 months ago
parent
commit
81c908493c

+ 10 - 0
PDF Office/PDF Master/Class/Account/Controller/AccountProfileController.swift

@@ -121,6 +121,10 @@ class AccountProfileController: NSViewController {
                 self.hideLoading()
                 if success == false {
 //                    self.showBenefit()
+                    
+                    if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                        self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                    }
                     return
                 }
                 let model = AccountRightModel(dict: dataModel?.data as? [String : Any] ?? [:])
@@ -291,4 +295,10 @@ class AccountProfileController: NSViewController {
             }
         }
     }
+    
+    private func _showHud(msg: String) {
+        DispatchQueue.main.async {
+            _ = CustomAlertView.alertView(message: msg, fromView: self.view, withStyle: .black)
+        }
+    }
 }

+ 18 - 0
PDF Office/PDF Master/Class/Account/Tools/AccountTools.swift

@@ -40,6 +40,12 @@ import Cocoa
         // 绑定设备
         KMHTTP.OEM_POST(urlString: kURLAPI_oemBind, parameter: params, headers: header) { success, dataModel, err in
             callback(success, "")
+            
+            if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                DispatchQueue.main.async {
+                    self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                }
+            }
         }
     }
     
@@ -68,6 +74,12 @@ import Cocoa
         KMHTTP.OEM_POST(urlString: kURLAPI_oemBind, parameter: params, headers: header) { success, dataModel, err in
             if success == false {
                 self.gotoCompare()
+                
+                if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                    DispatchQueue.main.async {
+                        self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                    }
+                }
             }
             callback(success)
         }
@@ -86,4 +98,10 @@ import Cocoa
         }
         return true
     }
+    
+    private class func _showHud(msg: String) {
+        if let data = NSApp.mainWindow?.contentView {
+            _ = CustomAlertView.alertView(message: msg, fromView: data, withStyle: .black)
+        }
+    }
 }

+ 16 - 3
PDF Office/PDF Master/Class/Account/Window/AccountCenterWindowController.swift

@@ -73,6 +73,10 @@ class AccountCenterWindowController: NSWindowController {
                 if success == false {
                     AccountManager.manager.isLogin = false
                     
+                    if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                        self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                    }
+                    
                     NotificationCenter.default.post(name: .loginStatusChanged, object: nil)
                     self.gotoLogin()
                     return
@@ -132,6 +136,10 @@ class AccountCenterWindowController: NSWindowController {
                     if success == false {
                         AccountManager.manager.isLogin = false
                         
+                        if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                            self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                        }
+                        
                         NotificationCenter.default.post(name: .loginStatusChanged, object: nil)
                         return
                     }
@@ -183,6 +191,10 @@ class AccountCenterWindowController: NSWindowController {
                     if success == false {
                         AccountManager.manager.isLogin = false
                         
+                        if dataModel?.code == KMHttpReponseCode.passwordChanged.rawValue {
+                            self._showHud(msg: NSLocalizedString("Your password has been changed. Please login again.", comment: ""))
+                        }
+                        
                         NotificationCenter.default.post(name: .loginStatusChanged, object: nil)
                         return
                     }
@@ -274,9 +286,10 @@ class AccountCenterWindowController: NSWindowController {
     }
     
     private func _showHud(msg: String) {
-        if let data = self.window?.contentView {
-//            _ = CustomAlertView(message: msg, from: data, with: .black)
-            CustomAlertView.alertView(message: msg, fromView: data, withStyle: .black)
+        DispatchQueue.main.async {
+            if let data = self.window?.contentView {
+                _ = CustomAlertView.alertView(message: msg, fromView: data, withStyle: .black)
+            }
         }
     }
 }

+ 4 - 0
PDF Office/PDF Master/Class/Common/Tools/HTTP/KMHTTP+OEM.swift

@@ -19,6 +19,10 @@ let kURLAPI_oemGetPermissions           = "/pdf/get_permissions"
 let kURLAPI_oemLogout                   = "/pdf/logout"
 let kURLAPI_oemBind                   = "/pdf/bind"
 
+enum KMHttpReponseCode: Int {
+    case passwordChanged = 405
+}
+
 extension KMHTTP {
     public class func OEM_POST(urlString: String, parameter: [String : Any]?, headers: [String : String]?, callback:@escaping ((Bool, KMRequestResultModel?, String?)->Void)) {
         let timeStamp = String(format: "%.0f", Date().timeIntervalSince1970)