Bladeren bron

【分享】菜单栏入口补充水印限制

tangchao 1 jaar geleden
bovenliggende
commit
0f678506f6

+ 16 - 0
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -180,5 +180,21 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "2A8C97BA-20FE-4477-ADCA-D2F1B1B60909"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1470"
+            endingLineNumber = "1470"
+            landmarkName = "shareDocument(sender:limit:)"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 42 - 2
PDF Office/PDF Master/AppDelegate.swift

@@ -305,8 +305,48 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         }
         
         let document: KMMainDocument = model.activeTabContents() as! KMMainDocument
-        let represent : NSSharingService = sender.representedObject as! NSSharingService
-        represent.perform(withItems: [document.fileURL as Any])
+        if let data = document.mainViewController?.saveWatermarkFlag, !data {
+            let represent : NSSharingService = sender.representedObject as! NSSharingService
+            represent.perform(withItems: [document.fileURL as Any])
+            return
+        }
+
+        // 有使用付费功能
+        Task { @MainActor in
+            if await (KMLightMemberManager.manager.canPayFunction() == false) {
+                let _ = KMSubscribeWaterMarkWindowController.show(window: NSApp.mainWindow!) { isSubscribeSuccess, isWaterMarkExport, isClose in
+                    if (isClose) {
+                        return
+                    }
+                    if (isSubscribeSuccess) {
+                        let represent : NSSharingService = sender.representedObject as! NSSharingService
+                        represent.perform(withItems: [document.fileURL as Any])
+                        return
+                    }
+                    if (isWaterMarkExport) {
+                        let doucumentURL = document.fileURL
+                        let docDir = NSTemporaryDirectory()
+                        let documentName : String = doucumentURL!.path.lastPathComponent
+                        let path = docDir.stringByAppendingPathComponent(documentName)
+            
+                        let data = KMTools.saveWatermarkDocument(document: document.mainViewController!.document!, to: URL(fileURLWithPath: path), secureOptions: document.mainViewController!.secureOptions, removePWD: document.mainViewController!.removeSecureFlag)
+                        let writeSuccess = data != nil
+                        if writeSuccess == false {
+                            __NSBeep()
+                            return;
+                        }
+                        
+                        let represent : NSSharingService = sender.representedObject as! NSSharingService
+                        represent.perform(withItems: [data as Any])
+                        return
+                    }
+                }
+                return
+            }
+            
+            let represent : NSSharingService = sender.representedObject as! NSSharingService
+            represent.perform(withItems: [document.fileURL as Any])
+        }
     }
     
     // MARK: PDF Master Menu