123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- //
- // KMComparativeTableViewController.swift
- // PDF Master
- //
- // Created by lizhe on 2023/2/24.
- //
- import Cocoa
- typealias KMComparativeTableViewControllerLoginAction = (_ controller: KMComparativeTableViewController) -> Void
- typealias KMComparativeTableViewControllerSignUpAction = (_ controller: KMComparativeTableViewController) -> Void
- typealias KMComparativeTableViewControllerSubscriptionAction = (_ controller: KMComparativeTableViewController) -> Void
- typealias KMComparativeTableViewControllerRestoreAction = (_ controller: KMComparativeTableViewController) -> Void
- var comparativeController: KMComparativeTableViewController?
- var comparativeMainWindow: NSWindow?
- enum KMComparativeInputType: Int {
- case unknown = 0
- case login = 1 //登录界面
- case register = 2 //注册界面
- case resetPassword = 3 //重置密码
- case verificationCode = 4 //验证码
- case registerSuccess = 5 //注册成功
- case loginInputPassword = 6 //登录密码输入
- case accountInfo = 7 //用户信息
-
- //后续添加
- }
- class KMComparativeTableViewController: NSWindowController {
- @IBOutlet weak var comparativeTableView: KMComparativeTableView!
- @IBOutlet weak var comparativeView: KMComparativeView!
-
- var inputType: KMComparativeInputType?
-
- var loginAction: KMComparativeTableViewControllerLoginAction?
- var signUpAction: KMComparativeTableViewControllerSignUpAction?
- var subscriptionAction: KMComparativeTableViewControllerSubscriptionAction?
- var restoreAction: KMComparativeTableViewControllerRestoreAction?
-
- deinit {
- print("KMComparativeTableViewController 释放")
- }
-
- //MARK: 打开文件
- /**
- @abstract 弹出比较表
- @param window 弹出window
- @param type 从什么页面跳转到比较表 默认batch
- */
- static func show(window: NSWindow, _ type: KMComparativeInputType = .unknown) -> KMComparativeTableViewController {
- let controller: KMComparativeTableViewController = KMComparativeTableViewController.init(windowNibName: "KMComparativeTableViewController")
- controller.inputType = type
- controller.loginAction = { controller in
- comparativeController = nil
- comparativeMainWindow?.endSheet(controller.window!)
- comparativeMainWindow = nil
- controller.close()
- KMLoginWindowController.show(window: NSApp.mainWindow!, .Batch, .login)
- }
- controller.signUpAction = { controller in
- comparativeController = nil
- comparativeMainWindow?.endSheet(controller.window!)
- comparativeMainWindow = nil
- controller.close()
- KMLoginWindowController.show(window: NSApp.mainWindow!, .Batch, .register)
- }
-
- controller.subscriptionAction = { controller in
- KMPurchaseManager.manager.purchaseProduct(productIdentifier: PRODUCT_1) { isSuccess, error in
-
- }
- }
-
- controller.restoreAction = { controller in
- KMPurchaseManager.manager.restorePurchases()
- }
-
- window.beginSheet(controller.window!)
- comparativeController = controller
- comparativeMainWindow = window
- return controller
- }
-
-
- override func windowDidLoad() {
- super.windowDidLoad()
- // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
- self.setup()
- }
-
- func setup() {
- self.window?.contentView?.backgroundColor(NSColor(hex: "FFFFFF"))
- self.comparativeTableView.closeAction = { view in
- print("关闭")
- comparativeMainWindow?.endSheet(view.window!)
- view.window?.close()
- comparativeController = nil
- comparativeMainWindow = nil
- }
-
- self.comparativeTableView.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 }
- 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.closeAction = { view in
- print("关闭")
- comparativeMainWindow?.endSheet(view.window!)
- view.window?.close()
- comparativeController = nil
- comparativeMainWindow = nil
- }
-
- // self.comparativeTableView.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 }
- //
- // 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!)
- // }
- }
-
- }
|