Browse Source

【综合】弹出付费逻辑新增Type

tangchao 3 months ago
parent
commit
ca176602bf
44 changed files with 178 additions and 131 deletions
  1. 2 2
      PDF Office/PDF Master/Class/AD/KMAdsWebView.swift
  2. 1 1
      PDF Office/PDF Master/Class/Batch/View/KMBatchoperateConvertCollectionViewItem.swift
  3. 3 3
      PDF Office/PDF Master/Class/Batch/WindowController/KMBatchOperateLeftViewController.swift
  4. 2 2
      PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateConvertViewController.swift
  5. 2 2
      PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateImageToPDFViewController.swift
  6. 28 0
      PDF Office/PDF Master/Class/Common/KMCommonDefine.swift
  7. 1 1
      PDF Office/PDF Master/Class/GuideInfo/KMFunctionGuideWindowController.swift
  8. 13 13
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift
  9. 2 2
      PDF Office/PDF Master/Class/KMAdvertisement/View/KMRecommondPopWindow/KMRecommondPopWindow.m
  10. 19 0
      PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.swift
  11. 1 1
      PDF Office/PDF Master/Class/PDFTools/AddPassword/New/View/KMSecurityView.swift
  12. 1 1
      PDF Office/PDF Master/Class/PDFTools/Compress/Controller/KMCompressWIndowControllerNew.swift
  13. 2 2
      PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMConvertWindowController.swift
  14. 1 1
      PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMToolCompareWindowController.swift
  15. 4 4
      PDF Office/PDF Master/Class/PDFTools/Merge/MergeNew/KMMergeWindowController.swift
  16. 4 4
      PDF Office/PDF Master/Class/PDFTools/Merge/OCPart/KMPDFEditAppendWindow.m
  17. 17 17
      PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift
  18. 1 1
      PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/SplitWindowController.swift
  19. 1 1
      PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift
  20. 3 3
      PDF Office/PDF Master/Class/PDFTools/Print/PrintHelper/PrintManage/KMPDFPrintManageWindowController.m
  21. 1 1
      PDF Office/PDF Master/Class/PDFTools/RemovePassword/New/View/KMRemovePasswordView.swift
  22. 1 1
      PDF Office/PDF Master/Class/PDFTools/RemovePassword/VC/KMBatchOperateRemovePasswordViewController.swift
  23. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListView.m
  24. 9 9
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Thumbnail.swift
  25. 4 4
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift
  26. 7 7
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Base/KMPDFThumbViewBaseController.swift
  27. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationSelectLinkViewController.swift
  28. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayCustomThemesCollectionViewItem.swift
  29. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayPropertiesViewController.swift
  30. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayThemeCollectionViewItem.swift
  31. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/Signature/KMSignatureAnnotationViewController.m
  32. 3 3
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.swift
  33. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/TabWindowController/KMTabbingHintWindowController.swift
  34. 1 1
      PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift
  35. 13 13
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift
  36. 7 7
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift
  37. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift
  38. 3 3
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift
  39. 1 1
      PDF Office/PDF Master/Class/Preference/Controller/KMGeneralPreferences.swift
  40. 2 2
      PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseCompareDMGWindowController.m
  41. 5 5
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationMessageViewController.m
  42. 1 1
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.m
  43. 1 1
      PDF Office/PDF Master/Class/Tools/Search/Window/KMSearchReplaceWindowController.swift
  44. 1 1
      PDF Office/PDF Master/MemberCenter/Model/KMMemberInfo.swift

+ 2 - 2
PDF Office/PDF Master/Class/AD/KMAdsWebView.swift

@@ -314,7 +314,7 @@ class KMAdsWebView: NSView, WKNavigationDelegate, CAAnimationDelegate {
     #endif
                     KMProductCompareWC.shared.showWindow(nil)
                 } else {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .adsWeb)
                 }
             } else {
                 KMLoginWindowsController.shared.openWindow { success in
@@ -335,7 +335,7 @@ class KMAdsWebView: NSView, WKNavigationDelegate, CAAnimationDelegate {
             #endif
                             KMProductCompareWC.shared.showWindow(nil)
                         } else {
-                            KMMemberInfo.shared.advancedFunctionUsage()
+                            KMMemberInfo.shared.advancedFunctionUsage(type: .adsWeb)
                         }
                     }
                 }

+ 1 - 1
PDF Office/PDF Master/Class/Batch/View/KMBatchoperateConvertCollectionViewItem.swift

@@ -49,7 +49,7 @@ class KMBatchoperateConvertCollectionViewItem: NSCollectionViewItem{
     
     @IBAction func buttonClicked_AdvancedClicked(_ sender: Any) {
         if !KMMemberInfo.shared.isPermitConvert {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
         }
     }
 

+ 3 - 3
PDF Office/PDF Master/Class/Batch/WindowController/KMBatchOperateLeftViewController.swift

@@ -170,7 +170,7 @@ class KMBatchOperateLeftViewController: NSViewController,NSTableViewDelegate,NST
                 if type == .CreatePDF {
                     winC.kEventName = "Onbrd_ImagetoPDF_BuyNow"
                 }
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
                 return
             }
         }
