Browse Source

打开跳转类型

南鑫林 5 years ago
parent
commit
8481d71386

+ 1 - 1
RainbowPlanet/RainbowPlanet/Base/BaseTabbarViewController/BaseTabbarViewController.swift

@@ -280,7 +280,7 @@ extension ESTabBar {
         
         let view  = super.hitTest(point, with: event)
         if view == nil {
-            if UserModel.isTokenNil() && LoginNowView.shared.loginNowView != nil && !(UIViewController.topMost is BrowsePicturesViewController) {
+            if UserModel.isTokenNil() && LoginNowView.shared.loginNowView != nil && !(UIViewController.topMost is BrowsePicturesViewController)  && !(UIViewController.topMost is H5CommonViewController){
                 for subView in subviews {
                     if !subView.subviews.isEmpty {
                         for subView in subView.subviews {

+ 16 - 1
RainbowPlanet/RainbowPlanet/Model/OpenAppModel/OpenAppModel.swift

@@ -6,11 +6,25 @@ import Foundation
 import ObjectMapper
 
 
+
+
 class OpenAppModel : NSObject, Mappable{
+    
+    enum OpenAppModelType : String {
+        case community = "community"
+        case offline = "offline"
+    }
 
 	var postId : String?
 	var postType : String?
-	var type : String?
+    var type : String? {
+        didSet {
+            openAppModelType = OpenAppModelType(rawValue: type ?? OpenAppModelType.community.rawValue)
+        }
+    }
+    var openAppModelType : OpenAppModelType?
+    
+    var offlineId : String?
 
 
 	class func newInstance(map: Map) -> Mappable?{
@@ -24,6 +38,7 @@ class OpenAppModel : NSObject, Mappable{
 		postId <- map["post_id"]
 		postType <- map["post_type"]
 		type <- map["type"]
+        offlineId <- map["offline_id"]
 		
 	}
 

+ 14 - 10
RainbowPlanet/RainbowPlanet/Router/RouterManager.swift

@@ -21,17 +21,21 @@ class RouterManager: NSObject {
         if url.host == "home" { //社区
             let dict = urlStringtoParams(url.absoluteString)
             let openAppModel = OpenAppModel(JSON: dict)
-            if openAppModel?.postId != nil {
-                switch PostType(rawValue: openAppModel?.postType ?? "image") {
-                case .image?,.html?:
-                    Mediator.push(CommunityRouterModuleType.pushPostDetailContent(postId: openAppModel?.postId ?? "0"))
-                    break
-                case .video?:
-                    Mediator.push(CommunityRouterModuleType.pushPostDetailVoide(postId: openAppModel?.postId ?? "0", departType: .others, topicId: 0))
-                    break
-                default:
-                    break
+            if openAppModel?.openAppModelType == OpenAppModel.OpenAppModelType.community {
+                if openAppModel?.postId != nil {
+                    switch PostType(rawValue: openAppModel?.postType ?? "image") {
+                    case .image?,.html?:
+                        Mediator.push(CommunityRouterModuleType.pushPostDetailContent(postId: openAppModel?.postId ?? "0"))
+                        break
+                    case .video?:
+                        Mediator.push(CommunityRouterModuleType.pushPostDetailVoide(postId: openAppModel?.postId ?? "0", departType: .others, topicId: 0))
+                        break
+                    default:
+                        break
+                    }
                 }
+            }else if openAppModel?.openAppModelType == OpenAppModel.OpenAppModelType.offline {
+                Mediator.push(H5RouterModuleType.pushOfflineDetail(id: openAppModel?.offlineId ?? ""))
             }
             return true
         }