南鑫林 5 gadi atpakaļ
vecāks
revīzija
d5b576d0c8
16 mainītis faili ar 190 papildinājumiem un 47 dzēšanām
  1. 5 1
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 18 2
      RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+Window.swift
  3. 2 0
      RainbowPlanet/RainbowPlanet/Base/BaseViewController/BaseViewController.swift
  4. 34 18
      RainbowPlanet/RainbowPlanet/Manager/RongCloudIMManager/RongCloudIMManager.swift
  5. 17 0
      RainbowPlanet/RainbowPlanet/Manager/WebViewJavascriptBridgeManager/WebViewJavascriptBridgeManager.swift
  6. 5 6
      RainbowPlanet/RainbowPlanet/Model/UserModel/UserModel.swift
  7. 9 0
      RainbowPlanet/RainbowPlanet/Model/WVJBModel/WVJBModel.swift
  8. 6 2
      RainbowPlanet/RainbowPlanet/Modules/BackyardModule/Backyard/ViewController/BackyardViewController.swift
  9. 1 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift
  10. 58 13
      RainbowPlanet/RainbowPlanet/Modules/RongCloudIMModule/IMChatRoom/ViewController/IMChatRoomViewController.swift
  11. 4 3
      RainbowPlanet/RainbowPlanet/Router/RongCloudIMRouterModuleType.swift
  12. 3 0
      RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_back_white.imageset/Contents.json
  13. 6 0
      RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/Contents.json
  14. 22 0
      RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/Contents.json
  15. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/chat_pic_bg@2x.png
  16. BIN
      RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/chat_pic_bg@3x.png

+ 5 - 1
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -205,6 +205,7 @@
 		A76893962339C28800819EC3 /* StartupPageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76893952339C28800819EC3 /* StartupPageView.swift */; };
 		A76893982339C9EB00819EC3 /* StartupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76893972339C9EB00819EC3 /* StartupModel.swift */; };
 		A76893A2233A0BB000819EC3 /* DrawCircleProgressButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A76893A1233A0BB000819EC3 /* DrawCircleProgressButton.m */; };
+		A76893A7233A656A00819EC3 /* RongCloudIMModule.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A76893A6233A656A00819EC3 /* RongCloudIMModule.xcassets */; };
 		A76B786922CE04940047EC1B /* CommunityRecommendDetailHTMLTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A76B786822CE04940047EC1B /* CommunityRecommendDetailHTMLTableViewCell.swift */; };
 		A770E5DB22CED8C600CBD0A4 /* RouterManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = A770E5DA22CED8C600CBD0A4 /* RouterManager.swift */; };
 		A770E5DD22CEDF4F00CBD0A4 /* OpenAppModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A770E5DC22CEDF4F00CBD0A4 /* OpenAppModel.swift */; };
@@ -865,6 +866,7 @@
 		A76893972339C9EB00819EC3 /* StartupModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StartupModel.swift; sourceTree = "<group>"; };
 		A76893A0233A0BB000819EC3 /* DrawCircleProgressButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawCircleProgressButton.h; sourceTree = "<group>"; };
 		A76893A1233A0BB000819EC3 /* DrawCircleProgressButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DrawCircleProgressButton.m; sourceTree = "<group>"; };
+		A76893A6233A656A00819EC3 /* RongCloudIMModule.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = RongCloudIMModule.xcassets; sourceTree = "<group>"; };
 		A76B786822CE04940047EC1B /* CommunityRecommendDetailHTMLTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommunityRecommendDetailHTMLTableViewCell.swift; sourceTree = "<group>"; };
 		A770E5DA22CED8C600CBD0A4 /* RouterManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RouterManager.swift; sourceTree = "<group>"; };
 		A770E5DC22CEDF4F00CBD0A4 /* OpenAppModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenAppModel.swift; sourceTree = "<group>"; };
@@ -2955,14 +2957,15 @@
 		A77F2CBB223201DC001BD3F6 /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
-				A7464B742338B2C6003CE3A0 /* CommunityModule.xcassets */,
 				A77F2C672231FB4A001BD3F6 /* Assets.xcassets */,