@@ -471,7 +471,7 @@ class KMBatchOperateLeftViewController: NSViewController,NSTableViewDelegate,NST
             if self.files.count < 1 {
                 pdfArray = NSMutableArray(array: [pdfArray.firstObject as Any])
             } else {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
                 return
             }
         }
@@ -723,7 +723,7 @@ class KMBatchOperateLeftViewController: NSViewController,NSTableViewDelegate,NST
                     insertArray.removeAllObjects()
                     insertArray.add(firstObject as Any)
                 } else {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
                     return false
                 }
             }

+ 2 - 2
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateConvertViewController.swift

@@ -614,7 +614,7 @@ class KMBatchOperateConvertViewController: KMBatchOperateBaseViewController{
     
     @IBAction func buttonClicked_MoreConvert(_ sender: NSButton) {
         if !KMMemberInfo.shared.isPermitConvert {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
         }
     }
     
@@ -727,7 +727,7 @@ class KMBatchOperateConvertViewController: KMBatchOperateBaseViewController{
             if KMMemberInfo.shared.isPermitConvert {
                 self.convertActionVC()
             } else {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
             }
 #endif
     }

+ 2 - 2
PDF Office/PDF Master/Class/Batch/WindowController/VC/KMBatchOperateImageToPDFViewController.swift

@@ -379,7 +379,7 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
     @IBAction func buttonClicked_OCRSelect(_ sender: NSButton) {
         //MARK: 判断是否付费用户
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .imageToPDF)
             self.ocrSelectBtn.state = .off
             return
         }
@@ -425,7 +425,7 @@ class KMBatchOperateImageToPDFViewController: KMBatchOperateBaseViewController,
             return
         }
         if KMMemberInfo.shared.isMemberAllFunction == false && self.files?.count ?? 0 > 1 {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .imageToPDF)
             return
         }
 

+ 28 - 0
PDF Office/PDF Master/Class/Common/KMCommonDefine.swift

@@ -99,6 +99,34 @@ public func KMFormatNSNumber(_ number: NSNumber, to n: Int) -> String? {
     return formatter.string(from: number)
 }
 
+public func KMIsAppStoreFreeVersion() -> Bool {
+#if VERSION_FREE
+#if VERSION_DMG
+    return false
+#else
+        return true
+#endif
+#else
+    return false
+#endif
+}
+
+public func KMIsAppStoreProVersion() -> Bool {
+#if VERSION_FREE
+    return false
+#else
+    return true
+#endif
+}
+
+public func KMIsDMGVersion() -> Bool {
+#if VERSION_DMG
+    return true
+#else
+        return false
+#endif
+}
+
 // ColumnID
 
 let kPageColumnId = NSUserInterfaceItemIdentifier(rawValue: "page")

+ 1 - 1
PDF Office/PDF Master/Class/GuideInfo/KMFunctionGuideWindowController.swift

@@ -128,7 +128,7 @@ class KMFunctionGuideWindowController: NSWindowController {
                             self?.closeAction()
                         } else {
                             let singleTon = KMProductCompareWC.shared
-                            KMMemberInfo.shared.advancedFunctionUsage()
+                            KMMemberInfo.shared.advancedFunctionUsage(type: .measure)
                             singleTon.window?.center()
                         }
                     }

+ 13 - 13
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController+Action.swift

@@ -988,7 +988,7 @@ extension KMHomeViewController {
     
     func fastTool_Batch() { // Batch
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
             return
         }
         let batchWindowController = KMBatchOperateWindowController.sharedWindowController
@@ -999,7 +999,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_OCR_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .ocr)
             return
         }
         let openPanel = NSOpenPanel()
@@ -1320,7 +1320,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_Compare_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .fileCompare)
             return
         }
         let openPanel = NSOpenPanel()
@@ -1425,7 +1425,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_Watermard_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .watermark)
             return
         }
 
@@ -1472,7 +1472,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_Background_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .background)
             return
         }
 
@@ -1519,7 +1519,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_HeaderFooter_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .headerfooter)
             return
         }
 
@@ -1567,7 +1567,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_Bates_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .bates)
             return
         }
 
@@ -1620,7 +1620,7 @@ extension KMHomeViewController {
     
     func fastTool_Insert() {    // 插入
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .insert)
             return
         }
 
@@ -1647,7 +1647,7 @@ extension KMHomeViewController {
     
     func fastTool_BreakUp() {   // 拆分
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .split)
             return
         }
 
@@ -1683,7 +1683,7 @@ extension KMHomeViewController {
     
     func fastTool_MarkCipher() {    // 标记密文
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .redact)
             return
         }
         
