南鑫林 5 年 前
コミット
1bd4f6fc9e

+ 11 - 7
RainbowPlanet/RainbowPlanet/Base/BaseTabbarViewController/BaseTabbarViewController.swift

@@ -130,13 +130,17 @@ class BaseTabbarViewController: NSObject {
 
         esTabBarController.didHijackHandler = {
             tabbarController, viewController, index in
-            let isUploadFinish: Bool = PublishUploadManager.shared().isPublishFinished
-            if isUploadFinish {
-                let pickVc = PublishViewController()
-                let nav = BaseNavigationViewController.init(rootViewController: pickVc)
-                tabbarController.present(nav, animated: true, completion: nil)
-            } else {
-                SwiftProgressHUD.shared().showText("内容上传中,请稍等", textAlignment: .center)
+            if UserModel.isTokenNil() {
+                kAppDelegate.setLogin()
+            }else {
+                let isUploadFinish: Bool = PublishUploadManager.shared().isPublishFinished
+                if isUploadFinish {
+                    let pickVc = PublishViewController()
+                    let nav = BaseNavigationViewController.init(rootViewController: pickVc)
+                    tabbarController.present(nav, animated: true, completion: nil)
+                } else {
+                    SwiftProgressHUD.shared().showText("内容上传中,请稍等", textAlignment: .center)
+                }
             }
         }
         

+ 19 - 1
RainbowPlanet/RainbowPlanet/Manager/WebViewJavascriptBridgeManager/WebViewJavascriptBridgeManager.swift

@@ -80,13 +80,31 @@ class WebViewJavascriptBridgeManager: NSObject {
                 }
             }
             // 去星球
-            if wvjbModel?.params?.paramsModelPage == .planet{
+            if wvjbModel?.params?.paramsModelPage == .planet {
                 BaseTabbarViewController.shared.esTabBarController.selectedIndex = 0
                 BaseTabbarViewController.shared.v1.reloadSegmentedStarView()
                 if viewController != nil {
                     viewController?.navigationController?.popToRootViewController(animated: true)
                 }
             }
+            
+            // 去登陆
+            if wvjbModel?.params?.paramsModelPage == .signin {
+                Mediator.present(RegisterLoginRouterModuleType.presentRegisterLogin)
+            }
+            
+            // 去个人中心
+            if wvjbModel?.params?.paramsModelPage == .user {
+                if wvjbModel?.params?.payload?.uid != nil {
+                    Mediator.present(MineRouterModuleType.pushOtherPersonalCenter(uid: wvjbModel?.params?.payload?.uid ?? 0))
+                }
+            }
+            
+            // 账户(绑定微信/绑定QQ)
+            if wvjbModel?.params?.paramsModelPage == .account {
+                Mediator.present(MineRouterModuleType.pushAccountSecurity)
+            }
+            
         }
         // 跳转原生
         if wvjbModel?.modelType  == .follow {

+ 24 - 0
RainbowPlanet/RainbowPlanet/Model/WVJBModel/WVJBModel.swift

@@ -74,6 +74,9 @@ enum WVJBParamsModelPage : String {
     case account = "account"
     case exchange = "exchange"
     case planet = "planet"
+    case user = "user"
+    case signin = "signin"
+    
 }
 /// WebViewJavascriptBridgeParameterModel 简写 WVJBParameterModel
 class WVJBParamsModel:NSObject,Mappable {
@@ -106,6 +109,8 @@ class WVJBParamsModel:NSObject,Mappable {
         }
     }
     
+    var payload : WVJBPayloadModel?
+    
     class func newInstance(map: Map) -> Mappable?{
         return WVJBParamsModel()
     }
@@ -122,6 +127,25 @@ class WVJBParamsModel:NSObject,Mappable {
         status <- map["status"]
         list <- map["list"]
         current <- map["current"]
+        payload <- map["payload"]
     }
 
 }
+
+/// WebViewJavascriptBridgeParameterModel 简写 WVJBParameterModel
+class WVJBPayloadModel:NSObject,Mappable {
+    /// 关注
+    var uid : Int?
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return WVJBParamsModel()
+    }
+    required init?(map: Map){}
+    override init(){}
+    
+    func mapping(map: Map)
+    {
+        uid <- map["uid"]
+    }
+    
+}