+				A7464B742338B2C6003CE3A0 /* CommunityModule.xcassets */,
 				A7D77DE822DDBEF70048D5F6 /* RedemptionAreaModule.xcassets */,
 				A7CC74DD22703B4A003C4F38 /* MineModule.xcassets */,
 				A7FF1576228C824300A85748 /* OrderModule.xcassets */,
 				A7BF202622B3930100396DB3 /* MessageModule.xcassets */,
 				BD24FABA22B509CF00C7AA3B /* PublishModule.xcassets */,
 				A76068E322E47E0E008DF18F /* RegisterLoginModule.xcassets */,
+				A76893A6233A656A00819EC3 /* RongCloudIMModule.xcassets */,
 				A7EF3E0F2303DAEE001E4D26 /* LaunchScreen.storyboard */,
 				A77F2C6C2231FB4A001BD3F6 /* Info.plist */,
 				A7F577BB22FD7A9B00E2D757 /* RainbowPlanet.entitlements */,
@@ -5340,6 +5343,7 @@
 				A7F3069922E1C72D00DC7917 /* json_Image_1.png in Resources */,
 				A76068ED22E4A2B4008DF18F /* verywell.json in Resources */,
 				BD24FABB22B509CF00C7AA3B /* PublishModule.xcassets in Resources */,
+				A76893A7233A656A00819EC3 /* RongCloudIMModule.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

+ 18 - 2
RainbowPlanet/RainbowPlanet/AppDelegate/AppDelegate+Window.swift

@@ -43,7 +43,7 @@ extension AppDelegate {
         // 键盘处理
         IQKeyboardManagerSwiftManager.shared().initIQKeyboardManagerSwift()
         // 升级版本
-//        UpdateVersionManager.shared.initUpdateVersionManager()
+        UpdateVersionManager.shared.initUpdateVersionManager()
         // 配置
         SwiftMoyaNetWorkServiceConfig.shared().configApi(completion: {_ -> (Void) in }) { _ in }
         
@@ -109,7 +109,23 @@ extension AppDelegate {
 
      /// 设置全局的navigation
     func setNavBarAppearence() {
-        WRNavigationBar.defaultStatusBarStyle = .default
+        WRNavigationBar.defaultStatusBarStyle = .lightContent
+        WRNavigationBar.defaultShadowImageHidden = true
+        WRNavigationBar.defaultNavBarBarTintColor = kThemeColor
+        WRNavigationBar.defaultNavBarTitleColor = UIColor.white
+        WRNavigationBar.defaultNavBarTintColor = UIColor.white
+        WRNavigationBar.defaultNavBarBackgroundImage = UIImage.imageWithColor(color: kThemeColor)
+        
+        UINavigationBar.appearance().tintColor = UIColor.white
+        let tmpImage = UIImage(named: "navbar_back_white")
+        
+        let newSize = CGSize(width: 22, height: 22)
+        UIGraphicsBeginImageContextWithOptions(newSize, _: false, _: 0.0)
+        tmpImage?.draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height))
+        let backButtonImage = UIGraphicsGetImageFromCurrentImageContext()
+        UIGraphicsEndImageContext()
+        UINavigationBar.appearance().backIndicatorImage = backButtonImage
+        UINavigationBar.appearance().backIndicatorTransitionMaskImage = backButtonImage
     }
 
     ///设置全局的Tabbar

+ 2 - 0
RainbowPlanet/RainbowPlanet/Base/BaseViewController/BaseViewController.swift

@@ -19,6 +19,7 @@ class BaseViewController: UIViewController {
 
     override func viewDidLoad() {
         super.viewDidLoad()
+        
         navigationController?.navigationBar.isHidden = true
         view.backgroundColor = UIColor.white
         if #available(iOS 11.0, *) {
@@ -36,6 +37,7 @@ class BaseViewController: UIViewController {
         navigationBar.wr_setBottomLineHidden(hidden: false)
         navigationBar.barBackgroundColor = UIColor.white
         navigationBar.titleLabelColor = k333333Color
+        statusBarStyle = .default
         view.addSubview(navigationBar)
 
         if self.navigationController != nil {

+ 34 - 18
RainbowPlanet/RainbowPlanet/Manager/RongCloudIMManager/RongCloudIMManager.swift

@@ -15,8 +15,8 @@ let kRongCloudIMDevAppKey  = "82hegw5u8xlxx"
 let kRongCloudIMDevAppSecret  = "NudgmZEaAV2uY"
 
 // MARK: 生成环境key
-let kRongCloudIMProAppKey  = ""
-let kRongCloudIMProAppSecret  = ""
+let kRongCloudIMProAppKey  = "e0x9wycfebqbq"
+let kRongCloudIMProAppSecret  = "E89XIotnMKMYW"
 
 class RongCloudIMManager: NSObject {
     
@@ -59,32 +59,39 @@ class RongCloudIMManager: NSObject {
          @discussion 如果设置为NO,则SDK在需要显示用户信息时,会调用用户信息提供者获取用户信息并缓存到Cache,此Cache在App生命周期结束时会被移除,下次启动时会再次通过用户信息提供者获取信息。
          如果设置为YES,则会将获取到的用户信息持久化存储在本地,App下次启动时Cache会仍然有效。
          */