@@ -1762,7 +1762,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_PrintBooklet_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .print)
             return
         }
 
@@ -1802,7 +1802,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_PrintPoster_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .print)
             return
         }
 
@@ -1842,7 +1842,7 @@ extension KMHomeViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_PrintMultiple_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .print)
             return
         }
 

+ 2 - 2
PDF Office/PDF Master/Class/KMAdvertisement/View/KMRecommondPopWindow/KMRecommondPopWindow.m

@@ -113,7 +113,7 @@ NSWindowDelegate>
     #endif
                     [[KMProductCompareWC shared] showWindow:nil];
                 } else {
-                    [[KMMemberInfo shared] advancedFunctionUsage];
+                    [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                 }
             } else {
                 [[KMLoginWindowsController shared] openWindow:^(BOOL success) {
@@ -134,7 +134,7 @@ NSWindowDelegate>
     #endif
                             [[KMProductCompareWC shared] showWindow:nil];
                         } else {
-                            [[KMMemberInfo shared] advancedFunctionUsage];
+                            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                         }
                     }
                 }];

+ 19 - 0
PDF Office/PDF Master/Class/KMLightMember/Controller/SubscriptionView/WaterMark/KMSubscribeWaterMarkWindowController.swift

@@ -40,6 +40,25 @@ var subscribeWaterMarkMainWindow: NSWindow?
     case aiRewrite
     case aiCorrect
     case save
+    case searchReplace
+    case adsWeb
+    case openTab
+    case imageToPDF
+    case batch
+    case pdfEdit
+    case print
+    case ocr
+    case fileCompare
+    case watermark
+    case background
+    case headerfooter
+    case bates
+    case redact
+    case digitalSign
+    case form
+    case share
+    case measure
+    case themeColor
     
     func isConvertType() -> Bool {
         if (self == .toWord || self == .toExcel || self == .toPPT || self == .toRTF || self == .toCSV || self == .toHTML || self == .toText || self == .toImage) {

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/AddPassword/New/View/KMSecurityView.swift

@@ -160,7 +160,7 @@ extension KMSecurityView {
 extension KMSecurityView {
     @IBAction func batchButtonAction(_ sender: Any) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .setPassword)
             return
         }
         guard let callBack = batchAction else { return }

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Compress/Controller/KMCompressWIndowControllerNew.swift

@@ -63,7 +63,7 @@ class KMCompressWIndowControllerNew: KMBaseWindowController {
         self.compressView.batchAction = { [unowned self] view in
             print("Batch 按钮点击")
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .compress)
                 return
             }
             guard let callBack = batchAction else { return }

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMConvertWindowController.swift

@@ -702,7 +702,7 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
     }
     @IBAction func buttonClicked_Batch(_ sender: NSButton) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
             return
         }
         if self.pdfDocument?.documentURL == nil {
@@ -1075,7 +1075,7 @@ let kConvertFileSavePath = (kTempSavePath?.stringByAppendingPathComponent("conve
         }
 #else
         if !KMMemberInfo.shared.isPermitConvert {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
         }
 #endif
         self.buttonClicked_Cancel(self.cancelButton)

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Convert/NewController/KMToolCompareWindowController.swift

@@ -67,7 +67,7 @@ var currentWindowController: KMToolCompareWindowController? = nil
                             let vc = KMToolCompareWindowController.toolCompare(toolType: self?.type ?? .Convert, selectNum: self?.selectIndex ?? 0)
                             vc.showWindow(nil)
                         } else {
-                            KMMemberInfo.shared.advancedFunctionUsage()
+                            KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
                         }
 #endif
                     }

+ 4 - 4
PDF Office/PDF Master/Class/PDFTools/Merge/MergeNew/KMMergeWindowController.swift

@@ -105,7 +105,7 @@ extension KMMergeWindowController {
             } else {
                 winC.kEventName = "Reading_Merge_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .merge)
             return
         }
         
@@ -146,7 +146,7 @@ extension KMMergeWindowController {
                                     size = fileSize + size
 
                                     if KMMemberInfo.shared.isMemberAllFunction == false && (files.count >= 2 || size > 20 * 1024 * 1024) {
-                                        KMMemberInfo.shared.advancedFunctionUsage()
+                                        KMMemberInfo.shared.advancedFunctionUsage(type: .merge)
                                         return
                                     }
                                     
@@ -168,7 +168,7 @@ extension KMMergeWindowController {
                 size = fileSize + size
 
                 if KMMemberInfo.shared.isMemberAllFunction == false && (files.count >= 2 || size > 20 * 1024 * 1024) {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .merge)
                     return
                 }
 
@@ -201,7 +201,7 @@ extension KMMergeWindowController {
         }
         
         if KMMemberInfo.shared.isMemberAllFunction == false && (files.count >= 2 || size > 20 * 1024 * 1024) {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .merge)
             return
         }
 

