ViewController.swift 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. unowned let weakSelf = self
  28. //获取广告数据
  29. KMAdvertisementManager.manager.fetchData { data, error in
  30. if data != nil {
  31. for model in data! {
  32. if model.showType == .list {
  33. //视图加载方法一
  34. let view = KMAdvertisementManager.manager.show(type: KMAdvertisementShowType.list, data: model, superView: weakSelf.showListView) { actionType, actionItem in
  35. print("list 1")
  36. if actionItem.actionType == .URL {
  37. let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: actionItem.linkURL)
  38. if NSWorkspace.shared.open(URL.init(string: string)!) {
  39. NSWorkspace.shared.open(URL.init(string: string)!)
  40. }
  41. } else {
  42. let string = KMAdvertisementModelTransition.transitionLanguage(langeuage: actionItem.linkURL)
  43. if NSWorkspace.shared.open(URL.init(string: string)!) {
  44. NSWorkspace.shared.open(URL.init(string: string)!)
  45. }
  46. }
  47. } _: { data in
  48. print("数据刷新了")
  49. }
  50. //视图加载方法二
  51. weakSelf.tableView.inputData = model
  52. weakSelf.tableView.actionCompletion = {actionType, actionItem in
  53. print("list 2")
  54. }
  55. }
  56. if model.showType == .view {
  57. //视图加载方法一
  58. let view = KMAdvertisementManager.manager.show(type: KMAdvertisementShowType.view, data: model, superView: weakSelf.showView) { actionType, actionItem in
  59. print("view 1")
  60. } _: { data in
  61. print("数据刷新了")
  62. }
  63. //视图加载方法二
  64. weakSelf.advertisementView.inputData = model
  65. weakSelf.advertisementView.actionCompletion = {actionType, actionItem in
  66. print("view 2")
  67. }
  68. }
  69. }
  70. }
  71. }
  72. }
  73. override var representedObject: Any? {
  74. didSet {
  75. // Update the view, if already loaded.
  76. }
  77. }
  78. }