ViewController.swift 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. //
  2. // ViewController.swift
  3. // KMAdvertisementDemo_Mac
  4. //
  5. // Created by lizhe on 2022/11/23.
  6. //
  7. import Cocoa
  8. import KMAdvertisement
  9. class ViewController: NSViewController {
  10. //list
  11. @IBOutlet weak var showListView: NSView!
  12. @IBOutlet weak var tableView: KMAdvertisementTableView!
  13. //view
  14. @IBOutlet weak var showView: NSView!
  15. @IBOutlet weak var advertisementView: KMAdvertisementShowView!
  16. override func viewDidLoad() {
  17. super.viewDidLoad()
  18. self.showListView.wantsLayer = true
  19. self.showListView.layer?.backgroundColor = NSColor.black.withAlphaComponent(0.3).cgColor
  20. // Do any additional setup after loading the view.
  21. //设置基础参数
  22. KMAdvertisementManager.manager.initConfig(appName: .PDFReaderProMac,
  23. subscribeType: .unsubscribed,
  24. platform: .Mac)
  25. //测试模式,默认false
  26. KMAdvertisementManager.manager.debug = true
  27. //获取广告数据
  28. KMAdvertisementManager.manager.fetchDataWithResponseObject { [unowned self] data, responseObject, error in
  29. if data != nil {
  30. for model in data! {
  31. if model.showType == .list {
  32. //视图加载方法一
  33. let view = KMAdvertisementManager.manager.show(type: KMAdvertisementShowType.list, data: model, superView: self.showListView) { actionType, actionItem in
  34. print("list 1")
  35. if actionItem.actionType == .URL {
  36. let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: actionItem.linkURL)
  37. if NSWorkspace.shared.open(URL.init(string: string)!) {
  38. NSWorkspace.shared.open(URL.init(string: string)!)
  39. }
  40. } else {
  41. let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: actionItem.linkURL)
  42. if NSWorkspace.shared.open(URL.init(string: string)!) {
  43. NSWorkspace.shared.open(URL.init(string: string)!)
  44. }
  45. }
  46. } _: { data in
  47. print("数据刷新了")
  48. }
  49. //视图加载方法二
  50. self.tableView.inputData = model
  51. self.tableView.actionCompletion = {actionType, actionItem in
  52. print("list 2")
  53. }
  54. }
  55. if model.showType == .view {
  56. //视图加载方法一
  57. let view = KMAdvertisementManager.manager.show(type: KMAdvertisementShowType.view, data: model, superView: self.showView) { actionType, actionItem in
  58. print("view 1")
  59. } _: { data in
  60. print("数据刷新了")
  61. }
  62. //视图加载方法二
  63. if self.advertisementView != nil {
  64. self.advertisementView.inputData = model
  65. self.advertisementView.actionCompletion = {actionType, actionItem in
  66. print("view 2")
  67. }
  68. }
  69. }
  70. }
  71. }
  72. }
  73. }
  74. override var representedObject: Any? {
  75. didSet {
  76. // Update the view, if already loaded.
  77. }
  78. }
  79. }