+ 4 - 4
PDF Office/PDF Master/Class/PDFTools/Merge/OCPart/KMPDFEditAppendWindow.m

@@ -449,7 +449,7 @@ static KMPDFEditAppendWindow *windowController = nil;
             if (![KMMemberInfo shared].isMemberAllFunction) {
                 //免費版只支援2個檔案做合併小于20M的文件合并
                 if (self->_files.count >= 2 || self.allFileSize > (20 * 1024 * 1024)) {
-                    [[KMMemberInfo shared] advancedFunctionUsage];
+                    [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                     self.allFileSize = self.allFileSize - fileSize;
 
                     [self addFiles:array];
@@ -1098,7 +1098,7 @@ static KMPDFEditAppendWindow *windowController = nil;
             if (![KMMemberInfo shared].isMemberAllFunction) {
                 //免費版只支援2個檔案做合併小于20M的文件合并
                 if (_files.count >= 2 || self.allFileSize > (20 * 1024 * 1024)) {
-                    [[KMMemberInfo shared] advancedFunctionUsage];
+                    [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeMerge];
                     self.allFileSize = self.allFileSize - fileSize;
                     [self addFiles:array];
                     result = YES;
@@ -1305,7 +1305,7 @@ static KMPDFEditAppendWindow *windowController = nil;
     
     if (![KMMemberInfo shared].isMemberAllFunction) {
         if (allSize > (20 * 1024 * 1024) || _files.count > 2) {
-            [[KMMemberInfo shared] advancedFunctionUsage];
+            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeMerge];
             return;
         }
     }
@@ -1594,7 +1594,7 @@ static KMPDFEditAppendWindow *windowController = nil;
     if (![KMMemberInfo shared].isMemberAllFunction) {
         //免費版只支援2個檔案做合併小于20M的文件合并
         if (_files.count >= 2 || self.allFileSize > (20 * 1024 * 1024)) {
-            [[KMMemberInfo shared] advancedFunctionUsage];
+            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeMerge];
             return;
         }
     }

+ 17 - 17
PDF Office/PDF Master/Class/PDFTools/PageEdit/Controller/KMPDFEditViewController.swift

@@ -511,7 +511,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     
     override func cutAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
 
@@ -537,7 +537,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Delete_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -577,7 +577,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     
     override func leftRotateAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -602,7 +602,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Rotate_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -636,7 +636,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     
     override func pasteAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -665,7 +665,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     
     override func pastePage(at index: Int) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -680,7 +680,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Extract_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -706,7 +706,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Replace_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -748,7 +748,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Split_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -771,7 +771,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
     
     func splitMethod(windowC: KMPageEditSplitWindowController, model: KMPageEditSplitSettingModel, limit: Bool = false) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -791,7 +791,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Split_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -872,7 +872,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Reverse_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -1364,7 +1364,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_InsertBlankPage_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -1425,7 +1425,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_InsertImage_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -1487,7 +1487,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_InsertClipboard_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
             /// 插入位置
@@ -1511,7 +1511,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_InsertSacnner_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -1587,7 +1587,7 @@ class KMPDFEditViewController: KMPDFThumbViewBaseController {
             } else {
                 winC.kEventName = "Reading_Extract_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/PageEdit/Window/SplitWindowController.swift

@@ -159,7 +159,7 @@ class SplitWindowController: KMBaseWindowController {
     @IBAction func buttonItemClicked_ByRange(_ sender: AnyObject) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             pageFromButton.state = .off
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .split)
             return
         }
 

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/Print/KMPrintWindowController.swift

@@ -187,7 +187,7 @@ extension KMPrintWindowController {
     static func showNewPrintWindowControll(inputDocument: CPDFDocument?, inputType: DataNavigationViewButtonActionType = .Print, inputPageRange: KMPrintPageRange, printType: KMPrintModelType = .size) {
         //订阅
         if KMMemberInfo.shared.isMemberAllFunction == false && printType != .size {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .print)
             return
         }
         

+ 3 - 3
PDF Office/PDF Master/Class/PDFTools/Print/PrintHelper/PrintManage/KMPDFPrintManageWindowController.m

@@ -601,7 +601,7 @@ typedef NS_ENUM(NSUInteger, kPageSelectStyle) {
         [self close];
         NSWindowController *winC = [KMProductCompareWC shared];
         winC.kEventName = @"MenuBar_PrintPoster_BuyNow";
-        [[KMMemberInfo shared] advancedFunctionUsage];
+        [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypePrint];
         return;
     }
     
@@ -620,7 +620,7 @@ typedef NS_ENUM(NSUInteger, kPageSelectStyle) {
         [self close];
         NSWindowController *winC = [KMProductCompareWC shared];
         winC.kEventName = @"MenuBar_PrintMultiple_BuyNow";
-        [[KMMemberInfo shared] advancedFunctionUsage];
+        [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypePrint];
         return;
     }
 
@@ -639,7 +639,7 @@ typedef NS_ENUM(NSUInteger, kPageSelectStyle) {
         [self close];
         NSWindowController *winC = [KMProductCompareWC shared];
         winC.kEventName = @"MenuBar_PrintBooklet_BuyNow";
-        [[KMMemberInfo shared] advancedFunctionUsage];
+        [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypePrint];
         return;
     }
     

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/RemovePassword/New/View/KMRemovePasswordView.swift

@@ -68,7 +68,7 @@ extension KMRemovePasswordView {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_RemoveSecurity_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .removePassword)
             return
         }
 

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/RemovePassword/VC/KMBatchOperateRemovePasswordViewController.swift

@@ -123,7 +123,7 @@ class KMBatchOperateRemovePasswordViewController: KMBatchOperateBaseViewControll
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Onbrd_Security_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .batch)
             return
         }
         //MARK: 判断是否能用pro功能

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/PDFListView/CPDFListView.m

@@ -1652,7 +1652,7 @@ NSNotificationName const CPDFListViewDisplayModeChangeNotification = @"CPDFListV
         NSString *filePath = filePaths.firstObject;
         if ([supportArray containsObject:[filePath.pathExtension lowercaseString]]) {
             if (![KMMemberInfo shared].isMemberAllFunction) {
-                [[KMMemberInfo shared] advancedFunctionUsage];
+                [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                 return NO;
             }
             if([[filePath.pathExtension lowercaseString] isEqual:@"pdf"]) {

+ 9 - 9
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController+Thumbnail.swift

@@ -323,7 +323,7 @@ extension KMLeftSideViewController {
 extension KMLeftSideViewController {
     @objc func cutPage(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         self.tableView(self.thumbnailTableView, cutRowsWithIndexes: self.thumbnailTableView.selectedRowIndexes)
@@ -339,7 +339,7 @@ extension KMLeftSideViewController {
     
     @objc func deletePage(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         self.tableView(self.thumbnailTableView, deleteRowsWithIndexes: self.thumbnailTableView.selectedRowIndexes)
@@ -347,7 +347,7 @@ extension KMLeftSideViewController {
     
     @objc func rotatePageMenuAction(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         self.tableView(self.thumbnailTableView, rotateRowsWithIndexes: self.thumbnailTableView.selectedRowIndexes as NSIndexSet)
@@ -355,7 +355,7 @@ extension KMLeftSideViewController {
     
     @objc func quickInsert(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         let idx = self.thumbnailTableView.selectedRowIndexes.first ?? NSNotFound
@@ -374,7 +374,7 @@ extension KMLeftSideViewController {
     
     @objc func insert(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         guard let document = self.pdfDocument() else {
@@ -434,7 +434,7 @@ extension KMLeftSideViewController {
     
     @objc func insertPDF(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
                 
@@ -537,7 +537,7 @@ extension KMLeftSideViewController {
     
     @objc func extractPage(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         self.tableView(self.thumbnailTableView, extractRowsWithIndexes: self.thumbnailTableView.selectedRowIndexes)
@@ -549,7 +549,7 @@ extension KMLeftSideViewController {
     
     @objc func displayPageSize(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
 
@@ -563,7 +563,7 @@ extension KMLeftSideViewController {
     
     @objc func sharePage(_ sender: AnyObject?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         

+ 4 - 4
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -900,7 +900,7 @@ extension KMLeftSideViewController: KMBotaTableViewDelegate {
     
     func tableView(_ aTableView: NSTableView, pasteFromPasteboard pboard: NSPasteboard?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -1489,7 +1489,7 @@ extension KMLeftSideViewController: NSTableViewDelegate, NSTableViewDataSource {
             self.resetThumbnails()
         } else if pasteboard.availableType(from: [.fileURL]) != nil && tableView.isEqual(to: self.thumbnailTableView) {
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
                 return false
             }
 
@@ -1635,7 +1635,7 @@ extension KMLeftSideViewController: NSTableViewDelegate, NSTableViewDataSource {
     
     @objc dynamic func tableView(_ aTableView: NSTableView, deleteRowsWithIndexes rowIndexes: IndexSet) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         if aTableView.isEqual(to: self.snapshotTableView) {
@@ -1676,7 +1676,7 @@ extension KMLeftSideViewController: NSTableViewDelegate, NSTableViewDataSource {
     
     func tableView(_ aTableView: NSTableView, copyRowsWithIndexes rowIndexes: IndexSet) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         if aTableView.isEqual(to: self.thumbnailTableView) {

+ 7 - 7
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Base/KMPDFThumbViewBaseController.swift

@@ -159,7 +159,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
             } else {
                 winC.kEventName = "Reading_InsertPDF_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -213,7 +213,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
             } else {
                 winC.kEventName = "Reading_InsertBlankPage_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -268,7 +268,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
     
     public func cutAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -285,7 +285,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
             } else {
                 winC.kEventName = "Reading_Copy_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
 
@@ -318,7 +318,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
     
     public func pasteAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -358,7 +358,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
     // 提取 指定的item
     public func extractActionIndexpaths(indexpaths: Set<IndexPath>) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         
@@ -388,7 +388,7 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
     // 替换 特定的item
     public func replaceAction() {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .pdfEdit)
             return
         }
         self.km_open_file_multi {  [unowned self] index, params in

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMAnnotationSelectLinkViewController.swift

@@ -139,7 +139,7 @@ enum KMAnnotationLinkType: UInt {
                                 let winC = KMProductCompareWC.shared
                                 winC.kEventName = "Reading_EmailLink_BuyNow"
                             }
-                            KMMemberInfo.shared.advancedFunctionUsage()
+                            KMMemberInfo.shared.advancedFunctionUsage(type: .link)
                             return
                         }
                     }

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayCustomThemesCollectionViewItem.swift

@@ -87,7 +87,7 @@ class KMPageDisplayCustomThemesCollectionViewItem: NSCollectionViewItem {
         themesBox.mouseDownCallback = { [weak self] downEntered in
             if downEntered {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .themeColor)
                     return
                 }
                 

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayPropertiesViewController.swift

@@ -563,7 +563,7 @@ class KMPageDisplayPropertiesButton: NSButton {
         if sender.tag > 0 && KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_SplitView_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .split)
             return
         }
         
@@ -772,7 +772,7 @@ extension KMPageDisplayPropertiesViewController: NSCollectionViewDelegate, NSCol
                 if indexPath.item > 0 {
                     let winC = KMProductCompareWC.shared
                     winC.kEventName = "Reading_Theme_BuyNow"
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .split)
                     return
                 }
             }

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/ViewController/PageDisplay/KMPageDisplayThemeCollectionViewItem.swift

@@ -41,7 +41,7 @@ class KMPageDisplayThemeCollectionViewItem: NSCollectionViewItem {
     
     @IBAction func closeButtonAction(_ sender: Any) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .themeColor)
             return
         }
         if let callback = itemCallBack {

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/Signature/KMSignatureAnnotationViewController.m

@@ -153,7 +153,7 @@ KMSigntureViewItemDelegate>
         } else {
             winC.kEventName = @"Reading_Signature_BuyNow";
         }
-        [[KMMemberInfo shared] advancedFunctionUsage];
+        [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
         return;
     }
 

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/StampList/KMAnnotationStampViewController.swift

@@ -288,7 +288,7 @@ let KMPDFDynamicStampNeedAuthorKey1 = "km_pdfview_dynamic_stamp_need_author"
             if downEntered && KMMemberInfo.shared.isMemberAllFunction == false {
                 let winC = KMProductCompareWC.shared
                 winC.kEventName = "Reading_DynamicStamp_BuyNow"
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
                 return
             }
             if downEntered && (blockSelf.stampType != .dynamic) {
@@ -306,7 +306,7 @@ let KMPDFDynamicStampNeedAuthorKey1 = "km_pdfview_dynamic_stamp_need_author"
             if downEntered && KMMemberInfo.shared.isMemberAllFunction == false {
                 let winC = KMProductCompareWC.shared
                 winC.kEventName = "Reading_CustomStamp_BuyNow"
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
                 return
             }
             if downEntered && (blockSelf.stampType != .custom) {
@@ -1019,7 +1019,7 @@ let KMPDFDynamicStampNeedAuthorKey1 = "km_pdfview_dynamic_stamp_need_author"
     
     @IBAction func addButtonAction(_ sender: NSButton) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
             return
         }
         

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/TabWindowController/KMTabbingHintWindowController.swift

@@ -90,7 +90,7 @@ class KMTabbingHintWindowController: NSWindowController{
             sender.state = NSControl.StateValue.off
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_MultiTab_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .openTab)
             return
         }
         sender.state = NSControl.StateValue.on

+ 1 - 1
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -239,7 +239,7 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
                 KMPreference.shared.openDocumentType = .newWindow
                 let winC = KMProductCompareWC.shared
                 winC.kEventName = "Reading_EditPDF_BuyNow"
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .editText)
                 return
             }
             let allowsPrinting = self.pdfView?.document?.allowsPrinting ?? false

+ 13 - 13
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -1255,7 +1255,7 @@ extension KMMainViewController {
             let idx = sender.tag
             if idx == 10 {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
                     return
                 }
             }
@@ -3045,7 +3045,7 @@ extension KMMainViewController {
             } else {
                 winC.kEventName = "Reading_OCR_BuyNow"
             }
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .ocr)
             return
         }
         let com = KMOCRPDFWindowController(cpdfDocument: self.listView.document!, pwd: self.listView.document?.password ?? "")
@@ -3058,7 +3058,7 @@ extension KMMainViewController {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_ExtractImage_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
             return
         }
         
@@ -3218,7 +3218,7 @@ extension KMMainViewController {
         
         changeAnnotationMode(sender)
         guard KMMemberInfo.shared.isMemberAllFunction else {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
             return
         }
 
@@ -3285,7 +3285,7 @@ extension KMMainViewController {
         guard KMMemberInfo.shared.isMemberAllFunction else {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Table_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
             return
         }
         listView.addAnnotationWithTable()
@@ -3784,7 +3784,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Flatten_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .share)
             return
         }
         self.shareFlatten(sender: viewController)
@@ -3968,7 +3968,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                             winC.kEventName = "Reading_RemoveBates_BuyNow"
                         }
                     }
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .headerfooter)
                     return
                 }
                 
@@ -4124,7 +4124,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                 }
             } else if (type == .redact) { /// 标记密文
                 if KMMemberInfo.shared.isMemberAllFunction == false {
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .redact)
                     return
                 }
                 
@@ -4337,7 +4337,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
                     let winC = KMProductCompareWC.shared
                     winC.kEventName = "Reading_Compare_BuyNow"
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .fileCompare)
                     return
                 }
                 
@@ -4380,7 +4380,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                     } else if index == 2 {
                         winC.kEventName = "Reading_RemoveWatermark_BuyNow"
                     }
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .watermark)
                     return
                 }
                 
@@ -4490,7 +4490,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                     } else if index == 2 {
                         winC.kEventName = "Reading_RemoveBackground_BuyNow"
                     }
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .background)
                     return
                 }
                 
@@ -4567,7 +4567,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
                     let winC = KMProductCompareWC.shared
                     winC.kEventName = "Reading_Measure_BuyNow"
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .measure)
                     return
                 }
                 
@@ -5036,7 +5036,7 @@ extension KMMainViewController : KMToolbarViewControllerDelegate {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
                     let winC = KMProductCompareWC.shared
                     winC.kEventName = "Reading_ReplaceText_BuyNow"
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .searchReplace)
                     return
                 }
                 

+ 7 - 7
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+MenuAction.swift

@@ -96,7 +96,7 @@ extension KMMainViewController: KMSystemFileMenuProtocol {
     @IBAction func menuItemClick_saveAsFlattenedPDF(_ sender: Any) {
         Task { @MainActor in
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .share)
                 return
             }
             self.saveAsFlattenedPDFAction()
@@ -394,7 +394,7 @@ extension KMMainViewController {
         }
 
         if item.tag < 2 && KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .split)
             return
         }
         self.splitView(withTag: item.tag)
@@ -408,7 +408,7 @@ extension KMMainViewController {
         let mode = item.tag
         if mode > 0 {
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .themeColor)
                 return
             }
         }
@@ -1222,7 +1222,7 @@ extension KMMainViewController: KMSystemToolMenuProtocol {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Rotate_BuyNow"
             winC.kEventTag = 1
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .rotate)
             return
         }
         
@@ -1241,7 +1241,7 @@ extension KMMainViewController: KMSystemToolMenuProtocol {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Rotate_BuyNow"
             winC.kEventTag = 1
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .rotate)
             return
         }
         