-         RCIM.shared()?.enablePersistentUserInfoCache = false
+        RCIM.shared()?.enablePersistentUserInfoCache = false
         //开启多端未读状态同步
-         RCIM.shared()?.enableSyncReadStatus = true
+        RCIM.shared()?.enableSyncReadStatus = true
+        //是否在发送的所有消息中携带当前登录的用户信息,默认值为 NO
+        RCIM.shared()?.enableMessageAttachUserInfo = false
         //设置头像为圆形
-         RCIM.shared()?.globalMessageAvatarStyle = .USER_AVATAR_RECTANGLE
-         RCIM.shared()?.globalConversationAvatarStyle = .USER_AVATAR_CYCLE
+        RCIM.shared()?.globalMessagePortraitSize = CGSize(width: 50, height: 50)
+        RCIM.shared()?.globalMessageAvatarStyle = .USER_AVATAR_CYCLE
+        RCIM.shared()?.globalConversationPortraitSize = CGSize(width: 50, height: 50)
+        RCIM.shared()?.globalConversationAvatarStyle = .USER_AVATAR_CYCLE
         //设置优先使用WebView打开URL
          RCIM.shared()?.embeddedWebViewPreferred = true
+        //消息回撤
+         RCIM.shared()?.enableMessageRecall = true
+        // 2分钟内的消息
+         RCIM.shared()?.maxRecallDuration = 120
+        
+        if UserModel.shared().getModel()?.rongCloudToken != nil {
+            loginRCIM {}
+        }
     }
     
     /// 链接融云
