ソースを参照

【订阅】比价表流程串接(缺少productID)

lizhe 1 年間 前
コミット
9b2155b146

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

@@ -142,13 +142,13 @@ class KMComparativeTableViewController: NSWindowController {
             comparativeMainWindow = nil
         }
         
-//        self.comparativeTableView.signUpAction = { [weak self] view in
-//            print("注册")
-//            guard let callBack = self?.signUpAction else { return }
-//
-//            callBack(self!)
-//        }
-//
+        self.comparativeView.signUpAction = { [weak self] view in
+            print("注册")
+            guard let callBack = self?.signUpAction else { return }
+
+            callBack(self!)
+        }
+
 //        self.comparativeTableView.loginAction = { [weak self] view in
 //            print("登录")
 //            guard let callBack = self?.loginAction else { return }
@@ -156,19 +156,19 @@ class KMComparativeTableViewController: NSWindowController {
 //            callBack(self!)
 //        }
 //
-//        self.comparativeTableView.subscriptionAction = { [weak self] view in
-//            print("订阅")
-//            guard let callBack = self?.subscriptionAction else { return }
-//
-//            callBack(self!)
-//        }
-//
-//        self.comparativeTableView.restoreAction = { [weak self] view in
-//            print("订阅")
-//            guard let callBack = self?.restoreAction else { return }
-//
-//            callBack(self!)
-//        }
+        self.comparativeView.subscriptionAction = { [weak self] view in
+            print("订阅")
+            guard let callBack = self?.subscriptionAction else { return }
+
+            callBack(self!)
+        }
+
+        self.comparativeView.restoreAction = { [weak self] view in
+            print("restore订阅")
+            guard let callBack = self?.restoreAction else { return }
+
+            callBack(self!)
+        }
     }
     
 }

+ 25 - 7
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/KMComparativeView.swift

@@ -8,6 +8,9 @@
 import Cocoa
 
 typealias KMComparativeViewCloseAction = (_ view: KMComparativeView) -> Void
+typealias KMComparativeViewSignUpAction = (_ view: KMComparativeView) -> Void
+typealias KMComparativeViewSubscriptionAction = (_ view: KMComparativeView) -> Void
+typealias KMComparativeViewRestoreAction = (_ view: KMComparativeView) -> Void
 
 class KMComparativeView: KMBaseXibView {
     @IBOutlet weak var topView: NSView!
@@ -22,6 +25,9 @@ class KMComparativeView: KMBaseXibView {
     
     
     var closeAction: KMComparativeViewCloseAction?
+    var signUpAction: KMComparativeViewSignUpAction?
+    var subscriptionAction: KMComparativeViewSubscriptionAction?
+    var restoreAction: KMComparativeViewRestoreAction?
     
     var dataArray: [NSDictionary] = [
         [
@@ -103,7 +109,8 @@ class KMComparativeView: KMBaseXibView {
     }
     
     override func updateLanguage() {
-        let string = NSLocalizedString("Subscription Plan: \nSubscription:USD $39.99/year", comment: "") + "  " + NSLocalizedString("Subscription", comment: "")
+//        + "  " + NSLocalizedString("Subscription", comment: ""
+        let string = NSLocalizedString("Subscription Plan: \nSubscription:USD $39.99/year", comment: "")
         let attributedString = NSMutableAttributedString.init(string: string)
         let paragraphStyle = NSMutableParagraphStyle()
         paragraphStyle.alignment = .left;
@@ -113,12 +120,12 @@ class KMComparativeView: KMBaseXibView {
                                         NSAttributedString.Key.paragraphStyle : paragraphStyle],
                                     range: NSRange(location: 0, length: string.count))
         
-        let range = string.range(of: NSLocalizedString("Subscription", comment: ""))
-        attributedString.setAttributes([NSAttributedString.Key.font : NSFont.SFProTextRegular(12.0),
-                                        NSAttributedString.Key.foregroundColor : NSColor(hex: "#1770F4"),
-                                        NSAttributedString.Key.underlineColor : NSColor.clear,
-                                        NSAttributedString.Key.link : "register://"],
-                                       range: string.nsRange(from: range!)!)
+//        let range = string.range(of: NSLocalizedString("Subscription", comment: ""))
+//        attributedString.setAttributes([NSAttributedString.Key.font : NSFont.SFProTextRegular(12.0),
+//                                        NSAttributedString.Key.foregroundColor : NSColor(hex: "#1770F4"),
+//                                        NSAttributedString.Key.underlineColor : NSColor.clear,
+//                                        NSAttributedString.Key.link : "register://"],
+//                                       range: string.nsRange(from: range!)!)
         
         self.textView.textStorage?.setAttributedString(attributedString)
     }
@@ -138,6 +145,15 @@ extension KMComparativeView: NSCollectionViewDataSource {
 //        let data = self.dataArray[indexPath.item]
         let view = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMComparativeViewCollectionItem"), for: indexPath) as! KMComparativeViewCollectionItem
         view.data = self.dataArray[indexPath.section] as! [String : Any]
+        view.doneAction = { [unowned self] view, data in
+            if data["type"] as! Int == 0 {
+                guard let callBack = signUpAction else { return }
+                callBack(self)
+            } else if data ["type"] as! Int == 1 {
+                guard let callBack = subscriptionAction else { return }
+                callBack(self)
+            }
+        }
         return view
     }
 }
@@ -198,7 +214,9 @@ extension KMComparativeView: NSTextViewDelegate {
     }
     
     @IBAction func restoreButtonAction(_ sender: Any) {
+        guard let callBack = restoreAction else { return }
         
+        callBack(self)
     }
     
 }

+ 5 - 2
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.swift

@@ -7,6 +7,7 @@
 
 import Cocoa
 
+typealias KMComparativeViewCollectionItemDoneAction = (_ view: KMComparativeViewCollectionItem, _ data: [String: Any]) -> Void
 class KMComparativeViewCollectionItem: NSCollectionViewItem {
     @IBOutlet weak var titleLabel: NSTextField!
     @IBOutlet weak var subtitleLabel: NSTextField!
@@ -15,6 +16,8 @@ class KMComparativeViewCollectionItem: NSCollectionViewItem {
     @IBOutlet weak var doneButton: NSButton!
     @IBOutlet weak var describeLabel: NSTextField!
     @IBOutlet weak var iconImageView: NSImageView!
+    
+    var doneAction: KMComparativeViewCollectionItemDoneAction?
     var data: [String: Any] = [:] {
         didSet {
             self.reloadData()
@@ -86,8 +89,9 @@ class KMComparativeViewCollectionItem: NSCollectionViewItem {
 
 extension KMComparativeViewCollectionItem {
     @IBAction func doneAction(_ sender: Any) {
+        guard let callBack = doneAction else { return }
         
-        
+        callBack(self, data)
     }
 }
 
@@ -103,7 +107,6 @@ extension KMComparativeViewCollectionItem: NSCollectionViewDataSource {
     
     //返回对应的item自定义个体
     public func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
-//        let data = self.dataArray[indexPath.item]
         let view = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMComparativeViewCollectionItemItem"), for: indexPath) as! KMComparativeViewCollectionItemItem
         let array: [[String: Any]] = self.data["content"] as! [[String : Any]]
         view.data = array[indexPath.section]