Forráskód Böngészése

【会员系统】退出或者登录成功后之前登录的数据重置

wangshuai 4 hónapja
szülő
commit
01bad9f395

+ 23 - 0
PDF Office/PDF Master/MemberCenter/View/KMSignUpView.swift

@@ -59,9 +59,26 @@ class KMSignUpView: KMBaseXibView {
         fatalError("init(coder:) has not been implemented")
     }
     
+    public func resetTextFileData() {
+        if(self.superview != nil) {
+            emailTextField.stringValue = ""
+            passwordTextField.stringValue = ""
+            passwordTextField1.stringValue = ""
+            verifficationTextField.stringValue = ""
+            emailErrorLabel.isHidden = true
+            passwordErrorLabel.isHidden = true
+            sendLabel.stringValue = NSLocalizedString("Send", tableName: "MemberCenterLocalizable", comment: "")
+            viewModel.sendContent = NSLocalizedString("Send", tableName: "MemberCenterLocalizable", comment: "")
+            viewModel.email = ""
+            sendBoxRefresh()
+        }
+    }
+    
     override func updateUI() {
         super.updateUI()
         
+        NotificationCenter.default.addObserver(self, selector: #selector(loginSuccessNotification), name: NSNotification.Name(rawValue: "MemberCenterLoginSuccess"), object: nil)
+        
         bindViewModel()
         languageLocalized()
         initializeUI()
@@ -385,6 +402,8 @@ class KMSignUpView: KMBaseXibView {
     }
     
     @IBAction func signUpAction(_ sender: NSButton) {
+        self.window?.makeFirstResponder(nil)
+        
         viewModel.emailErrorMessage = ""
         viewModel.passwordErrorMessage = ""
         viewModel.signUpAction()
@@ -466,4 +485,8 @@ extension KMSignUpView: NSTextFieldDelegate {
             passwordBox.borderColor = NSColor(named: "DADBDE") ?? NSColor.gray
         }
     }
+    
+    @objc func loginSuccessNotification() -> Void {
+        resetTextFileData()
+    }
 }

+ 4 - 0
PDF Office/PDF Master/MemberCenter/ViewModel/KMSignUpViewModel.swift

@@ -229,6 +229,10 @@ class KMSignUpViewModel: ObservableObject {
                 KMMemberInfo.shared.access_token = access_token!
                 KMMemberInfo.shared.token_type = token_type!
                 self.refreshUserInfo()
+                
+                self.timer?.cancel()
+                self.sendContent = NSLocalizedString("Resend", tableName: "MemberCenterLocalizable", comment: "")
+
             } else {
                 print("错误信息:%@", msg as Any)
                 let alert = NSAlert()

+ 13 - 3
PDF Office/PDF Master/MemberCenter/WindowsController/KMLoginWindowsController.swift

@@ -19,6 +19,8 @@ class KMLoginWindowsController: NSWindowController {
     
     var memberInfo: KMMemberInfo = KMMemberInfo.shared
     
+    var signUpView: KMSignUpView?
+    
     var loginResult: LoginResultComplete!
     
     static let shared: KMLoginWindowsController = {
@@ -37,6 +39,8 @@ class KMLoginWindowsController: NSWindowController {
         initializeUI()
         
         NotificationCenter.default.addObserver(self, selector: #selector(loginSuccessNotification), name: NSNotification.Name(rawValue: "MemberCenterLoginSuccess"), object: nil)
+        
+        NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccessNotification), name: NSNotification.Name(rawValue: "MemberCenterLogoutSuccess"), object: nil)
     }
     
     
@@ -48,9 +52,11 @@ class KMLoginWindowsController: NSWindowController {
         } else {
             leftImageView.image = NSImage(named: "WelcomePDFReaderPro1")
             
-            let signUpView = KMSignUpView()
-            signUpView.frame = rightBox.frame
-            rightBox.contentView = signUpView
+            signUpView = KMSignUpView()
+            if(signUpView != nil) {
+                signUpView?.frame = rightBox.frame
+                rightBox.contentView = signUpView!
+            }
             rightBox.fillColor = NSColor(named: "membercentercolor") ?? NSColor.white
         }
     }
@@ -64,6 +70,10 @@ class KMLoginWindowsController: NSWindowController {
         window?.close()
     }
     
+    @objc func logoutSuccessNotification() -> Void {
+        signUpView?.resetTextFileData()
+    }
+    
     func openWindow(_ complete: @escaping LoginResultComplete) -> Void {
         KMLoginWindowsController.shared.showWindow(nil)
         loginResult = complete