-    func loginRCIM() {
+    func loginRCIM(success:() -> Void) {
         RCIM.shared()?.connect(withToken:  UserModel.shared().getModel()?.rongCloudToken, success: { userId in
             let userModel = UserModel.shared().getModel()
-            if kPersonalService /** 接口前缀-个人服务器*/ {
-            }else if kDevelopSever /** 接口前缀-开发服务器*/ {
-                userModel?.betaRCIMUid = userId
-            } else if kBetaSever /** 接口前缀-测试服务器*/{
-                userModel?.proRCIMUid = userId
-            }else if kProductSever /** 接口前缀-生产服务器*/ {
-                userModel?.devRCIMUid = userId
-            }
+            userModel?.rcIMUid = userId
             UserModel.shared().setModel(model: userModel ?? UserModel())
+            //存储当前用户的信息
+            RCIM.shared()?.currentUserInfo = RCUserInfo(userId: userId, name: userModel?.username, portrait: userModel?.avatarurl)
         }, error: { [weak self] (status) in
             if status == .CONN_TOKEN_INCORRECT { //token无效
-                self?.loginRCIM()
+                self?.loginRCIM {}
             } else if (status == .DISCONN_KICK) { //被踢下线
                 SwiftProgressHUD.shared().showText("您的帐号在别的设备上登录,/n您被迫下线!")
                 kAppDelegate.setLoginOut()
@@ -93,9 +100,18 @@ class RongCloudIMManager: NSObject {
             //token过期或者不正确。
             //如果设置了token有效期并且token过期,请重新请求您的服务器获取新的token
             //如果没有设置token有效期却提示token错误,请检查您客户端和服务器的appkey是否匹配,还有检查您获取token的流程。
-            self?.loginRCIM()
+            self?.loginRCIM {}
         })
     }
+    
+    ///  刷新用户缓存
+    func refreshUserInfoCache() {
+        let userModel = UserModel.shared().getModel()
+        let rcUserInfo =  RCIM.shared()?.currentUserInfo
+        rcUserInfo?.name = userModel?.username
+        rcUserInfo?.portraitUri = userModel?.avatarurl
+        RCIM.shared()?.refreshUserInfoCache(rcUserInfo, withUserId: userModel?.rcIMUid)
+    }
 
 }
 
@@ -120,7 +136,7 @@ extension RongCloudIMManager : RCIMUserInfoDataSource {
     /// - Parameter completion: 获取用户信息完成之后需要执行的Block [userInfo:该用户ID对应的用户信息]
     func getUserInfo(withUserId userId: String!, completion: ((RCUserInfo?) -> Void)!) {
 
-        let userInfo = RCUserInfo.init(userId: UserModel.shared().getModel()?.devRCIMUid, name: UserModel.shared().getModel()?.username, portrait: UserModel.shared().getModel()?.avatarurl)
+        let userInfo = RCUserInfo.init(userId: UserModel.shared().getModel()?.rcIMUid, name: UserModel.shared().getModel()?.username, portrait: UserModel.shared().getModel()?.avatarurl)
         return completion(userInfo)
     }
 }

+ 17 - 0
RainbowPlanet/RainbowPlanet/Manager/WebViewJavascriptBridgeManager/WebViewJavascriptBridgeManager.swift

@@ -142,6 +142,23 @@ class WebViewJavascriptBridgeManager: NSObject {
                 Mediator.present(MineRouterModuleType.pushAccountSecurity)
             }
             
+            // 聊天室
+            if wvjbModel?.params?.paramsModelPage == .chatroom {
+                if wvjbModel?.params?.payload?.roomId != nil {
+                    if UserModel.shared().getModel()?.rongCloudToken != nil {
+                        Mediator.push(RongCloudIMRouterModuleType.IMChatRoom(targetId: wvjbModel?.params?.payload?.roomId ?? "" , messageCount: 50, roomName: wvjbModel?.params?.payload?.roomName ?? ""))
+
+                    }else {
+                        SwiftMoyaNetWorkServiceUser.shared().userRefreshApi { (data) -> (Void) in
+                            RongCloudIMManager.shared.loginRCIM {
+                                Mediator.push(RongCloudIMRouterModuleType.IMChatRoom(targetId: wvjbModel?.params?.payload?.roomId ?? "" , messageCount: 50, roomName: wvjbModel?.params?.payload?.roomName ?? ""))
+                            }
+                        }
+                    }
+
+                }
+            }
+            
         }
         
     }

+ 5 - 6
RainbowPlanet/RainbowPlanet/Model/UserModel/UserModel.swift

