Kaynağa Gözat

【会员系统】梳理全功能+转档权限

dinglingui 1 hafta önce
ebeveyn
işleme
01690b7faf

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

@@ -241,7 +241,13 @@ NSPopoverDelegate>
                    [KMMemberInfo shared].userScenarioType == KMUserScenarioTypePro_type1 ||
                    [KMMemberInfo shared].userScenarioType == KMUserScenarioTypePro_type3 ||
                    [KMMemberInfo shared].userScenarioType == KMUserScenarioTypePro_type4) {
-            self.button.title = [NSString stringWithFormat:@" %@ ",NSLocalizedString(@"Upgrade", nil)];
+            if([KMMemberInfo shared].vip_status == 2) {
+                self.button.title = [NSString stringWithFormat:@" %@ ",NSLocalizedStringFromTable(@"Renew now",@"MemberCenterLocalizable", nil)];
+            } else if ([KMMemberInfo shared].vip_status == 4) {
+                self.button.title = [NSString stringWithFormat:@" %@ ",NSLocalizedStringFromTable(@"Buy Now",@"MemberCenterLocalizable", nil)];
+            } else {
+                self.button.title = [NSString stringWithFormat:@" %@ ",NSLocalizedString(@"Upgrade", nil)];
+            }
 
             if (KMAdvertisementManager.manager.info.topRightInfoContent != nil) {
                 if (KMAdvertisementManager.manager.info.topRightInfoContent.content.firstObject != nil) {
@@ -269,23 +275,25 @@ NSPopoverDelegate>
             }
         }
         
+        BOOL isOldSubscribed = NO;
+#if VERSION_FREE
+#if !VERSION_DMG
+        isOldSubscribed = (IAPProductsManager.defaultManager.allAccessPack6months_lite.isSubscribed == YES || IAPProductsManager.defaultManager.allAccessPack12months_lite.isSubscribed == YES);
+#endif
+#endif
         KMUserScenarioType type = [KMMemberInfo shared].userScenarioType;
         // 单平台高级版永久 未登录时 也不显示升级(因为点了也得先登录),但是登录后的卡片里是有升级按钮的,可以升级成全平台高级版年订阅
         //原来是订阅的,不需要升级,因为目前不支持订阅升级订阅这种场景
-        if(type == KMUserScenarioTypeLite_type10 ||
+        if(type == KMUserScenarioTypeLite_type9 ||
+           type == KMUserScenarioTypeLite_type10 ||
+           type == KMUserScenarioTypeLite_type11 ||
            type == KMUserScenarioTypeLite_type12 ||
            type == KMUserScenarioTypePro_type1 ||
            type == KMUserScenarioTypePro_type2 ||
            type == KMUserScenarioTypePro_type3 ||
            type == KMUserScenarioTypePro_type4 ||
            type == KMUserScenarioTypePro_type5) {
-            if ([KMMemberInfo shared].isLogin == NO || ([KMMemberInfo shared].isMemberAllFunction == NO && [KMMemberInfo shared].isLogin == YES)) {
-                self.button.hidden = YES;
-                self.bgImg.hidden = YES;
-            }
-        } else if(type == KMUserScenarioTypeLite_type9 || type == KMUserScenarioTypeLite_type11) { //永久版+免费版显示升级
-            if ([KMMemberInfo shared].isLogin == NO || ([[KMMemberInfo shared].vip_paymentModel isEqualToString:@"1"] && [KMMemberInfo shared].isLogin == YES && (IAPProductsManager.defaultManager.allAccessPack6months_lite.isSubscribed == YES || IAPProductsManager.defaultManager.allAccessPack12months_lite.isSubscribed == YES))) {
-                
+            if ([KMMemberInfo shared].isLogin == NO || ((KMMemberInfo.shared.vip_status == 1 || KMMemberInfo.shared.vip_status == 4) && [KMMemberInfo shared].isLogin == YES && isOldSubscribed)) {
                 self.button.hidden = YES;
                 self.bgImg.hidden = YES;
             }

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

@@ -16,17 +16,17 @@ import Cocoa
     case lite_type5     // 免费版 无旧买断 多平台永久 (右上角导航栏按钮 - “登录领福利” + 升级全平台)
     case lite_type6     // 免费版 无旧买断 全平台年订阅 (右上角导航栏按钮 - “登录领福利”)
     case lite_type7     // 免费版 无旧买断 会员到期 (右上角导航栏按钮 - “登录领福利” + 续费)
-    case lite_type8     // 免费版 无旧买断 订阅中取消 (右上角导航栏按钮 - “登录领福利” + 续费)
+    case lite_type8     // 免费版 无旧买断 订阅未过期且取消订阅 (右上角导航栏按钮 - “登录领福利” + 续费)
     case lite_type9     // 免费版 有旧买断 免费未试用 (右上角导航栏按钮 - “登录领福利” + “升级至Pro”)
     case lite_type10    // 免费版 有旧买断 免费试用中 (右上角导航栏按钮 - “登录领福利”)
     case lite_type11    // 免费版 有旧买断 试用过期或取消 (右上角导航栏按钮 - “登录领福利” + 开通会员)
     case lite_type12    // 免费版 有旧买断 订阅中 (右上角导航栏按钮 - “登录领福利”)
-    case lite_type13    // 免费版 有旧买断 订阅中取消 (右上角导航栏按钮 - “登录领福利” + 续费)
+    case lite_type13    // 免费版 有旧买断 订阅未过期且取消订阅 (右上角导航栏按钮 - “登录领福利” + 续费)
     case pro_type1      // 付费版 有旧PDF To Office (右上角导航栏按钮 - “登录领福利” + 升级(全平台))
-    case pro_type2      // 付费版 有旧PDF To Office 全平台高级年订阅 (右上角导航栏按钮 - “登录领福利”)
+    case pro_type2      // 付费版 有旧PDF To Office 订阅 (右上角导航栏按钮 - “登录领福利”)
     case pro_type3      // 付费版 无旧PDF To Office (右上角导航栏按钮 - “登录领福利” + 升级(全平台/高级版永久))
     case pro_type4      // 付费版 无旧PDF To Office 高级版永久 (右上角导航栏按钮 - Info + 升级(全平台))
-    case pro_type5      // 付费版 无旧PDF To Office 全平台高级年订阅 (右上角导航栏按钮 - Info)
+    case pro_type5      // 付费版 无旧PDF To Office 订阅 (右上角导航栏按钮 - Info)
 }
 
 // 当前权益类型
@@ -277,7 +277,7 @@ import Cocoa
                     // 订阅中
                     return .lite_type12
                 }
-                if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 {
+                if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 && KMMemberInfo.shared.vip_status == 1 {
                     return .lite_type13
                 }
                 return .lite_type9
@@ -292,7 +292,7 @@ import Cocoa
                     return .lite_type3
                 } else if KMMemberInfo.shared.vip_status == 2 {
                     return .lite_type7
-                } else if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 {
+                } else if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 && KMMemberInfo.shared.vip_status == 1 {
                     return .lite_type8
                 }
                 if KMMemberInfo.shared.vip_paymentModel == "2" {
@@ -309,7 +309,7 @@ import Cocoa
 #else
     // AppStore 付费版
             if IAPProductsManager.default().pdfToOfficeProduct.isSubscribed == true {
-                if KMMemberInfo.shared.vip_cycle == 4 && platformsArray.count == 4 {
+                if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 {
                     return .pro_type2
                 } else {
                     return .pro_type1
@@ -318,8 +318,8 @@ import Cocoa
                 if KMMemberInfo.shared.vip_paymentModel == "2" {
                     return .pro_type4
                 } else {
-                    if KMMemberInfo.shared.vip_cycle == 4 && platformsArray.count == 4 {
-                        return .pro_type2
+                    if KMMemberInfo.shared.vip_paymentModel == "1" && KMMemberInfo.shared.vip_payType == 0 {
+                        return .pro_type5
                     } else {
                         return .pro_type3
                     }

+ 16 - 7
PDF Office/PDF Master/MemberCenter/ViewController/KMUserInfoViewController.swift

@@ -167,9 +167,17 @@ class KMUserInfoViewController: NSViewController {
             number3Label.stringValue = NSLocalizedString("Platform", tableName: "MemberCenterLocalizable", comment: "")
         }
         
-        if KMMemberInfo.shared.userScenarioType == .lite_type1 || KMMemberInfo.shared.userScenarioType == .lite_type9 {
+        if KMMemberInfo.shared.userScenarioType == .lite_type1 {
             buyNow1Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
             buyNow2Label.stringValue = NSLocalizedString("7-Day Free Trial", tableName: "MemberCenterLocalizable", comment: "")
+        } else if KMMemberInfo.shared.userScenarioType == .lite_type9 {
+            if(KMMemberInfo.shared.vip_status == 2) {
+                buyNow3Label.stringValue = NSLocalizedString("Renew now", tableName: "MemberCenterLocalizable", comment: "")
+            } else if (KMMemberInfo.shared.vip_status == 4) {
+                buyNow3Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
+            } else {
+                buyNow3Label.stringValue = NSLocalizedString("Upgrade Now", tableName: "MemberCenterLocalizable", comment: "")
+            }
         } else if KMMemberInfo.shared.userScenarioType == .lite_type3  {
             buyNow3Label.stringValue = NSLocalizedString("Buy Now", tableName: "MemberCenterLocalizable", comment: "")
         } else if KMMemberInfo.shared.userScenarioType == .lite_type11 {
@@ -512,7 +520,7 @@ class KMUserInfoViewController: NSViewController {
         } else {
             self.view.layer?.backgroundColor = NSColor(hex: "FFFFFF").cgColor;
         }
-
+        
         userImageView.image = NSImage(named: "UserProfilePicture_Size")
         emailLabel.textColor = NSColor(named: "0E1114")
         emailLabel.font = NSFont.SFMediumFontWithSize(14)
@@ -565,12 +573,13 @@ class KMUserInfoViewController: NSViewController {
         closeAccountLabel.font = NSFont.SFProTextRegularFont(14)
         closeAccountImageView.image = NSImage(named: "CloseAccountImage")
         buyNow3Box.fillColor = NSColor(named: "FFFFFF") ?? .white
+        
+        var isNoOldSubscribed = false
+#if VERSION_FREE
 #if !VERSION_DMG
-        let isNoOldSubscribed = IAPProductsManager.default().allAccessPack6months_lite.isSubscribed == false && IAPProductsManager.default().allAccessPack12months_lite.isSubscribed == false
-#else
-        let isNoOldSubscribed = true
+         isNoOldSubscribed = IAPProductsManager.default().allAccessPack6months_lite.isSubscribed == false && IAPProductsManager.default().allAccessPack12months_lite.isSubscribed == false
+#endif
 #endif
-        
         if KMMemberInfo.shared.userScenarioType == .lite_type1 ||
             KMMemberInfo.shared.userScenarioType == .lite_type2 ||
             KMMemberInfo.shared.userScenarioType == .lite_type3 ||
@@ -620,7 +629,7 @@ class KMUserInfoViewController: NSViewController {
                 arrow3ImageView.image = NSImage(named: "BuyNewArrowImage2")
             }
         } else if KMMemberInfo.shared.userScenarioType == .lite_type7 ||
-                    (KMMemberInfo.shared.userScenarioType == .lite_type9 && KMMemberInfo.shared.vip_paymentModel == "2" && isNoOldSubscribed) || (KMMemberInfo.shared.userScenarioType == .lite_type11 && KMMemberInfo.shared.vip_paymentModel == "2" && isNoOldSubscribed) {
+                    (KMMemberInfo.shared.userScenarioType == .lite_type9 && !(KMMemberInfo.shared.vip_status == 1 || KMMemberInfo.shared.vip_status == 4)  && isNoOldSubscribed) || (KMMemberInfo.shared.userScenarioType == .lite_type11 && KMMemberInfo.shared.vip_paymentModel == "2" && isNoOldSubscribed) {
             membershipLabel.textColor = NSColor(hex: "0E1114")
             lockedLabel.textColor = NSColor(hex: "42464D")