@@ -1257,7 +1257,7 @@ extension KMMainViewController: KMSystemToolMenuProtocol {
     
     func rotateAllLeft(_ sender: Any?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .rotate)
             return
         }
         
@@ -1277,7 +1277,7 @@ extension KMMainViewController: KMSystemToolMenuProtocol {
     
     func rotateAllRight(_ sender: Any?) {
         if KMMemberInfo.shared.isMemberAllFunction == false {
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .rotate)
             return
         }
         

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+UI.swift

@@ -323,7 +323,7 @@ extension KMMainViewController: KMToolbarControllerDelegate {
                         winC.kEventName = "Reading_Button_BuyNow"
                     }
                 }
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .form)
                 return
             }
         } else {
@@ -332,7 +332,7 @@ extension KMMainViewController: KMToolbarControllerDelegate {
                 if KMMemberInfo.shared.isMemberAllFunction == false {
                     let winC = KMProductCompareWC.shared
                     winC.kEventName = "Reading_ElectronicSign_BuyNow"
-                    KMMemberInfo.shared.advancedFunctionUsage()
+                    KMMemberInfo.shared.advancedFunctionUsage(type: .stamp)
                     return
                 }
             }

+ 3 - 3
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -691,7 +691,7 @@ import Cocoa
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_Redact_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .redact)
             return
         }
 