@@ -32,12 +32,9 @@ public class UserModel : NSObject, NSCoding, Mappable{
     var inviteCode : String?
     var bindWeixinUserModel : BindThirdPartyUserModel?
     var bindQQUserModel : BindThirdPartyUserModel?
-    var rongCloudToken : String?
-    
     
-    var devRCIMUid : String?
-    var betaRCIMUid : String?
-    var proRCIMUid : String?
+    var rongCloudToken : String?
+    var rcIMUid : String?
 
 
 	class func newInstance(map: Map) -> Mappable?{
@@ -158,8 +155,10 @@ public class UserModel : NSObject, NSCoding, Mappable{
         //存储Data对象
         UserDefaults.standard.set(modelData, forKey: "UserModel")
         NXLLog("UserModel存储成功")
+        // 刷新缓存
+        RongCloudIMManager.shared.refreshUserInfoCache()
         //登录融云
-        RongCloudIMManager.shared.loginRCIM()
+        RongCloudIMManager.shared.loginRCIM {}
     }
 
 

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

@@ -68,6 +68,9 @@ enum WVJBParamsModelType : String {
 /// - account: 账户(绑定微信)
 /// - exchange: 兑换商城
 /// - planet: 星球
+/// - user: 用户
+/// - signin: 登录
+/// - chatroom: 聊天室
 enum WVJBParamsModelPage : String {
     case none = ""
     case publist = "publish"
@@ -77,6 +80,7 @@ enum WVJBParamsModelPage : String {
     case planet = "planet"
     case user = "user"
     case signin = "signin"
+    case chatroom = "chatroom"
     
 }
 /// WebViewJavascriptBridgeParameterModel 简写 WVJBParameterModel
@@ -137,6 +141,9 @@ class WVJBParamsModel:NSObject,Mappable {
 class WVJBPayloadModel:NSObject,Mappable {
     /// 关注
     var uid : Int?
+    var roomId : String?
+    var roomName : String?
+    
     
     class func newInstance(map: Map) -> Mappable?{
         return WVJBParamsModel()
@@ -147,6 +154,8 @@ class WVJBPayloadModel:NSObject,Mappable {
     func mapping(map: Map)
     {
         uid <- map["uid"]
+        roomId <- map["room_id"]
+        roomName <- map["room_name"]
     }
     
 }

+ 6 - 2
RainbowPlanet/RainbowPlanet/Modules/BackyardModule/Backyard/ViewController/BackyardViewController.swift

@@ -29,9 +29,13 @@ class BackyardViewController: BaseJSWebViewController {
         self.URLString = kH5PlanetUrl
         statusBarStyle = .lightContent
         navigationBar.isHidden = true
-        setupViews()
+         setupViews()
         setupData()
-        
+    }
+    
+    override func viewWillAppear(_ animated: Bool) {
+        super.viewWillAppear(animated)
+        navigationController?.navigationBar.isHidden = true
     }
     
     override func didReceiveMemoryWarning() {

+ 1 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/View/CommunityNavigationBarView.swift

@@ -151,8 +151,7 @@ class CommunityNavigationBarView: BaseView {
             if UserModel.isTokenNil() {
                 kAppDelegate.setLogin()
             }else {
-                Mediator.push(RongCloudIMRouterModuleType.IMChatRoom(targetId: "testUptoyo001", messageCount: 50))
-//                BaseTabbarViewController.shared.pushPublishVC()
+                BaseTabbarViewController.shared.pushPublishVC()
             }
         }).disposed(by: disposeBag)
         return leftButton

+ 58 - 13
RainbowPlanet/RainbowPlanet/Modules/RongCloudIMModule/IMChatRoom/ViewController/IMChatRoomViewController.swift

@@ -13,40 +13,69 @@ import RongIMLib
 
 class IMChatRoomViewController: RCConversationViewController {
     
-    /// 历史消息的数量
-    var messageCount : Int32 = -1
+    /// 聊天室名字
+    var roomName : String?
+    
     
     deinit {
         NXLLog("deinit")
     }
     
+    override var preferredStatusBarStyle: UIStatusBarStyle {
+        return .lightContent
+    }
+    
     override func viewDidLoad() {
         super.viewDidLoad()
-        self.navigationItem.title = "消息";
+        self.navigationItem.title = roomName;
+        navigationItem.rightBarButtonItem = nil
+        navigationItem.leftBarButtonItem = UIBarButtonItem(image: kImage(name: "navbar_back_white"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(backAction(sender:)))
+
+        navigationController?.interactivePopGestureRecognizer?.delegate = self
+        navigationController?.navigationBar.shadowImage = UIImage()
+        UINavigationBar.appearance().isTranslucent = false
+        statusBarStyle = .lightContent
+        navBarTitleColor = UIColor.white
+        navBarBarTintColor = kThemeColor
         setRCIM()
         
     }
     
+    
+    @objc func backAction(sender:Any) {
+        // 推荐页面清理工作
+        leftBarButtonItemPressed(sender)
+        UICollectionView.appearance().contentInset = UIEdgeInsets(top: 0,left: 0,bottom: 0,right: 0)
+    }
+    
     override func viewWillAppear(_ animated: Bool) {
         super.viewWillAppear(animated)
-        self.navigationController?.navigationBar.isHidden = false
-        let imageView = UIImageView(image: kImage(name: "guide_1"))
-        view.addSubview(imageView)
-        self.conversationMessageCollectionView.backgroundColor = UIColor.clear
-        view.bringSubviewToFront(self.conversationMessageCollectionView)
-        self.conversationMessageCollectionView.reloadData()
+        navigationController?.navigationBar.isHidden = false
+        navigationController?.navigationBar.isTranslucent = false
+        navigationItem.leftBarButtonItem = UIBarButtonItem(image: kImage(name: "navbar_back_white"), style: UIBarButtonItem.Style.done, target: self, action: #selector(backAction(sender:)))
+
     }
     
     override func viewWillDisappear(_ animated: Bool) {
         super.viewWillDisappear(animated)
-        self.navigationController?.navigationBar.isHidden = true
+        navigationItem.leftBarButtonItem = UIBarButtonItem(image: kImage(name: "navbar_back_white"), style: UIBarButtonItem.Style.done, target: self, action: #selector(backAction(sender:)))
+
     }
     
     func setRCIM() {
-        // 默认历史消息
-        self.defaultHistoryMessageCountOfChatRoom = messageCount
+        // 您可以针对群聊、聊天室、单聊等不同场景,自己定制是否显示发送方的名字。
+        displayUserNameInCell = true
+        // conversationMessageCollectionView 背景色
+        let color = UIColor(patternImage: kImage(name: "chat_pic_bg")!)
+        view.backgroundColor = color
+        conversationMessageCollectionView.backgroundColor = UIColor.clear
+        // 刷新页面
+        conversationMessageCollectionView.reloadData()
         // 删除地理位置
-        chatSessionInputBarControl.pluginBoardView.removeItem(withTag: 1003)
+        // chatSessionInputBarControl.pluginBoardView.removeItem(withTag: 1003)
+        // 添加文件
+        let fileImage = RCKitUtility.imageNamed("actionbar_file_icon", ofBundle: "RongCloud.bundle")
+        chatSessionInputBarControl.pluginBoardView.insertItem(with: fileImage, title: NSLocalizedString("File", tableName: "RongCloudKit", comment: ""), at: 2, tag: 1006)
         
         
 //        #define INPUT_MENTIONED_SELECT_TAG 1000
@@ -64,7 +93,23 @@ class IMChatRoomViewController: RCConversationViewController {
 //        #define PLUGIN_BOARD_ITEM_TRANSFER_TAG 1109
     }
     
+    override func pluginBoardView(_ pluginBoardView: RCPluginBoardView!, clickedItemWithTag tag: Int) {
+        super.pluginBoardView(pluginBoardView, clickedItemWithTag: tag)
+        WRNavigationBar.defaultNavBarBarTintColor = kThemeColor
+        WRNavigationBar.defaultNavBarTitleColor = UIColor.white
+        WRNavigationBar.defaultNavBarTintColor = UIColor.white
+        WRNavigationBar.defaultNavBarBackgroundImage = UIImage.imageWithColor(color: kThemeColor)
+        UINavigationBar.appearance().tintColor = UIColor.white
+        if tag == 1001 {
+            UICollectionView.appearance().contentInset = UIEdgeInsets(top: kNavBarTotalHeight,left: 0,bottom: 0,right: 0)
+        }
+    }
     
 
+}
 
+extension IMChatRoomViewController {
+    override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
+        return true
+    }
 }

+ 4 - 3
RainbowPlanet/RainbowPlanet/Router/RongCloudIMRouterModuleType.swift

@@ -14,15 +14,16 @@ import RongIMKit
 /// - IMChatRoom: 聊天室
 
 public enum RongCloudIMRouterModuleType: MediatorTargetType {
-    case IMChatRoom(targetId: String,messageCount:Int32)
+    case IMChatRoom(targetId: String,messageCount:Int32,roomName:String)
 }
 
 extension RongCloudIMRouterModuleType: MediatorSourceType {
     public var viewController: UIViewController? {
         switch self {
-        case .IMChatRoom(let targetId,let messageCount):
+        case .IMChatRoom(let targetId,let messageCount,let roomName):
             let vc = IMChatRoomViewController.init(conversationType: .ConversationType_CHATROOM, targetId: targetId)
-            vc?.messageCount = messageCount
+            vc?.defaultHistoryMessageCountOfChatRoom = messageCount
+            vc?.roomName = roomName
             return vc
         }
     }

+ 3 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/Assets.xcassets/NavigationBarIcons/navbar_back_white.imageset/Contents.json

@@ -18,5 +18,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 6 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 22 - 0
RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "chat_pic_bg@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "chat_pic_bg@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/chat_pic_bg@2x.png


BIN
RainbowPlanet/RainbowPlanet/Supporting Files/RongCloudIMModule.xcassets/chat_pic_bg.imageset/chat_pic_bg@3x.png