Browse Source

【综合】解决冲突

tangchao 1 year ago
parent
commit
4b7a928eae

+ 3 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -1123,6 +1123,9 @@
 		9FDD0FBA295D5230000C4DAD /* KMToolbarController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9FDD0FB6295D5230000C4DAD /* KMToolbarController.xib */; };
 		9FDD0FBB295D5230000C4DAD /* KMToolbarController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9FDD0FB6295D5230000C4DAD /* KMToolbarController.xib */; };
 		9FDD0FBC295D5230000C4DAD /* KMToolbarController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9FDD0FB6295D5230000C4DAD /* KMToolbarController.xib */; };
+		9FE5F6D72A5FA95A00A983F1 /* AppCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CCC22A2F2E2300AC462E /* AppCenter.framework */; };
+		9FE5F6D82A5FA95D00A983F1 /* AppCenterAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CCC32A2F2E2400AC462E /* AppCenterAnalytics.framework */; };
+		9FE5F6D92A5FA96000A983F1 /* AppCenterCrashes.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F00CCC42A2F2E2400AC462E /* AppCenterCrashes.framework */; };
 		9FF94F0929A62B5000B1EF69 /* KMDesignSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF94F0729A62B5000B1EF69 /* KMDesignSelect.swift */; };
 		9FF94F0A29A62B5000B1EF69 /* KMDesignSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF94F0729A62B5000B1EF69 /* KMDesignSelect.swift */; };
 		9FF94F0B29A62B5000B1EF69 /* KMDesignSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FF94F0729A62B5000B1EF69 /* KMDesignSelect.swift */; };

+ 16 - 4
PDF Office/PDF Master/AppDelegate.swift

@@ -53,6 +53,8 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         updater!.automaticallyChecksForUpdates = true
         
         appSecret = "416b8e45-69bd-4a16-8fec-b5206e913c4a"
+#else
+        appSecret = "f0d082d0-9581-458c-9069-7aaf0a2b0a8c"
 #endif
 
         //        MARK: 广告数据初始化
@@ -109,7 +111,11 @@ class AppDelegate: NSObject, NSApplicationDelegate {
                         KMLoginWindowController.show(window: NSApp.mainWindow!)
                     } else {
                         KMPurchaseManager.manager.restorePurchases { isSuccess in
-                            
+                            if isSuccess {
+                                
+                            } else {
+                                KMComparativeTableViewController.purchasefailed(state: .restoreFailed)
+                            }
                         }
                     }
                     