@@ -1056,7 +1056,7 @@ import Cocoa
                             }
                         }
                     } else {
-                        KMMemberInfo.shared.advancedFunctionUsage()
+                        KMMemberInfo.shared.advancedFunctionUsage(type: .toWord)
                     }
 #endif
                 }
@@ -1265,7 +1265,7 @@ import Cocoa
         if KMMemberInfo.shared.isMemberAllFunction == false {
             let winC = KMProductCompareWC.shared
             winC.kEventName = "Reading_DigitalSign_BuyNow"
-            KMMemberInfo.shared.advancedFunctionUsage()
+            KMMemberInfo.shared.advancedFunctionUsage(type: .digitalSign)
             return
         }
 

+ 1 - 1
PDF Office/PDF Master/Class/Preference/Controller/KMGeneralPreferences.swift

@@ -189,7 +189,7 @@ class KMGeneralPreferences: NSViewController {
         if (self.openTabButton.indexOfSelectedItem == 0) {
 #if VERSION_FREE
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .openTab)
                 self.openTabButton.selectItem(at: 1)
                 return
             }

+ 2 - 2
PDF Office/PDF Master/Class/Purchase/DMG/KMPurchaseCompareDMGWindowController.m

@@ -641,7 +641,7 @@ static NSString *const KMPurchaseCompareDMGCellIdentifier       = @"KMPurchaseCo
         vc.callback = ^{
 //            [[KMProductCompareWC shared] setOrientation:NO];
 //            [[KMProductCompareWC shared] showWindow:nil];
-            [[KMMemberInfo shared] advancedFunctionUsage];
+            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
         };
         [vc showWindow:nil];
 
