Browse Source

【合并】新增限制次数逻辑

tangchao 1 year ago
parent
commit
363f498601

+ 10 - 0
PDF Office/PDF Master/Class/Merge/OCPart/KMPDFEditAppendWindow.h

@@ -33,3 +33,13 @@ typedef NS_OPTIONS(NSUInteger, KMPDFPageEditType) {
 - (void)beginSheetModalForWindow:(NSWindow *)window completionHandler:(void (^)(BOOL isSuccessfully ,NSIndexSet * selectedIndexSet))handler;
 
 @end
+
+@interface KMPDFEditAppendWindow(KMExtension)
+
+- (BOOL)mergeCountIsReach;
+
+- (void)recordMergeCount;
+- (void)clearMergeCount;
+- (NSInteger)getMergeCount;
+
+@end

+ 36 - 0
PDF Office/PDF Master/Class/Merge/OCPart/KMPDFEditAppendWindow.m

@@ -274,6 +274,10 @@ static KMPDFEditAppendWindow *windowController = nil;
     
     [super windowDidLoad];
     
+    if ([self mergeCountIsReach]) {
+        NSLog(@"合并次数已达到限制. count: %ld", [self getMergeCount]);
+    }
+    
     self.window.contentView.wantsLayer = YES;
     self.window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
     
@@ -1316,6 +1320,7 @@ static KMPDFEditAppendWindow *windowController = nil;
                                 
                                 if (self->_isSuccessfully) {
                                     [self _clearData];
+                                    [self recordMergeCount];
                                     
                                     [NSApp endSheet:[self window] returnCode:[(NSView *)sender tag]];
                                     [[self window] orderOut:self];
@@ -1407,6 +1412,7 @@ static KMPDFEditAppendWindow *windowController = nil;
                             
                             if (self->_isSuccessfully) {
                                 [self _clearData];
+                                [self recordMergeCount];
                                 
                                 [NSApp endSheet:[self window] returnCode:[(NSView *)sender tag]];
                                 [[self window] orderOut:self];
@@ -1693,3 +1699,33 @@ static KMPDFEditAppendWindow *windowController = nil;
 }
 
 @end
+
+static NSString *kKMMergeCountKey = @"KMMergeCountKey";
+static NSInteger kKMMergeCountMax = 2;
+
+@implementation KMPDFEditAppendWindow (KMExtension)
+
+- (BOOL)mergeCountIsReach {
+    NSInteger cnt = [self getMergeCount];
+    if (cnt >= kKMMergeCountMax) {
+        return YES;
+    }
+    return NO;
+}
+
+- (void)recordMergeCount {
+    NSInteger cnt = [self getMergeCount];
+    [[NSUserDefaults standardUserDefaults] setInteger:cnt+1 forKey:kKMMergeCountKey];
+    [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
+- (void)clearMergeCount {
+    [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:kKMMergeCountKey];
+    [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
+- (NSInteger)getMergeCount {
+    return [[NSUserDefaults standardUserDefaults] integerForKey:kKMMergeCountKey];
+}
+
+@end