KMSubscribeWaterMarkWindowController.swift 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // KMSubscribeWaterMarkWindowController.swift
  3. // PDF Master
  4. //
  5. // Created by lizhe on 2023/6/12.
  6. //
  7. import Cocoa
  8. var subscribeWaterMarkController: KMSubscribeWaterMarkWindowController?
  9. var subscribeWaterMarkMainWindow: NSWindow?
  10. typealias KMSubscribeWaterMarkWindowControllerCloseAction = (_ controller: KMSubscribeWaterMarkWindowController) -> Void
  11. typealias KMSubscribeWaterMarkWindowControllerWatermarkExportAction = (_ controller: KMSubscribeWaterMarkWindowController) -> Void
  12. typealias KMSubscribeWaterMarkWindowControllerSubscribeAction = (_ controller: KMSubscribeWaterMarkWindowController) -> Void
  13. class KMSubscribeWaterMarkWindowController: NSWindowController {
  14. @IBOutlet weak var waterMarkView: KMSubscribeWaterMarkView!
  15. var closeAction: KMSubscribeWaterMarkWindowControllerCloseAction?
  16. var subscribeAction: KMSubscribeWaterMarkWindowControllerSubscribeAction?
  17. var watermarkExportAction: KMSubscribeWaterMarkWindowControllerWatermarkExportAction?
  18. deinit {
  19. print("KMCancellationWindowController 释放")
  20. }
  21. override func windowDidLoad() {
  22. super.windowDidLoad()
  23. self.setup()
  24. // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
  25. }
  26. //MARK: 打开文件
  27. static func show(window: NSWindow, completion: @escaping (_ isSubscribeSuccess: Bool) -> Void) -> KMSubscribeWaterMarkWindowController {
  28. let subscribeWaterMarkWindowController: KMSubscribeWaterMarkWindowController = KMSubscribeWaterMarkWindowController.init(windowNibName: "KMSubscribeWaterMarkWindowController")
  29. window.beginSheet(subscribeWaterMarkWindowController.window!)
  30. subscribeWaterMarkWindowController.window?.center()
  31. subscribeWaterMarkWindowController.closeAction = { controller in
  32. print("关闭")
  33. completion(false)
  34. subscribeWaterMarkMainWindow?.endSheet(controller.window!)
  35. controller.window?.close()
  36. subscribeWaterMarkController = nil
  37. subscribeWaterMarkMainWindow = nil
  38. }
  39. subscribeWaterMarkWindowController.watermarkExportAction = { controller in
  40. print("关闭")
  41. completion(false)
  42. subscribeWaterMarkMainWindow?.endSheet(controller.window!)
  43. controller.window?.close()
  44. subscribeWaterMarkController = nil
  45. subscribeWaterMarkMainWindow = nil
  46. }
  47. subscribeWaterMarkWindowController.subscribeAction = { controller in
  48. print("购买")
  49. // subscribeWaterMarkMainWindow?.endSheet(controller.window!)
  50. // controller.window?.close()
  51. //
  52. // subscribeWaterMarkController = nil
  53. // subscribeWaterMarkMainWindow = nil
  54. KMPurchaseManager.manager.purchaseProduct(productIdentifier: PRODUCT_1) { isSuccess, error in
  55. if isSuccess {
  56. print("购买成功")
  57. completion(true)
  58. } else {
  59. print("购买失败")
  60. completion(false)
  61. }
  62. }
  63. }
  64. subscribeWaterMarkController = subscribeWaterMarkWindowController
  65. subscribeWaterMarkMainWindow = window
  66. return subscribeWaterMarkWindowController
  67. }
  68. func setup() {
  69. self.window?.contentView?.backgroundColor(NSColor(hex: "#FFFFFF"))
  70. self.waterMarkView.closeAction = { [weak self] view in
  71. guard let callBack = self?.closeAction else { return }
  72. callBack((self!))
  73. }
  74. self.waterMarkView.waterMarkExportAction = { [weak self] view in
  75. guard let callBack = self?.watermarkExportAction else { return }
  76. callBack((self!))
  77. }
  78. self.waterMarkView.subscribeAction = { [weak self] view in
  79. guard let callBack = self?.subscribeAction else { return }
  80. callBack((self!))
  81. }
  82. }
  83. }