@@ -712,7 +712,7 @@ static NSString *const KMPurchaseCompareDMGCellIdentifier       = @"KMPurchaseCo
             vc.callback = ^{
 //                [[KMProductCompareWC shared] setOrientation:NO];
 //                [[KMProductCompareWC shared] showWindow:nil];
-                [[KMMemberInfo shared] advancedFunctionUsage];
+                [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
             };
             [vc showWindow:nil];
         }

+ 5 - 5
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationMessageViewController.m

@@ -536,7 +536,7 @@ NSPopoverDelegate>
         KMVerificationWindowController *vc = [KMVerificationWindowController verificationWithType:KMVerificationTypeRepeatTrialGuide];
         [vc showWindow:nil];
     } else {
-        [[KMMemberInfo shared] advancedFunctionUsage];
+        [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
     }
 }
 
@@ -560,7 +560,7 @@ NSPopoverDelegate>
         #endif
                     [[KMProductCompareWC shared] showWindow:nil];
                 } else {
-                    [[KMMemberInfo shared] advancedFunctionUsage];
+                    [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                 }
             } else {
                 [[KMLoginWindowsController shared] openWindow:^(BOOL success) {
@@ -581,7 +581,7 @@ NSPopoverDelegate>
                 #endif
                             [[KMProductCompareWC shared] showWindow:nil];
                         } else {
-                            [[KMMemberInfo shared] advancedFunctionUsage];
+                            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
                         }
                     }
                 }];