@@ -124,9 +130,11 @@ class AppDelegate: NSObject, NSApplicationDelegate {
                 #if VERSION_FREE
                 // 执行相应的操作
                 if url.scheme == "subscriptionSchemes" {
-                    KMPurchaseManager.manager.restorePurchases { isSuccess in
-                        
+                    //刷新用户信息
+                    KMRequestServerManager.manager.getUserInfo { [weak self] success, data, error, isLocal in
+
                     }
+                    
                     if url.path == "/open" {
                         // 执行打开操作
                     } else if url.path == "/close" {
@@ -371,7 +379,11 @@ class AppDelegate: NSObject, NSApplicationDelegate {
     
     @IBAction func restoreMenuItemAction(_ sender: Any) {
         KMPurchaseManager.manager.restorePurchases { isSuccess in
-            
+            if isSuccess {
+                
+            } else {
+                KMComparativeTableViewController.purchasefailed(state: .restoreFailed)
+            }
         }
     }
     

+ 0 - 2
PDF Office/PDF Master/Class/Analytics/KMAnalytics.swift

@@ -73,10 +73,8 @@ extension KMAnalytics.Parameter {
     
     // 配置
     static func configure() {
-#if VERSION_DMG
         var appSecret = "416b8e45-69bd-4a16-8fec-b5206e913c4a"
         AppCenter.start(withAppSecret: appSecret, services: [Analytics.self, Crashes.self])
-#endif
         FirebaseApp.configure()
         
         #if DEBUG

+ 1 - 1
PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationWindowController.swift

@@ -94,7 +94,7 @@ class KMAITranslationWindowController: NSWindowController {
 
         self.toContentBox.borderColor = NSColor(hex: "#DFE1E5")
         self.toContentBox.fillColor = NSColor(hex: "#FFFFFF")
-        self.toContentTextView.textColor = NSColor(hex: "#252629")
+        self.toContentTextView.textColor = .black
         self.toContentTextView.font = NSFont.SFProTextRegular(12.0)
         
         self.translateBox.fillColor = NSColor(hex: "#BDDFFD")

+ 2 - 2
PDF Office/PDF Master/Class/KMLightMember/Controller/AccountInfo/View/KMAccountInfoView.swift

@@ -247,7 +247,7 @@ extension KMAccountInfoView: KMAccountInfoViewAction {
     
     @IBAction func moreButtonAction(_ sender: NSButton) {
         self.updateMoreButtonState(select: true)
-        let vc: KMHomePopViewController = KMHomePopViewController().initWithPopViewDataArr([NSLocalizedString("Log out", comment: ""), NSLocalizedString("Cancellation", comment: "")])
+        let vc: KMHomePopViewController = KMHomePopViewController().initWithPopViewDataArr([NSLocalizedString("Log out", comment: ""), NSLocalizedString("Cancel", comment: "")])
         let createFilePopover: NSPopover = NSPopover.init()
         createFilePopover.contentViewController = vc
         createFilePopover.delegate = self
@@ -259,7 +259,7 @@ extension KMAccountInfoView: KMAccountInfoViewAction {
 //        vc.customBoxWidthLayoutConstraint.constant = sender.frame.width
         vc.downCallback = { [unowned self] (downEntered: Bool, count: String) -> Void in
             if downEntered {
-                if count == "Cancel" {
+                if count == NSLocalizedString("Cancel", comment: "") {
                     createFilePopover.close()
                     
                     guard let callBack = self.cancellationAction else { return }

+ 27 - 5
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/KMComparativeTableViewController.swift

@@ -227,7 +227,7 @@ class KMComparativeTableViewController: NSWindowController {
                         comparativeMainWindow = nil
                         controller.close()
                     } else {
-                        controller.purchasefailed()
+                        KMComparativeTableViewController.purchasefailed(state: .restoreFailed)
                     }
                     controller.comparativeView.endLoading()
                 }
@@ -246,7 +246,7 @@ class KMComparativeTableViewController: NSWindowController {
                             }
                         }
                     } else {
-                        controller.purchasefailed()
+                        KMComparativeTableViewController.purchasefailed(state: .failed)
                     }
                     //loading
                     controller.comparativeView.endLoading()
@@ -267,11 +267,33 @@ class KMComparativeTableViewController: NSWindowController {
         }
     }
     
-    func purchasefailed() {
-        
+    static func purchasefailed(state: KMInAppPurchaseState) {
+        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1, execute: {
+            let alert = NSAlert()
+            alert.messageText = NSLocalizedString(state.rawValue, comment: "")
+            alert.informativeText = NSLocalizedString("", comment: "")
+//            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
+            var window = NSApp.mainWindow
+            if NSApp.mainWindow?.sheets.first != nil {
+                window = NSApp.mainWindow?.sheets.first
+            }
+            if window != nil {
+                alert.beginSheetModal(for: window!) { result in
+                    if (result == .alertFirstButtonReturn) {
+
+                    } else if result == .alertSecondButtonReturn {
+                        return
+                    }
+                }
+            }
+        })
+    }
+    
+    static func purchaseSuccess() {
         DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1, execute: {
             let alert = NSAlert()
-            alert.messageText = NSLocalizedString("restore failed", comment: "")
+            alert.messageText = NSLocalizedString("restore success", comment: "")
             alert.informativeText = NSLocalizedString("", comment: "")
 //            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
             alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))

+ 0 - 1
PDF Office/PDF Master/Class/KMLightMember/Controller/Login&Register/KMLoginWindowController.swift

@@ -372,7 +372,6 @@ class KMLoginWindowController: NSWindowController {
         
         return nil
     }
-    
 }
 
 

+ 25 - 10
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/SubscribeSuccess/KMSubscribeSuccessWindowController.swift

@@ -28,17 +28,21 @@ class KMSubscribeSuccessWindowController: NSWindowController {
     
     //MARK: 打开文件
     static func show(window: NSWindow) -> KMSubscribeSuccessWindowController {
-        let subscribeSuccessWindowController: KMSubscribeSuccessWindowController = KMSubscribeSuccessWindowController.init(windowNibName: "KMSubscribeSuccessWindowController")
-        window.beginSheet(subscribeSuccessWindowController.window!)
-        subscribeSuccessWindowController.window?.center()
-        
-        subscribeSuccessWindowController.closeAction = { controller in
-            controller.closeWindow()
+        if let controller: KMSubscribeSuccessWindowController = KMSubscribeSuccessWindowController.fetchSampleController() {
+            return controller
+        } else {
+            let subscribeSuccessWindowController: KMSubscribeSuccessWindowController = KMSubscribeSuccessWindowController.init(windowNibName: "KMSubscribeSuccessWindowController")
+            window.beginSheet(subscribeSuccessWindowController.window!)
+            subscribeSuccessWindowController.window?.center()
+            
+            subscribeSuccessWindowController.closeAction = { controller in
+                controller.closeWindow()
+            }
+            
+            subscribeSuccessController = subscribeSuccessWindowController
+            subscribeSuccessMainWindow = window
+            return subscribeSuccessWindowController
         }
-        
-        subscribeSuccessController = subscribeSuccessWindowController
-        subscribeSuccessMainWindow = window
-        return subscribeSuccessWindowController
     }
     
     func setup() {
@@ -63,4 +67,15 @@ class KMSubscribeSuccessWindowController: NSWindowController {
         subscribeSuccessController = nil
         subscribeSuccessMainWindow = nil
     }
+    
+    static func fetchSampleController() -> KMSubscribeSuccessWindowController? {
+        for window in NSApp.windows {
+            let controller = window.windowController
+            if controller is KMSubscribeSuccessWindowController {
+                return controller as! KMSubscribeSuccessWindowController
+            }
+        }
+        
+        return nil
+    }
 }

+ 9 - 36
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.swift

@@ -87,11 +87,9 @@ class KMSubscribeWaterMarkWindowController: NSWindowController {
         }
         
         subscribeWaterMarkWindowController.subscribeAction = { controller in
-            KMPrint("购买")
             controller.waterMarkView.beginLoading(backgroundColor: NSColor.black.withAlphaComponent(0.2))
             KMPurchaseManager.manager.purchaseProduct(productIdentifier: PRODUCT_1) { isSuccess, error in
                 if isSuccess {
-                    KMPrint("购买成功")
                     subscribeWaterMarkMainWindow?.endSheet(controller.window!)
                     controller.window?.close()
                     subscribeWaterMarkController = nil
@@ -107,8 +105,7 @@ class KMSubscribeWaterMarkWindowController: NSWindowController {
                         }
                     }
                 } else {
-                    KMPrint("购买失败")
-                    controller.purchasefailed()
+                    KMComparativeTableViewController.purchasefailed(state: .failed)
                     completion(false, false, false)
                 }
                 
@@ -117,26 +114,25 @@ class KMSubscribeWaterMarkWindowController: NSWindowController {
         }
         
         subscribeWaterMarkWindowController.restoreAction = { controller in
-            KMPrint("restore")
             controller.waterMarkView.beginLoading(backgroundColor: NSColor.black.withAlphaComponent(0.2))
             KMPurchaseManager.manager.restorePurchases { isSuccess in
                 if isSuccess {
-                    KMPrint("restore成功")
                     subscribeWaterMarkMainWindow?.endSheet(controller.window!)
                     controller.window?.close()
                     subscribeWaterMarkController = nil
                     subscribeWaterMarkMainWindow = nil
                     
-                    if NSApp.mainWindow != nil {
-                        let controller = KMSubscribeSuccessWindowController.show(window: NSApp.mainWindow!)
-                        controller.closeAction = { controller in
-                            controller.closeWindow()
-                            completion(true, false, false)
+                    DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1) {
+                        if NSApp.mainWindow != nil {
+                            let controller = KMSubscribeSuccessWindowController.show(window: NSApp.mainWindow!)
+                            controller.closeAction = { controller in
+                                controller.closeWindow()
+                                completion(true, false, false)
+                            }
                         }
                     }
                 } else {
-                    KMPrint("restore失败")
-                    controller.purchasefailed()
+                    KMComparativeTableViewController.purchasefailed(state: .restoreFailed)
                     completion(false, false, false)
                 }
                 controller.waterMarkView.endLoading()
@@ -207,27 +203,4 @@ class KMSubscribeWaterMarkWindowController: NSWindowController {
         }
         return KMSubscribeWaterMarkWindowController()
     }
-    
-    func purchasefailed() {
-        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.1, execute: {
-            let alert = NSAlert()
-            alert.messageText = NSLocalizedString("购买失败", comment: "")
-            alert.informativeText = NSLocalizedString("", comment: "")
-//            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
-            alert.addButton(withTitle: NSLocalizedString("OK", comment: ""))
-            var window = NSApp.mainWindow
-            if NSApp.mainWindow?.sheets.first != nil {
-                window = NSApp.mainWindow?.sheets.first
-            }
-            if window != nil {
-                alert.beginSheetModal(for: window!) { result in
-                    if (result == .alertFirstButtonReturn) {
-
-                    } else if result == .alertSecondButtonReturn {
-                        return
-                    }
-                }
-            }
-        })
-    }
 }

+ 1 - 1
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/View/KMSubscribeWaterMarkView.xib

@@ -16,7 +16,7 @@
                 <outlet property="preferentialImageTrailingConst" destination="bCN-ta-Soy" id="QW8-tJ-0FR"/>
                 <outlet property="restoreButton" destination="2p2-EB-ZME" id="4dk-gE-x5C"/>
                 <outlet property="scrollView" destination="iQs-EU-LBJ" id="bId-Pc-Y9u"/>
-                <outlet property="subTrailingConst" destination="C4o-V4-0GQ" id="QFw-8z-ICT"/>
+                <outlet property="subTrailingConst" destination="q02-dr-aPM" id="hap-0b-Mte"/>
                 <outlet property="subWidthConst" destination="Waq-d7-0Ra" id="4iZ-sH-JOh"/>
                 <outlet property="subscribeBox" destination="Vzt-oq-0J5" id="Y8y-zX-L6E"/>
                 <outlet property="subscribeLabel" destination="Ek9-Vy-Rri" id="1Uo-E7-TwG"/>

+ 16 - 15
PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/Appstore/KMInAppPurchaseManager.swift

@@ -43,21 +43,22 @@ let keychainAccessGroup = "your.keychain.access.group"
 let receiptDataLabel = "receiptData"
 
 enum KMInAppPurchaseState: String, CaseIterable {
-    case success = "购买成功"
-    case failed = "购买失败"
-    case cancel = "取消购买"
-    case verFailed = "订单校验失败"
-    case verSuccess = "订单校验成功"
-    case verServerFailed = "服务器订单校验失败"
-    case notArrow = "不允许内购"
-    case productSuccess = "获取产品失败"
-    case productFailed = "获取产品成功"
-    case productCorrespondenceFailed = "未找到对应产品"
-    case restoreSuccess = "restore成功"
-    case restoreFailed = "restore失败"
-    case restoreVerSuccess = "restore二次验证成功"
-    case restoreVerFailed = "restore二次验证失败"
-    case noReceipt = "无票据信息"
+    case success = "success"//"购买成功"
+    case failed = "failed"//"购买失败"
+    case cancel = "cancel"//"取消购买"
+    case verFailed = "Order verification failure"//"订单校验失败"
+    case verSuccess = "Order verification successful"//"订单校验成功"
+    case verServerFailed = "Server order verification failed"//"服务器订单校验失败"
+    case notArrow = "Internal purchase is not allowed" //"不允许内购"
+    case productSuccess = "Failed to obtain product"//"获取产品失败"
+    case productFailed = "Get product Success"//"获取产品成功"
+    case productCorrespondenceFailed = "Product not found"//"未找到对应产品"
+    case restoreSuccess = "restore successfully"//"restore成功"
+    case restoreFailed = "restore Failed"//"restore失败"
+    case restoreVerSuccess = "restore secondary verification successful"//"restore二次验证成功"
+    case restoreVerFailed = "restore secondary validation failed"//"restore二次验证失败"
+    case noReceipt = "No ticket information"//"无票据信息"
+    case orderFailed = "Order creation failed"//"订单创建失败"
 }
 
 class KMInAppPurchaseManager: NSObject {

+ 1 - 1
PDF Office/PDF Master/Class/KMLightMember/InAppPurchase/KMPurchaseManager.swift

@@ -94,7 +94,7 @@ class KMPurchaseManager: NSObject {
                     }
                 }
             } else {
-                completion(false, .failed)
+                completion(false, .orderFailed)
             }
         }
 #endif

+ 14 - 0
PDF Office/PDF Master/Strings/en.lproj/Localizable.strings

@@ -681,6 +681,20 @@
 "Users have already subscribed to PDF Master."     =     "Users have already subscribed to PDF Master.";
 "Restoring is not supported."     =     "Restoring is not supported.";
 
+"Upgrade to Use All Features!" = "Upgrade to Use All Features!";
+"Registered" = "Registered";
+"subscriber" = "subscriber";
+"Free" = "Free";
+"50%OFF" = "50%OFF";
+"yearly. Cancel subscription anytime." = "yearly. Cancel subscription anytime.";
+"Basic functions like annotation and viewing" = "Basic functions like annotation and viewing";
+"Enjoy all premium features" = "Enjoy all premium features";
+"Convert PDF to Office (Only first ten pages)" = "Convert PDF to Office (Only first ten pages)";
+"Convert PDF to Office without limitation" = "Convert PDF to Office without limitation";
+"Save without watermark" = "Save without watermark";
+"Sign up for Free" = "Sign up for Free";
+
+
 //MARK: - Pro Mac 多语
 
 //MARK: BookmarkSheet