+ 9 - 0
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Main/CommunityViewController.swift

@@ -395,6 +395,8 @@ class CommunityViewController: BaseViewController {
         return listContainerView
     }()
     
+    var index : Int?
+    
 }
 
 extension CommunityViewController : JXSegmentedViewDelegate {
@@ -402,20 +404,27 @@ extension CommunityViewController : JXSegmentedViewDelegate {
     func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
         if index == 0 {
             if UserModel.isTokenNil() {
+                self.segmentedView.selectItemAt(index: self.index ?? 1)
+                self.segmentedView.defaultSelectedIndex = self.index ?? 1
+                self.listContainerView.defaultSelectedIndex = self.index ?? 1
+                self.segmentedDataSource.reloadData(selectedIndex: self.index ?? 1)
                 kAppDelegate.setLogin()
             }else {
                 listContainerView.didClickSelectedItem(at: index)
                 communityModuleTopType = .communityModuleFollowTop
+                self.index = index
             }
         }
         if index == 1 {
             communityModuleTopType = .communityModuleRecommendTop
             listContainerView.didClickSelectedItem(at: index)
+            self.index = index
 
         }
         if index == 2 {
             communityModuleTopType = .communityModulePlanetTop
             listContainerView.didClickSelectedItem(at: index)
+            self.index = index
         }
         
     }

+ 7 - 3
RainbowPlanet/RainbowPlanet/Modules/RedemptionAreaModule/ViewController/RedemptionAreaViewController.swift

@@ -127,10 +127,14 @@ extension RedemptionAreaViewController : UITableViewDelegate, UITableViewDataSou
         let cmsRedemptionAreaContent = self.cmsRedemptionAreaModel?.content?[indexPath.section]
         switch cmsRedemptionAreaContent?.cmsRedemptionAreaContentType {
         case .banner?:
-            if cmsRedemptionAreaContent?.rule?.isEmpty ?? true {
-                return  105
+            if UserModel.isTokenNil() {
+                 return  (150 * kScaleWidth)
             }else {
-                return  (150 * kScaleWidth) + 105
+                if cmsRedemptionAreaContent?.rule?.isEmpty ?? true {
+                    return  105
+                }else {
+                    return  (150 * kScaleWidth) + 105
+                }
             }
         case .specialOne?:
             if cmsRedemptionAreaContent?.rule?.isEmpty ?? true {

+ 2 - 0
RainbowPlanet/RainbowPlanet/Modules/RegisterLoginModule/RegisterLogin/ViewController/RegisterLoginViewController.swift

@@ -22,6 +22,8 @@ class RegisterLoginViewController: BaseViewController {
         navigationBar.leftButton.isHidden = true
         view.backgroundColor = UIColor.white
         view.addSubview(registerLoginView)
+        view.insertSubview(navigationBar, aboveSubview:registerLoginView)
+
     }
 
     override func setupLayouts() {

+ 5 - 0
RainbowPlanet/RainbowPlanet/Router/MineRouterModuleType.swift

@@ -15,6 +15,8 @@ import SwiftyMediator
 /// - pushOtherPersonalCenter: 他人个人中心
 public enum MineRouterModuleType: MediatorTargetType {
     case pushOtherPersonalCenter(uid:Int)
+    case pushAccountSecurity
+    
 }
 
 extension MineRouterModuleType: MediatorSourceType {
@@ -24,6 +26,9 @@ extension MineRouterModuleType: MediatorSourceType {
             let vc = OtherPersonalCenterViewController()
             vc.uid = uid
             return vc
+        case .pushAccountSecurity:
+            let vc = AccountSecurityViewController()
+            return vc
         }
     }
 }