@@ -603,7 +603,7 @@ NSPopoverDelegate>
                     }];
                 }
             } else {
-                [[KMMemberInfo shared] advancedFunctionUsage];
+                [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
             }
         }
     } else {
@@ -623,7 +623,7 @@ NSPopoverDelegate>
                 }];
             }
         } else {
-            [[KMMemberInfo shared] advancedFunctionUsage];
+            [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
         }
     }
 }

+ 1 - 1
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.m

@@ -303,7 +303,7 @@ static KMVerificationWindowController *_currentWindowController = nil;
 //                NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?utm_source=app_dmg&utm_medium=dmg_puw_sec_free_trial", Swift_oc_Tool.Store_Link_OC]];
 //                [[NSWorkspace sharedWorkspace] openURL:url];
 //                [blockSelf close];
-                [[KMMemberInfo shared] advancedFunctionUsage];
+                [[KMMemberInfo shared] advancedFunctionUsageWithType:KMSubscribeWaterMarkTypeNone];
             } else if (clickIndex == 2) {
                 //输入序列码
                 KMVerificationWindowController *vc = [KMVerificationWindowController verificationWithType:KMVerificationTypeActivate];

+ 1 - 1
PDF Office/PDF Master/Class/Tools/Search/Window/KMSearchReplaceWindowController.swift

@@ -411,7 +411,7 @@ class KMSearchReplaceWindowController: NSWindowController {
     func switchType(_ type: KMSearchReplaceType, animate: Bool = false) {
         if type == .replace {
             if KMMemberInfo.shared.isMemberAllFunction == false {
-                KMMemberInfo.shared.advancedFunctionUsage()
+                KMMemberInfo.shared.advancedFunctionUsage(type: .searchReplace)
                 return
             }
         }

+ 1 - 1
PDF Office/PDF Master/MemberCenter/Model/KMMemberInfo.swift

@@ -918,7 +918,7 @@ import Cocoa
         avatarUrl = model.avatarUrl
     }
     
-    func advancedFunctionUsage() -> Void {
+    func advancedFunctionUsage(type: KMSubscribeWaterMarkType) -> Void {
         let platforms = KMMemberInfo.shared.vip_platforms
         let platformsArray = platforms
             .components(separatedBy: ",")