Pārlūkot izejas kodu

fix: 修复 IM 离线推送的配置问题,以及补充官方消息跳转逻辑支持 deeplink 逻辑

陈文艺 1 mēnesi atpakaļ
vecāks
revīzija
297505a424

+ 10 - 4
Lanu.xcodeproj/project.pbxproj

@@ -341,8 +341,6 @@
 		};
 		FBB67E232EC48B440070E686 /* ThirdParty */ = {
 			isa = PBXFileSystemSynchronizedRootGroup;
-			exceptions = (
-			);
 			path = ThirdParty;
 			sourceTree = "<group>";
 		};
@@ -497,10 +495,14 @@
 			inputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-resources-${CONFIGURATION}-input-files.xcfilelist",
 			);
+			inputPaths = (
+			);
 			name = "[CP] Copy Pods Resources";
 			outputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-resources-${CONFIGURATION}-output-files.xcfilelist",
 			);
+			outputPaths = (
+			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-resources.sh\"\n";
@@ -536,10 +538,14 @@
 			inputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-frameworks-${CONFIGURATION}-input-files.xcfilelist",
 			);
+			inputPaths = (
+			);
 			name = "[CP] Embed Pods Frameworks";
 			outputFileListPaths = (
 				"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-frameworks-${CONFIGURATION}-output-files.xcfilelist",
 			);
+			outputPaths = (
+			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
 			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Gami/Pods-Gami-frameworks.sh\"\n";
@@ -567,7 +573,7 @@
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = Lanu/Lanu.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 33;
+				CURRENT_PROJECT_VERSION = 34;
 				DEVELOPMENT_TEAM = 5H8D98R72W;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
@@ -616,7 +622,7 @@
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_ENTITLEMENTS = Lanu/Lanu.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 33;
+				CURRENT_PROJECT_VERSION = 34;
 				DEVELOPMENT_TEAM = 5H8D98R72W;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;

+ 4 - 0
Lanu/Common/Config/String+Urls.swift

@@ -9,6 +9,10 @@ import Foundation
 
 
 extension String {
+    var isDeeplink: Bool {
+        lowercased().starts(with: LNDeeplinkUrls.appScheme)
+    }
+    
     static var webUrlHost: String {
         LNAppConfig.shared.curEnv == .test ? "https://test-web.gami.vip" : "https://web.gami.vip"
     }

+ 7 - 1
Lanu/Manager/IM/LNIMManager.swift

@@ -44,7 +44,13 @@ class LNIMManager: NSObject {
             80000456
         }
     }
-    let offlinePushAppId: Int32 = 17229
+    var offlinePushAppId: Int32 {
+//#if DEBUG
+//        17229
+//#else
+        17249
+//#endif
+    }
     
     static var shared = LNIMManager()
     

+ 1 - 0
Lanu/Views/IM/Notify/Cell/LNIMOfficialMessageCell.swift

@@ -65,6 +65,7 @@ extension LNIMOfficialMessageCell {
         }
         
         topCover.contentMode = .scaleAspectFill
+        topCover.clipsToBounds = true
         stackView.addArrangedSubview(topCover)
         topCover.snp.makeConstraints { make in
             make.horizontalEdges.equalToSuperview()

+ 4 - 0
Lanu/Views/Web/LNWebViewController.swift

@@ -40,6 +40,10 @@ class LNJumpWebViewConfig {
 
 extension UIView {
     func pushToWebView(_ config: LNJumpWebViewConfig) {
+        if config.url.isDeeplink, let url = URL(string: config.url) {
+            LNDeeplinkManager.shared.handleDeepLink(url)
+            return
+        }
         let vc = LNWebViewController(config: config)
         navigationController?.pushViewController(vc, animated: true)
     }