Procházet zdrojové kódy

加载默认图完成

南鑫林 před 5 roky
rodič
revize
a0bb6448bd
39 změnil soubory, kde provedl 604 přidání a 542 odebrání
  1. 4 0
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  2. 33 3
      RainbowPlanet/RainbowPlanet/Manager/MJRefreshManager/MJRefreshManager.swift
  3. 2 1
      RainbowPlanet/RainbowPlanet/Manager/UMManager/UMManager.swift
  4. 3 1
      RainbowPlanet/RainbowPlanet/Manager/UpdateVersionManager/ViewModel/UpdateVersionManager.swift
  5. 54 0
      RainbowPlanet/RainbowPlanet/Model/UserModel/SetGenderModel.swift
  6. 107 98
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Follow/CommunityFollowViewController.swift
  7. 2 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Recommend/CommunityRecommnendViewController.swift
  8. 3 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/ViewController/CommunityFeaturedTopicsViewController.swift
  9. 2 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFindFriends/ViewController/CommunityFindFriendsViewController.swift
  10. 4 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityMyFollowTopic/ViewController/CommunityMyFollowTopicController.swift
  11. 12 3
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/Controller/CommunityRecommendController.swift
  12. 3 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunitySubComment/ViewController/CommunitySubCommentController.swift
  13. 2 2
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityVideoContent/View/CommunityAllCommentView.swift
  14. 3 1
      RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityVideoSubCommentController/CommunityVideoSubCommentController.swift
  15. 3 1
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageList/ViewController/MessageListController.swift
  16. 3 1
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/Controller/MessagePlanetActivityController.swift
  17. 3 1
      RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/Controller/MessagePlanetNotiController.swift
  18. 5 2
      RainbowPlanet/RainbowPlanet/Modules/MineModule/MyFollowAndFan/ViewController/MyFollowAndFanViewController.swift
  19. 1 1
      RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherHeaderView.swift
  20. 3 2
      RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherListView.swift
  21. 4 2
      RainbowPlanet/RainbowPlanet/Modules/RedemptionAreaModule/RedemptionArea/ViewController/RedemptionAreaViewController.swift
  22. 3 1
      RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchContentList/ViewController/SearchContentListViewController.swift
  23. 1 1
      RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchTopicList/ViewController/SearchTopicListViewController.swift
  24. 1 1
      RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchUser/ViewController/SearchUserListViewController.swift
  25. 10 15
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCMS/SwiftMoyaNetWorkServiceCMS.swift
  26. 55 79
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCommunity/SwiftMoyaNetWorkServiceCommunity.swift
  27. 17 22
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceConfig/SwiftMoyaNetWorkServiceConfig.swift
  28. 14 21
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceOrder/SwiftMoyaNetWorkServiceOrder.swift
  29. 6 8
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServicePay/SwiftMoyaNetWorkServicePay.swift
  30. 36 52
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceProduct/SwiftMoyaNetWorkServiceProduct.swift
  31. 2 3
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceSMS/SwiftMoyaNetWorkServiceSMS.swift
  32. 2 3
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceShop/SwiftMoyaNetWorkServiceShop.swift
  33. 87 113
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift
  34. 3 1
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceVirus/SwiftMoyaNetWorkServiceVirus.swift
  35. 11 6
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/ApiMacro.swift
  36. 24 20
      RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/SwiftMoyaNetWorkManager.swift
  37. 6 1
      RainbowPlanet/RainbowPlanet/Tools/Log/Log.swift
  38. 8 8
      RainbowPlanet/RainbowPlanet/ViewModel/Community/CommunityFollowUserViewModel.swift
  39. 62 60
      RainbowPlanet/RainbowPlanet/ViewModel/Virus/VirusViewModel.swift

+ 4 - 0
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -288,6 +288,7 @@
 		A7824B062271F25400ABA381 /* EditAddressTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7824B052271F25400ABA381 /* EditAddressTableViewCell.swift */; };
 		A7824B082271F53A00ABA381 /* EditSetDefaultTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7824B072271F53A00ABA381 /* EditSetDefaultTableViewCell.swift */; };
 		A78A5F7622FAA03800DD1764 /* share_iSpt.gif in Resources */ = {isa = PBXBuildFile; fileRef = A78A5F7522FAA03800DD1764 /* share_iSpt.gif */; };
+		A78A5F7822FAC7F000DD1764 /* SetGenderModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78A5F7722FAC7F000DD1764 /* SetGenderModel.swift */; };
 		A78CEE0A22E0864100C512A4 /* BaseLottieAnimateContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A78CEE0922E0864100C512A4 /* BaseLottieAnimateContentView.swift */; };
 		A79057022276C9770037F823 /* SetPasswordModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A79057012276C9770037F823 /* SetPasswordModel.swift */; };
 		A79057062276EA3D0037F823 /* OpenCityListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A79057052276EA3D0037F823 /* OpenCityListModel.swift */; };
@@ -1012,6 +1013,7 @@
 		A7824B052271F25400ABA381 /* EditAddressTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditAddressTableViewCell.swift; sourceTree = "<group>"; };
 		A7824B072271F53A00ABA381 /* EditSetDefaultTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditSetDefaultTableViewCell.swift; sourceTree = "<group>"; };
 		A78A5F7522FAA03800DD1764 /* share_iSpt.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = share_iSpt.gif; sourceTree = "<group>"; };
+		A78A5F7722FAC7F000DD1764 /* SetGenderModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetGenderModel.swift; sourceTree = "<group>"; };
 		A78CEE0922E0864100C512A4 /* BaseLottieAnimateContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseLottieAnimateContentView.swift; sourceTree = "<group>"; };
 		A79057012276C9770037F823 /* SetPasswordModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SetPasswordModel.swift; sourceTree = "<group>"; };
 		A79057052276EA3D0037F823 /* OpenCityListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OpenCityListModel.swift; sourceTree = "<group>"; };
@@ -2186,6 +2188,7 @@
 		A7284402224DBE3500F82F30 /* UserModel */ = {
 			isa = PBXGroup;
 			children = (
+				A78A5F7722FAC7F000DD1764 /* SetGenderModel.swift */,
 				A71CAB3622C9A40A00D908A8 /* TotalBeanModel.swift */,
 				A72623D622C26A2A00AEF875 /* MessageListModel.swift */,
 				A72623D422C2646200AEF875 /* MessageIndexModel.swift */,
@@ -6514,6 +6517,7 @@
 				A729B5B42267254B004AE098 /* PasswordLoginViewController.swift in Sources */,
 				A7B4E7582282897B0012914A /* ProductFloorLeftHeaderCollectionReusableView.swift in Sources */,
 				A7D4608E227616F800A5A54E /* SQLiteManager.swift in Sources */,
+				A78A5F7822FAC7F000DD1764 /* SetGenderModel.swift in Sources */,
 				A70B2C6B2288815300B2449F /* PickHeaderView.swift in Sources */,
 				A7274C50228EE5F0000E3A07 /* PhotoAndCameraManager.swift in Sources */,
 				A77F2C612231FB49001BD3F6 /* AppDelegate.swift in Sources */,

+ 33 - 3
RainbowPlanet/RainbowPlanet/Manager/MJRefreshManager/MJRefreshManager.swift

@@ -10,14 +10,14 @@ import Foundation
 
 class MJRefreshManager: NSObject {
 
-    //MARK: - collectionView
+    //MARK: - tableView
     class func hiddenHeaderWithFooter(tableView : UITableView?) {
         tableView?.endHeaderRefresh()
         tableView?.endFooterRefresh()
         tableView?.ly_endLoading()
     }
     
-    class func hiddenHeaderWithFooterNONetWork(tableView : UITableView?) {
+    private class func hiddenHeaderWithFooterNONetWork(tableView : UITableView?) {
         DIYEmptyView.emptyNoDataActionTableView(tableView: tableView, btnClickBlock: {
             [weak tableView] in
             tableView?.mj_header.beginRefreshing()
@@ -27,6 +27,21 @@ class MJRefreshManager: NSObject {
         tableView?.ly_endLoading()
     }
     
+    private class func hiddenHeaderWithFooterNOData(tableView : UITableView?) {
+        DIYEmptyView.emptyNoDataTableView(tableView: tableView)
+        tableView?.endHeaderRefresh()
+        tableView?.endFooterRefresh()
+        tableView?.ly_endLoading()
+    }
+    
+    class func hiddenHeaderWithFooter(tableView:UITableView?,loadingStatus:SwiftMoyaNetWorkManagerLoadingStatus) {
+        if loadingStatus == .noData {
+            MJRefreshManager.hiddenHeaderWithFooterNOData(tableView: tableView)
+        }else if loadingStatus == .noNetwork {
+            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: tableView)
+        }
+    }
+    
     
     class func hiddenHeaderWithFooter(tableView : UITableView?,pagination : PaginationModel?) {
         
@@ -53,7 +68,7 @@ class MJRefreshManager: NSObject {
         collectionView?.ly_endLoading()
     }
     
-    class func hiddenHeaderWithFooterNONetWork(collectionView : UICollectionView?) {
+    private class func hiddenHeaderWithFooterNONetWork(collectionView : UICollectionView?) {
         DIYEmptyView.emptyNoDataActionCollectionView(collectionView: collectionView, btnClickBlock: {
             [weak collectionView] in
             collectionView?.mj_header.beginRefreshing()
@@ -63,6 +78,21 @@ class MJRefreshManager: NSObject {
         collectionView?.ly_endLoading()
     }
     
+    private class func hiddenHeaderWithFooterNOData(collectionView : UICollectionView?) {
+        DIYEmptyView.emptyNoDataCollectionView(collectionView: collectionView)
+        collectionView?.endHeaderRefresh()
+        collectionView?.endFooterRefresh()
+        collectionView?.ly_endLoading()
+    }
+    
+    class func hiddenHeaderWithFooter(collectionView:UICollectionView?,loadingStatus:SwiftMoyaNetWorkManagerLoadingStatus) {
+        if loadingStatus == .noData {
+            MJRefreshManager.hiddenHeaderWithFooterNOData(collectionView: collectionView)
+        }else if loadingStatus == .noNetwork {
+            MJRefreshManager.hiddenHeaderWithFooterNONetWork(collectionView: collectionView)
+        }
+    }
+    
     class func hiddenHeaderWithFooter(collectionView : UICollectionView?,pagination : PaginationModel?) {
         
         collectionView?.endHeaderRefresh()

+ 2 - 1
RainbowPlanet/RainbowPlanet/Manager/UMManager/UMManager.swift

@@ -58,6 +58,7 @@ public extension UMManager {
         UMConfigure.setEncryptEnabled(true)
         //设置打开日志
         UMConfigure.setLogEnabled(true)
+        isNXLLog = true
         //设置Key
         UMConfigure.initWithAppkey(kUMengAppKey, channel: "App Store")
 
@@ -84,7 +85,7 @@ public extension UMManager {
         UMessage.openDebugMode(true)
         UMessage.setBadgeClear(true)//设置是否允许SDK自动清空角标
         UMessage.setWebViewClassString("UMWebViewController")
-        UMessage.addLaunch() //开屏图
+//        UMessage.addLaunch() //开屏图
         _entity = UMessageRegisterEntity.init()
         //type是对推送的几个参数的选择,可以选择一个或者多个。默认是三个全部打开,即:声音,弹窗,角标
         _entity?.types = Int(UInt8(UMessageAuthorizationOptions.badge.rawValue)|UInt8(UMessageAuthorizationOptions.alert.rawValue)|UInt8(UMessageAuthorizationOptions.sound.rawValue))

+ 3 - 1
RainbowPlanet/RainbowPlanet/Manager/UpdateVersionManager/ViewModel/UpdateVersionManager.swift

@@ -27,6 +27,7 @@ class UpdateVersionManager: NSObject {
         observe = NotificationCenter.default.addObserver(forName: UIApplication.didFinishLaunchingNotification, object: nil, queue: OperationQueue.main, using: {
             [weak self] (notification) in
             self?.configUpGrade()
+            
         })
         //程序进入后台
         observe = NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: OperationQueue.main, using: {
@@ -38,8 +39,9 @@ class UpdateVersionManager: NSObject {
         //将要进入前台的时候
         observe = NotificationCenter.default.addObserver(forName: UIApplication.willEnterForegroundNotification, object: nil, queue: OperationQueue.main, using: {
             [weak self] (notification) in
-
             self?.configUpGrade()
+            //基础配置
+            SwiftMoyaNetWorkServiceConfig.shared().configApi {(data) -> (Void) in}
         })
         //程序即将退出
         observe = NotificationCenter.default.addObserver(forName: UIApplication.willTerminateNotification, object: nil, queue: OperationQueue.main, using: {

+ 54 - 0
RainbowPlanet/RainbowPlanet/Model/UserModel/SetGenderModel.swift

@@ -0,0 +1,54 @@
+//
+//	SetGenderModel.swift
+//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
+
+import Foundation 
+import ObjectMapper
+
+
+class SetGenderModel : NSObject, NSCoding, Mappable{
+
+	var avatar : String?
+	var gender : String?
+
+
+	class func newInstance(map: Map) -> Mappable?{
+		return SetGenderModel()
+	}
+	required init?(map: Map){}
+	private override init(){}
+
+	func mapping(map: Map)
+	{
+		avatar <- map["avatar"]
+		gender <- map["gender"]
+		
+	}
+
+    /**
+    * NSCoding required initializer.
+    * Fills the data from the passed decoder
+    */
+    @objc required init(coder aDecoder: NSCoder)
+	{
+         avatar = aDecoder.decodeObject(forKey: "avatar") as? String
+         gender = aDecoder.decodeObject(forKey: "gender") as? String
+
+	}
+
+    /**
+    * NSCoding required method.
+    * Encodes mode properties into the decoder
+    */
+    @objc func encode(with aCoder: NSCoder)
+	{
+		if avatar != nil{
+			aCoder.encode(avatar, forKey: "avatar")
+		}
+		if gender != nil{
+			aCoder.encode(gender, forKey: "gender")
+		}
+
+	}
+
+}

+ 107 - 98
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Follow/CommunityFollowViewController.swift

@@ -20,10 +20,10 @@ class CommunityFollowViewController: UIViewController {
     }
     weak var observe : NSObjectProtocol?
     
-    var communityFollowDataModels = Array<CommunityFollowDataModel>()
+    var communityFollowDataModels : Array<CommunityFollowDataModel>?
     var communityFollowDataModel : CommunityFollowDataModel?
     /// 关注数组
-    var cmsMemberModels = Array<CMSMemberModel>()
+    var cmsMemberModels : Array<CMSMemberModel>?
     
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -80,7 +80,7 @@ class CommunityFollowViewController: UIViewController {
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("followApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
             let followStatusModel = notification.object as? FollowStatusModel
             
-            if !(self?.cmsMemberModels.isEmpty ?? true) {
+            if !(self?.cmsMemberModels?.isEmpty ?? true) {
                 for cmsMemberModel in (self?.cmsMemberModels)! {
                     if cmsMemberModel.uid == followStatusModel?.uid {
                         cmsMemberModel.followStatus = followStatusModel?.isFollowStatus
@@ -88,7 +88,7 @@ class CommunityFollowViewController: UIViewController {
                 }
             }
             
-            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+            if !(self?.communityFollowDataModels?.isEmpty ?? true) {
                 for communityFollowDataModel in (self?.communityFollowDataModels)! {
                     if communityFollowDataModel.relateData?.uid == followStatusModel?.uid {
                         communityFollowDataModel.relateData?.isFollow = followStatusModel?.isFollowStatus
@@ -103,7 +103,7 @@ class CommunityFollowViewController: UIViewController {
         
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("unlikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
             let followStatusModel = notification.object as? FollowStatusModel
-            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+            if !(self?.communityFollowDataModels?.isEmpty ?? true) {
                 for communityFollowDataModel in (self?.communityFollowDataModels)! {
                     if communityFollowDataModel.relateData?.id == followStatusModel?.postId {
                         communityFollowDataModel.relateData?.isDislike = followStatusModel?.isFollowStatus
@@ -115,7 +115,7 @@ class CommunityFollowViewController: UIViewController {
         
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("islikeApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
             let followStatusModel = notification.object as? FollowStatusModel
-            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+            if !(self?.communityFollowDataModels?.isEmpty ?? true) {
                 for communityFollowDataModel in (self?.communityFollowDataModels)! {
                     if communityFollowDataModel.relateData?.id == followStatusModel?.postId {
                         communityFollowDataModel.relateData?.isLike = followStatusModel?.isFollowStatus
@@ -127,7 +127,7 @@ class CommunityFollowViewController: UIViewController {
         
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("isCollectApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
             let followStatusModel = notification.object as? FollowStatusModel
-            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+            if !(self?.communityFollowDataModels?.isEmpty ?? true) {
                 for communityFollowDataModel in (self?.communityFollowDataModels)! {
                     if communityFollowDataModel.relateData?.id == followStatusModel?.postId {
                         communityFollowDataModel.relateData?.isCollect = followStatusModel?.isFollowStatus
@@ -139,10 +139,10 @@ class CommunityFollowViewController: UIViewController {
         
         observe = NotificationCenter.default.addObserver(forName: NSNotification.Name("communityDeletePostApi"), object: nil, queue: OperationQueue.main) { [weak self] (notification) in
             let postId = notification.object as? Int
-            if !(self?.communityFollowDataModels.isEmpty ?? true) {
+            if !(self?.communityFollowDataModels?.isEmpty ?? true) {
                 for (index,communityFollowDataModel) in (self?.communityFollowDataModels)!.enumerated() {
                     if communityFollowDataModel.relateData?.id == postId {
-                        self?.communityFollowDataModels.remove(at: index)
+                        self?.communityFollowDataModels?.remove(at: index)
                     }
                 }
                 self?.tableView.reloadData()
@@ -196,31 +196,32 @@ extension CommunityFollowViewController {
             self?.cmsMemberListApi()
             
         }
-        if !UserModel.isTokenNil() {
-            queue.async(group: group) { [weak self] in
-                self?.communityFollowFeedApi(page: page)
-            }
+        queue.async(group: group) { [weak self] in
+            self?.communityFollowFeedApi(page: page)
         }
+
     }
     
     /// 获取关注用户列表
     func cmsMemberListApi() {
+        
         SwiftMoyaNetWorkServiceCMS.shared().cmsMemberListApi(takeCount: 20,completion: {
             [weak self] (cmsMemberListModel) -> (Void) in
             let cmsMemberListModel = cmsMemberListModel as? CMSMemberListModel
-            self?.cmsMemberModels = (cmsMemberListModel?.list)!
+            self?.cmsMemberModels = cmsMemberListModel?.list
             if UserModel.isTokenNil() {
                 self?.tableView.tableHeaderView = self?.followLoginTableHeaderView
                 MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView)
             }
             self?.tableView.reloadData()
-
+            
         }) {
             [weak self] (loadingStatus) in
             if UserModel.isTokenNil() {
-                MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView)
+                MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
             }
         }
+        
     }
     
     /// 关注feed流
@@ -228,23 +229,31 @@ extension CommunityFollowViewController {
     /// - Parameter page: 分页
     func communityFollowFeedApi(page:Int) {
         
-        SwiftMoyaNetWorkServiceCommunity.shared().communityFollowFeedApi(page:page,completion:{
-            [weak self] (communityFollowFeedModel) -> (Void) in
-            let communityFollowFeedModel = communityFollowFeedModel as? CommunityFollowFeedModel
-            if communityFollowFeedModel?.pagination?.currentPage == 1{
-                self?.communityFollowDataModels.removeAll()
-                self?.tableView.resetNoMoreData()
-            }
-            self?.communityFollowDataModels = (self?.communityFollowDataModels)! + (communityFollowFeedModel?.data!)!
-            if (self?.communityFollowDataModels.isEmpty)! {
-                self?.tableView.tableHeaderView = self?.followTableHeaderView
+        if !UserModel.isTokenNil() {
+            SwiftMoyaNetWorkServiceCommunity.shared().communityFollowFeedApi(page:page,completion:{
+                [weak self] (communityFollowFeedModel) -> (Void) in
+                let communityFollowFeedModel = communityFollowFeedModel as? CommunityFollowFeedModel
+                if communityFollowFeedModel?.pagination?.currentPage == 1{
+                    self?.communityFollowDataModels?.removeAll()
+                    self?.tableView.resetNoMoreData()
+                }
+                self?.communityFollowDataModels = (self?.communityFollowDataModels)! + (communityFollowFeedModel?.data!)!
+                if (self?.communityFollowDataModels?.isEmpty)! {
+                    self?.tableView.tableHeaderView = self?.followTableHeaderView
+                }
+                self?.tableView.reloadData()
+                MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityFollowFeedModel?.pagination)
+            }) {
+                [weak self] (loadingStatus) in
+                MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
             }
-            self?.tableView.reloadData()
-            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityFollowFeedModel?.pagination)
-        }) {
-            [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+        }else{
+            self.tableView.isHiddenFooter(true)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self.tableView)
         }
+        
+        
     }
     
     /// 评论
@@ -281,7 +290,7 @@ extension CommunityFollowViewController {
     /// 删除帖子
     func communityDeleteApi(postId:Int,section:Int) {
         SwiftMoyaNetWorkServiceCommunity.shared().communityDeleteApi(postId: postId) { [weak self] (data) -> (Void) in
-            self?.communityFollowDataModels.remove(at: section)
+            self?.communityFollowDataModels?.remove(at: section)
             self?.tableView.reloadData()
         }
     }
@@ -290,25 +299,25 @@ extension CommunityFollowViewController {
 
 extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSource {
     func numberOfSections(in tableView: UITableView) -> Int {
-        if  communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
+        if  communityFollowDataModels?.isEmpty ?? true  && cmsMemberModels?.isEmpty ?? true {
             return 0
-        }else  if communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty {
+        }else  if communityFollowDataModels?.isEmpty ?? true && !(cmsMemberModels?.isEmpty ?? true) {
             return 1
-        }else  if !communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
-            return communityFollowDataModels.isEmpty ? 0 : communityFollowDataModels.count
+        }else  if !(communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true){
+            return (communityFollowDataModels?.isEmpty ?? true) ? 0 : communityFollowDataModels?.count ?? 0
         }else {
-            return communityFollowDataModels.count + 1
+            return communityFollowDataModels?.count ?? 0 + 1
         }
     }
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-        if  communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
+        if  (communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) {
             return 0
-        }else  if communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty {
+        }else  if (communityFollowDataModels?.isEmpty ?? true) && !(cmsMemberModels?.isEmpty ?? true) {
             return 1
-        }else  if !communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
-            let communityFollowDataModel = communityFollowDataModels[section]
-            if CommunityFollowType(rawValue:communityFollowDataModel.type ?? "1") == .post {
+        }else  if !(communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) {
+            let communityFollowDataModel = communityFollowDataModels?[section]
+            if CommunityFollowType(rawValue:communityFollowDataModel?.type ?? "1") == .post {
                 return 6
             }else {
                 return 1
@@ -317,8 +326,8 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
             if section == 0 {
                 return 1
             }else {
-                let communityFollowDataModel = communityFollowDataModels[section - 1]
-                if CommunityFollowType(rawValue: communityFollowDataModel.type ?? "1") == .post {
+                let communityFollowDataModel = communityFollowDataModels?[section - 1]
+                if CommunityFollowType(rawValue: communityFollowDataModel?.type ?? "1") == .post {
                     return 6
                 }else {
                     return 1
@@ -329,16 +338,16 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     
     func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
         
-        if  communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
+        if  (communityFollowDataModels?.isEmpty ?? true) && cmsMemberModels?.isEmpty ?? true {
             return UITableViewCell()
-        }else  if communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty { //推荐关注
+        }else  if (communityFollowDataModels?.isEmpty ?? true) && !(cmsMemberModels?.isEmpty ?? true) { //推荐关注
             let cell = CommunityRecommendFollowTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
             cell.type = .follow
             cell.cmsMemberModels = cmsMemberModels
             return cell
-        }else  if !communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty { //关注列表
-            let communityFollowDataModel = communityFollowDataModels[indexPath.section]
-            if CommunityFollowType(rawValue:communityFollowDataModel.type ?? "1") == .post { //帖子
+        }else  if !(communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) { //关注列表
+            let communityFollowDataModel = communityFollowDataModels?[indexPath.section]
+            if CommunityFollowType(rawValue:communityFollowDataModel?.type ?? "1") == .post { //帖子
                 return postCell(indexPath: indexPath,section:indexPath.section, communityFollowDataModel: communityFollowDataModel)
             }else { //关注
                 let cell = CommunityFollowStatusTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
@@ -356,7 +365,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                 cell.cmsMemberModels = cmsMemberModels
                 cell.followClosure = {
                     [weak self] (isFollow,cmsMemberModel) in
-                    for (_,model) in (self?.communityFollowDataModels.enumerated())! {
+                    for (_,model) in (self?.communityFollowDataModels?.enumerated())! {
                         if model.relateData?.uid == cmsMemberModel.uid {
                             model.relateData?.isFollow = isFollow
                             tableView.reloadData()
@@ -365,8 +374,8 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                 }
                 return cell
             }else {//关注列表
-                let communityFollowDataModel = communityFollowDataModels[indexPath.section - 1]
-                if CommunityFollowType(rawValue: communityFollowDataModel.type ?? "1") == .post { //帖子
+                let communityFollowDataModel = communityFollowDataModels?[indexPath.section - 1]
+                if CommunityFollowType(rawValue: communityFollowDataModel?.type ?? "1") == .post { //帖子
                     return postCell(indexPath: indexPath,section: (indexPath.section - 1), communityFollowDataModel: communityFollowDataModel)
                     
                 }else {//关注
@@ -382,7 +391,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
         }
     }
     
-    func postCell(indexPath:IndexPath,section:Int,communityFollowDataModel:CommunityFollowDataModel) -> UITableViewCell {
+    func postCell(indexPath:IndexPath,section:Int,communityFollowDataModel:CommunityFollowDataModel?) -> UITableViewCell {
         switch indexPath.row {
         //贴子用户
         case 0:
@@ -394,9 +403,9 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
             }
             cell.likeClosure = {
                 [weak self] y in
-                if UserModel.shared().isEqualUid(uid: communityFollowDataModel.relateData?.uid ?? 0) {
+                if UserModel.shared().isEqualUid(uid: communityFollowDataModel?.relateData?.uid ?? 0) {
                     CardContentUserDeleteView.sheetDeleteView(y: y, sureClosure: { [weak self] (cardContentUserDeleteView) in
-                        self?.communityDeleteApi(postId: communityFollowDataModel.relateData?.id ?? 0, section: section)
+                        self?.communityDeleteApi(postId: communityFollowDataModel?.relateData?.id ?? 0, section: section)
                     })
                 }else {
                     VirusViewModel.shared.like(communityFollowDataModel: communityFollowDataModel, y: y, tableView: (self?.tableView)!)
@@ -449,22 +458,22 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     
     
     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        if  communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
-        }else  if communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty { //推荐关注
-        }else  if !communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty { //关注列表
-            let communityFollowDataModel = communityFollowDataModels[indexPath.section]
-            if CommunityFollowType(rawValue:communityFollowDataModel.type ?? "1") == .post { //帖子
+        if  (communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) {
+        }else  if (communityFollowDataModels?.isEmpty ?? true) && !(cmsMemberModels?.isEmpty ?? true) { //推荐关注
+        }else  if !(communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) { //关注列表
+            let communityFollowDataModel = communityFollowDataModels?[indexPath.section]
+            if CommunityFollowType(rawValue:communityFollowDataModel?.type ?? "1") == .post { //帖子
                 switch indexPath.row {
                 //贴子用户
                 case 0:
                     break
                 //图片视频/内容标题/评论列表
                 case 1,2,4:
-                    if PostType(rawValue: communityFollowDataModel.relateData?.type ?? "video") == .video {
-                        NotificationCenter.default.post(name: NSNotification.Name("CommunityContentVideoClosure"), object: communityFollowDataModel.relateData?.id)
+                    if PostType(rawValue: communityFollowDataModel?.relateData?.type ?? "video") == .video {
+                        NotificationCenter.default.post(name: NSNotification.Name("CommunityContentVideoClosure"), object: communityFollowDataModel?.relateData?.id)
                         
                     }else {
-                        NotificationCenter.default.post(name: NSNotification.Name("CommunityContentDetailClosure"), object: communityFollowDataModel.relateData?.id)
+                        NotificationCenter.default.post(name: NSNotification.Name("CommunityContentDetailClosure"), object: communityFollowDataModel?.relateData?.id)
                     }
                     break
                 //点赞,收藏,分享
@@ -482,19 +491,19 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
             if indexPath.section == 0 { //推荐关注
                 
             }else {//关注列表
-                let communityFollowDataModel = communityFollowDataModels[indexPath.section - 1]
-                if CommunityFollowType(rawValue: communityFollowDataModel.type ?? "1") == .post { //帖子
+                let communityFollowDataModel = communityFollowDataModels?[indexPath.section - 1]
+                if CommunityFollowType(rawValue: communityFollowDataModel?.type ?? "1") == .post { //帖子
                     switch indexPath.row {
                     //贴子用户
                     case 0:
                         break
                     //图片视频/内容标题/评论列表
                     case 1,2,4:
-                        if PostType(rawValue: communityFollowDataModel.relateData?.type ?? "video") == .video {
-                            NotificationCenter.default.post(name: NSNotification.Name("CommunityContentVideoClosure"), object: communityFollowDataModel.relateData?.id)
+                        if PostType(rawValue: communityFollowDataModel?.relateData?.type ?? "video") == .video {
+                            NotificationCenter.default.post(name: NSNotification.Name("CommunityContentVideoClosure"), object: communityFollowDataModel?.relateData?.id)
                             
                         }else {
-                            NotificationCenter.default.post(name: NSNotification.Name("CommunityContentDetailClosure"), object: communityFollowDataModel.relateData?.id)
+                            NotificationCenter.default.post(name: NSNotification.Name("CommunityContentDetailClosure"), object: communityFollowDataModel?.relateData?.id)
                         }
                         break
                     //点赞,收藏,分享
@@ -516,18 +525,18 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     
     
     /// 状态的高度
-    func followStatusHeight(communityFollowDataModel:CommunityFollowDataModel) -> CGFloat {
-        let communityFollowType = CommunityFollowType(rawValue: communityFollowDataModel.type ?? "1")
+    func followStatusHeight(communityFollowDataModel:CommunityFollowDataModel?) -> CGFloat {
+        let communityFollowType = CommunityFollowType(rawValue: communityFollowDataModel?.type ?? "1")
         switch communityFollowType {
         case .follow?:
             return 160
         case .comment?:
-            if communityFollowDataModel.content?.beans == nil || communityFollowDataModel.content?.beans ?? 0 <= 0 {
+            if communityFollowDataModel?.content?.beans == nil || communityFollowDataModel?.content?.beans ?? 0 <= 0 {
                return 193 - 28.5
             }
             return 193
         case .forward?,.like?,.collection?:
-            if communityFollowDataModel.content?.beans == nil || communityFollowDataModel.content?.beans ?? 0 <= 0 {
+            if communityFollowDataModel?.content?.beans == nil || communityFollowDataModel?.content?.beans ?? 0 <= 0 {
                 return 182 - 28.5
             }
             return 182
@@ -537,11 +546,11 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     }
     
     /// 帖子的高度
-    func postCellHeight(indexPath:IndexPath,communityFollowDataModel:CommunityFollowDataModel) -> CGFloat {
+    func postCellHeight(indexPath:IndexPath,communityFollowDataModel:CommunityFollowDataModel?) -> CGFloat {
         switch indexPath.row {
         //贴子用户
         case 0:
-            if communityFollowDataModel.relateData?.uid != nil {
+            if communityFollowDataModel?.relateData?.uid != nil {
                 return 80
             }
             return 0
@@ -549,10 +558,10 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
         case 1:
             
             let cardContentPicVideoModel = CardContentPicVideoModel()
-            cardContentPicVideoModel.postType = PostType(rawValue: communityFollowDataModel.relateData?.type ?? "image")!
+            cardContentPicVideoModel.postType = PostType(rawValue: communityFollowDataModel?.relateData?.type ?? "image")!
             
-            let imgStr = communityFollowDataModel.relateData?.img
-            if communityFollowDataModel.relateData?.imgs?.isEmpty ?? true {
+            let imgStr = communityFollowDataModel?.relateData?.img
+            if communityFollowDataModel?.relateData?.imgs?.isEmpty ?? true {
                 if imgStr != "" && imgStr != nil {
                     cardContentPicVideoModel.number = 1
                     cardContentPicVideoModel.width = getImageWidth(imgStr: (imgStr)!)
@@ -562,7 +571,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                     return 0
                 }
             }else {
-                if communityFollowDataModel.relateData?.imgs?.count ?? 0 == 1 {
+                if communityFollowDataModel?.relateData?.imgs?.count ?? 0 == 1 {
                     if imgStr != "" || imgStr != nil {
                         cardContentPicVideoModel.number = 1
                         cardContentPicVideoModel.width = getImageWidth(imgStr: (imgStr)!)
@@ -572,16 +581,16 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                         return 0
                     }
                 }else {
-                    cardContentPicVideoModel.number = communityFollowDataModel.relateData?.imgs?.count ?? 0
+                    cardContentPicVideoModel.number = communityFollowDataModel?.relateData?.imgs?.count ?? 0
                     return cardContentPicVideoModel.collectionViewHeight() + 20
                 }
             }
         //内容标题
         case 2:
-            var str = communityFollowDataModel.relateData?.content ?? ""
+            var str = communityFollowDataModel?.relateData?.content ?? ""
             str = str.replacingOccurrences(of: "\n", with: "").replacingOccurrences(of: "\r", with: "")
-            if (communityFollowDataModel.relateData?.title == "" || communityFollowDataModel.relateData?.title == nil) {
-                if communityFollowDataModel.relateData?.content?.count ?? 0 >= 45 {
+            if (communityFollowDataModel?.relateData?.title == "" || communityFollowDataModel?.relateData?.title == nil) {
+                if communityFollowDataModel?.relateData?.content?.count ?? 0 >= 45 {
                     str = str.prefix(45) + "...更多"
                     let contentHeight = "\(str)".heightForComment(font: kRegularFont14!, width: kScreenWidth-28)
                     return contentHeight
@@ -590,10 +599,10 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                     return contentHeight
                 }
             }else {
-                if PostType(rawValue: communityFollowDataModel.relateData?.type ?? "html") == .html {
+                if PostType(rawValue: communityFollowDataModel?.relateData?.type ?? "html") == .html {
                     return 22
                 }else {
-                    if communityFollowDataModel.relateData?.content?.count ?? 0 >= 45 {
+                    if communityFollowDataModel?.relateData?.content?.count ?? 0 >= 45 {
                         str = str.prefix(45) + "...更多"
                         let contentHeight = "\(str)".heightForComment(font: kRegularFont14!, width: kScreenWidth-28)
                         return (22 + 6 + contentHeight)
@@ -608,10 +617,10 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
             return 54
         //评论列表
         case 4:
-            if !(communityFollowDataModel.relateData?.postComment?.isEmpty ?? true) {
+            if !(communityFollowDataModel?.relateData?.postComment?.isEmpty ?? true) {
                 
                 var height : CGFloat?
-                for communityFollowPostCommentModel in (communityFollowDataModel.relateData?.postComment!.prefix(2))! {
+                for communityFollowPostCommentModel in (communityFollowDataModel?.relateData?.postComment!.prefix(2))! {
                     
                     let nameStr = "\(communityFollowPostCommentModel.username ?? ""):"
                     let contentStr = "\(communityFollowPostCommentModel.content ?? "")"
@@ -620,7 +629,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
                     height = (height ?? 0) + strHeight + 4
                 }
                 
-                if (communityFollowDataModel.relateData?.commentCount ?? 0) <= 2 {
+                if (communityFollowDataModel?.relateData?.commentCount ?? 0) <= 2 {
                     return (height ?? 0)
                 }else {
                     return 23 + (height ?? 0)
@@ -637,24 +646,24 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
         
-        if  communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
+        if  (communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) {
             return 0
-        }else  if communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty {
+        }else  if (communityFollowDataModels?.isEmpty ?? true) && !(cmsMemberModels?.isEmpty ?? true) {
             return 191
-        }else  if !communityFollowDataModels.isEmpty && cmsMemberModels.isEmpty {
-            let communityFollowDataModel = communityFollowDataModels[indexPath.section]
-            if CommunityFollowType(rawValue:communityFollowDataModel.type ?? "1") == .post {
+        }else  if !(communityFollowDataModels?.isEmpty ?? true) && (cmsMemberModels?.isEmpty ?? true) {
+            let communityFollowDataModel = communityFollowDataModels?[indexPath.section]
+            if CommunityFollowType(rawValue:communityFollowDataModel?.type ?? "1") == .post {
                 return postCellHeight(indexPath: indexPath, communityFollowDataModel: communityFollowDataModel)
             }else {
                 return followStatusHeight(communityFollowDataModel: communityFollowDataModel)
             }
             
-        }else if !communityFollowDataModels.isEmpty && !cmsMemberModels.isEmpty  {
+        }else if !(communityFollowDataModels?.isEmpty ?? true) && !(cmsMemberModels?.isEmpty ?? true)  {
             if indexPath.section == 0 {
                 return 191
             }else {
-                let communityFollowDataModel = communityFollowDataModels[indexPath.section - 1]
-                if CommunityFollowType(rawValue: communityFollowDataModel.type ?? "1") == .post {
+                let communityFollowDataModel = communityFollowDataModels?[indexPath.section - 1]
+                if CommunityFollowType(rawValue: communityFollowDataModel?.type ?? "1") == .post {
                     return postCellHeight(indexPath: indexPath, communityFollowDataModel: communityFollowDataModel)
                     
                 }else {
@@ -669,7 +678,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
         switch section {
         case 0:
-            if !cmsMemberModels.isEmpty {
+            if !(cmsMemberModels?.isEmpty ?? true) {
                 return 62
             }
             return 0.000001
@@ -681,7 +690,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
         switch section {
         case 0:
-            if !cmsMemberModels.isEmpty {
+            if !(cmsMemberModels?.isEmpty ?? true) {
                 return 20
             }
             return 10
@@ -693,7 +702,7 @@ extension CommunityFollowViewController : UITableViewDelegate,UITableViewDataSou
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
         switch section {
         case 0:
-            if !cmsMemberModels.isEmpty {
+            if !(cmsMemberModels?.isEmpty ?? true) {
                 let headerView = CommunityCommonSectionHeaderView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 62))
                 headerView.communityCommonSectionHeaderViewType = .recommendFollow
                 return headerView

+ 2 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/Community/ViewController/Recommend/CommunityRecommnendViewController.swift

@@ -189,7 +189,8 @@ extension CommunityRecommnendViewController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityRecommendFeedModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
         
     }

+ 3 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFeaturedTopics/ViewController/CommunityFeaturedTopicsViewController.swift

@@ -336,8 +336,9 @@ extension CommunityFeaturedTopicsViewController {
             self?.tableView.reloadData()
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityRecommendFeedModel?.pagination)
         }) {
-            [weak self] _ in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            [weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
     }
     

+ 2 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityFindFriends/ViewController/CommunityFindFriendsViewController.swift

@@ -101,7 +101,8 @@ extension CommunityFindFriendsViewController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView:  self?.tableView)
         }) {
             [weak self] loadingStatus in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView:  self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
     }
     

+ 4 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityMyFollowTopic/ViewController/CommunityMyFollowTopicController.swift

@@ -76,8 +76,10 @@ extension CommunityMyFollowTopicController {
                 self?.communityMemberFollowTopicListDataModels = (self?.communityMemberFollowTopicListDataModels)! + (communityMemberFollowTopicListModel?.data!)!
                 self?.tableView.reloadData()
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination:communityMemberFollowTopicListModel?.pagination)
-        }) {[weak self] _ in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+        }) {[weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
 }

+ 12 - 3
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityRecommendDetail/Controller/CommunityRecommendController.swift

@@ -63,7 +63,7 @@ class CommunityRecommendController: BaseViewController {
         tableView.snp.makeConstraints { (make) in
             make.top.equalToSuperview().offset(kNavBarTotalHeight)
             make.left.right.equalToSuperview()
-            make.bottom.equalTo(commentView.snp_top).offset(0)
+            make.bottom.equalToSuperview()
         }
     }
     
@@ -346,6 +346,13 @@ extension CommunityRecommendController {
     /// 帖子内容
     func communityPostDetailApi() {
         SwiftMoyaNetWorkServiceCommunity.shared().communityPostDetailApi(id: id, completion: { [weak self] (communityPostDetailModel) -> (Void) in
+            
+            self?.tableView.snp.remakeConstraints { (make) in
+                make.top.equalToSuperview().offset(kNavBarTotalHeight)
+                make.left.right.equalToSuperview()
+                make.bottom.equalTo((self?.commentView.snp_top)!).offset(0)
+            }
+            
             DIYEmptyView.emptyNoDataActionTableView(tableView: self?.tableView, imageStr: .three, detailStr: .three, btnTitleStr: .two, btnClickBlock: {
                 self?.tabBarController?.selectedIndex = 0
                 self?.navigationController?.popToRootViewController(animated: true)
@@ -401,7 +408,8 @@ extension CommunityRecommendController {
             self?.tableView.reloadData()
             self?.readVirueRecordAddApi()
         }) { [weak self] loadingStatus in
-            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
     }
     
@@ -455,7 +463,8 @@ extension CommunityRecommendController {
 
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
     }
     

+ 3 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunitySubComment/ViewController/CommunitySubCommentController.swift

@@ -118,8 +118,9 @@ extension CommunitySubCommentController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityPostReplysModel?.pagination)
 
         }) {
-            [weak self] loadingStauts in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            [weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         }
     }
     

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityVideoContent/View/CommunityAllCommentView.swift

@@ -294,8 +294,8 @@ extension CommunityAllCommentView {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityPostCommentsModel?.pagination)
             
         }) {
-            [weak self] loadingStaus in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            [weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus:loadingStatus)
         }
     }
     

+ 3 - 1
RainbowPlanet/RainbowPlanet/Modules/CommunityModule/CommunityVideoSubCommentController/CommunityVideoSubCommentController.swift

@@ -115,7 +115,9 @@ extension CommunityVideoSubCommentController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: communityPostReplysModel?.pagination)
         }) {
             [weak self] loadingStatus in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
     

+ 3 - 1
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessageList/ViewController/MessageListController.swift

@@ -112,7 +112,9 @@ extension MessageListController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination:messageListModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
 }

+ 3 - 1
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetActivity/Controller/MessagePlanetActivityController.swift

@@ -83,7 +83,9 @@ extension MessagePlanetActivityController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,pagination: messageListModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
 }

+ 3 - 1
RainbowPlanet/RainbowPlanet/Modules/MessageModule/MessagePlanetNotification/Controller/MessagePlanetNotiController.swift

@@ -77,7 +77,9 @@ extension MessagePlanetNotiController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,pagination: messageListModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
 }

+ 5 - 2
RainbowPlanet/RainbowPlanet/Modules/MineModule/MyFollowAndFan/ViewController/MyFollowAndFanViewController.swift

@@ -117,7 +117,8 @@ extension MyFollowAndFanViewController {
 
         }, fail: {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
         })
     }
     
@@ -143,7 +144,9 @@ extension MyFollowAndFanViewController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: userFansModel?.pagination)
         }, fail: {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         })
     }
     

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherHeaderView.swift

@@ -48,7 +48,7 @@ class PersonViewUserAndOtherHeaderView: BaseView {
         titleLabel.snp_makeConstraints { (make) in
             make.bottom.equalTo(subtitleLabel.snp_top).offset(-10)
             make.left.equalTo(14)
-            make.right.equalTo(-100)
+            make.right.equalTo(avatarButton.snp.left).offset(-15)
         }
         subtitleLabel.snp_makeConstraints { (make) in
             make.bottom.equalTo(followNumberButton.snp_top).offset(-30)

+ 3 - 2
RainbowPlanet/RainbowPlanet/Modules/MineModule/PersonalCenter/PersonalCenterView/PersonViewUserAndOtherListView.swift

@@ -107,8 +107,9 @@ extension PersonViewUserAndOtherListView {
             self?.collectionView.reloadData()
             MJRefreshManager.hiddenHeaderWithFooter(collectionView: self?.collectionView, pagination: communityPostMyModel?.pagination)
         }) {
-            [weak self] _ in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(collectionView: self?.collectionView)
+            [weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(collectionView: self?.collectionView,loadingStatus: loadingStatus)
+
         }
     }
 }

+ 4 - 2
RainbowPlanet/RainbowPlanet/Modules/RedemptionAreaModule/RedemptionArea/ViewController/RedemptionAreaViewController.swift

@@ -89,8 +89,10 @@ extension RedemptionAreaViewController {
             self?.tableView.reloadData()
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView)
         }) {
-            [weak self] loadingStaus in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            [weak self] loadingStatus in
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
+
+            
         }
     }
     

+ 3 - 1
RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchContentList/ViewController/SearchContentListViewController.swift

@@ -104,7 +104,9 @@ extension SearchContentListViewController {
             MJRefreshManager.hiddenHeaderWithFooter(collectionView: self?.collectionView, pagination: communityPostsModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(collectionView: self?.collectionView)
+            MJRefreshManager.hiddenHeaderWithFooter(collectionView: self?.collectionView,loadingStatus: loadingStatus)
+
+            
         }
     }
     

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchTopicList/ViewController/SearchTopicListViewController.swift

@@ -84,7 +84,7 @@ extension SearchTopicListViewController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: self?.communityTopicsModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
         }
 
     }

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/SearchModule/SearchUser/ViewController/SearchUserListViewController.swift

@@ -102,7 +102,7 @@ extension SearchUserListViewController {
             MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView, pagination: searchMemberListModel?.pagination)
         }) {
             [weak self] (loadingStatus) in
-            MJRefreshManager.hiddenHeaderWithFooterNONetWork(tableView: self?.tableView)
+            MJRefreshManager.hiddenHeaderWithFooter(tableView: self?.tableView,loadingStatus: loadingStatus)
         }
     }
     

+ 10 - 15
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCMS/SwiftMoyaNetWorkServiceCMS.swift

@@ -32,11 +32,10 @@ class SwiftMoyaNetWorkServiceCMS: NSObject {
         let loacationModel = LocationModel.shared().object()
         let baiduToCityModel = BaiduToCityFactory.shared.query(bjcityId: loacationModel!.cityCode)
         parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
-        SwiftMoyaNetWorkManager.shared.requestArrayObject(CMSTemplateModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetTemplateName(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestArrayObject(CMSTemplateModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetTemplateName(parameters: parameters)), completion: {
             (cmsTemplateModels) in
             completion(cmsTemplateModels)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -50,11 +49,10 @@ class SwiftMoyaNetWorkServiceCMS: NSObject {
         let baiduToCityModel = BaiduToCityFactory.shared.query(bjcityId: loacationModel!.cityCode)
         parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
         parameters.updateValue(type, forKey: "type")
-        SwiftMoyaNetWorkManager.shared.requestObject(CMSModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetPreview(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestObject(CMSModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetPreview(parameters: parameters)), completion: {
             (cmsModel) in
             completion(cmsModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -65,11 +63,10 @@ class SwiftMoyaNetWorkServiceCMS: NSObject {
     func cmsTemplateSetProductListApi(subjectId:String = "",completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(subjectId, forKey: "subject_id")
-        SwiftMoyaNetWorkManager.shared.requestArrayObject(ProductSearchModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetProductList(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestArrayObject(ProductSearchModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateSetProductList(parameters: parameters)), completion: {
             (productSearchModels) in
             completion(productSearchModels)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -84,11 +81,10 @@ class SwiftMoyaNetWorkServiceCMS: NSObject {
 
         parameters.updateValue(takeCount, forKey: "take_count")
 
-        SwiftMoyaNetWorkManager.shared.requestObject(CMSMemberListModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsMemberList(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestObject(CMSMemberListModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsMemberList(parameters: parameters)), completion: {
             (cmsMemberListModel) in
             completion(cmsMemberListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -100,11 +96,10 @@ class SwiftMoyaNetWorkServiceCMS: NSObject {
     ///   - completion: 回调
     func cmsTemplateExchangeApi(completion: @escaping successCallBack,fail: @escaping failCallback) {
         let parameters = Dictionary<String,Any>()
-        SwiftMoyaNetWorkManager.shared.requestObject(CMSRedemptionAreaModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateExchange(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestObject(CMSRedemptionAreaModel.self,target: MultiTarget(SwiftMoyaServiceCMSApi.cmsTemplateExchange(parameters: parameters)), completion: {
             (cmsRedemptionAreaModel) in
             completion(cmsRedemptionAreaModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }

+ 55 - 79
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCommunity/SwiftMoyaNetWorkServiceCommunity.swift

@@ -30,10 +30,9 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
     func communityTopicCategoryApi(isSuggest:Int = 0,completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(isSuggest, forKey: "is_suggest")
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicCategoryModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopicCategory(parameters: parameters))) { (communityTopicCategoryModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicCategoryModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopicCategory(parameters: parameters)), completion: { (communityTopicCategoryModel) in
             completion(communityTopicCategoryModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -47,10 +46,9 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
     func communityMemberFollowTopicApi(topicGroupIds:String = "",completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(topicGroupIds, forKey: "topic_group_ids")
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopic(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopic(parameters: parameters)), completion: { (data) in
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -67,11 +65,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(uid, forKey: "uid")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostMyModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostMy(parameters: parameters))) { (communityPostMyModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostMyModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostMy(parameters: parameters)), completion: { (communityPostMyModel) in
             
             completion(communityPostMyModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -91,11 +88,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(name, forKey: "name")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicsModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopics(parameters: parameters))) { (communityTopicsModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicsModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopics(parameters: parameters)), completion: { (communityTopicsModel) in
             
             completion(communityTopicsModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -114,11 +110,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(topicIds, forKey: "topic_ids")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostsModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPosts(parameters: parameters))) { (communityPostsModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostsModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPosts(parameters: parameters)), completion: { (communityPostsModel) in
             
             completion(communityPostsModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -149,11 +144,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(location, forKey: "location")
         parameters.updateValue(imgs, forKey: "imgs")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPublishModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPublish(parameters: parameters))) { (CommunityPublishModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPublishModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPublish(parameters: parameters)), completion: { (CommunityPublishModel) in
             
             completion(CommunityPublishModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -170,12 +164,11 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
             var parameters = Dictionary<String,Any>()
             parameters.updateValue(postId, forKey: "id")
             
-            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityDelete(parameters: parameters))) { (data) in
+            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityDelete(parameters: parameters)), completion: { (data) in
                 SwiftProgressHUD.shared().showText("删除成功")
                 NotificationCenter.default.post(name: NSNotification.Name("communityDeletePostApi"), object: postId)
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         })
@@ -198,11 +191,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(filename, forKey: "filename")
         parameters.updateValue(cover_url, forKey: "cover_url")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityVideoAuthModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityVideoUploadAuth(parameters: parameters))) { (communityVideoAuthModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityVideoAuthModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityVideoUploadAuth(parameters: parameters)), completion: { (communityVideoAuthModel) in
             
             completion(communityVideoAuthModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -215,11 +207,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         let parameters = Dictionary<String,Any>()
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityImageAuthModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityImageUploadAuth(parameters: parameters))) { (CommunityImageAuthModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityImageAuthModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityImageUploadAuth(parameters: parameters)), completion: { (CommunityImageAuthModel) in
             
             completion(CommunityImageAuthModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -238,11 +229,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(topicId, forKey: "topicId")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityVideoListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityVideoList(parameters: parameters))) { (communityVideoListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityVideoListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityVideoList(parameters: parameters)), completion: { (communityVideoListModel) in
             
             completion(communityVideoListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -264,15 +254,15 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(uid, forKey: "uid")
         
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityUploadMusic(parameters: parameters))) { (rootModel) in
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityUploadMusic(parameters: parameters)), completion: { (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
-            if rootModel.code == 0 {                
+            if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
+
     }
     
     // MARK: - 热门推荐音乐列表
@@ -285,11 +275,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendMusicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityRecMusicList(parameters: parameters))) { (communityRecommendMusicListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendMusicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityRecMusicList(parameters: parameters)), completion: { (communityRecommendMusicListModel) in
             
             completion(communityRecommendMusicListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -303,11 +292,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
     func communityGetMusicCategoryApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityMusicCategoryListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityGetMusicCategory(parameters: parameters))) { (communityMusicCategoryListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityMusicCategoryListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityGetMusicCategory(parameters: parameters)), completion: { (communityMusicCategoryListModel) in
             
             completion(communityMusicCategoryListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -324,11 +312,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(categoryID, forKey: "category_id")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendMusicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityCateMusicList(parameters: parameters))) { (communityMusicListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendMusicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityCateMusicList(parameters: parameters)), completion: { (communityMusicListModel) in
             
             completion(communityMusicListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -342,11 +329,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
     func communityFollowFeedApi(page:Int = 1,completion: @escaping successCallBack,fail: @escaping failCallback) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(page, forKey: "page")
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityFollowFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityFollowFeed(parameters: parameters))) {  (communityFollowFeedModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityFollowFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityFollowFeed(parameters: parameters)), completion: {  (communityFollowFeedModel) in
             
             completion(communityFollowFeedModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -363,11 +349,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostSuggest(parameters: parameters))) {  (communityRecommendFeedModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostSuggest(parameters: parameters)), completion: {  (communityRecommendFeedModel) in
             
             completion(communityRecommendFeedModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -383,11 +368,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicDetailModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopicDetail(parameters: parameters))) {  (communityTopicDetailModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityTopicDetailModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityTopicDetail(parameters: parameters)), completion: {  (communityTopicDetailModel) in
             
             completion(communityTopicDetailModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -404,11 +388,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(page, forKey: "page")
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostTopic(parameters: parameters))) {  (communityRecommendFeedModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityRecommendFeedModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostTopic(parameters: parameters)), completion: {  (communityRecommendFeedModel) in
             
             completion(communityRecommendFeedModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -426,11 +409,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(page, forKey: "page")
         parameters.updateValue(name, forKey: "name")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityMemberFollowTopicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicList(parameters: parameters))) {  (communityMemberFollowTopicListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityMemberFollowTopicListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicList(parameters: parameters)), completion: {  (communityMemberFollowTopicListModel) in
             
             completion(communityMemberFollowTopicListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -446,11 +428,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(topicId, forKey: "topic_id")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicFollow(parameters: parameters))) {  (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicFollow(parameters: parameters)), completion: {  (data) in
             
             completion(data)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -465,11 +446,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(topicId, forKey: "topic_id")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicCancelFollow(parameters: parameters))) {  (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityMemberFollowTopicCancelFollow(parameters: parameters)), completion: {  (data) in
             
             completion(data)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -485,14 +465,14 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostDetailModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostDetail(parameters: parameters))) {  (communityPostDetailModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostDetailModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostDetail(parameters: parameters)), completion: {  (communityPostDetailModel) in
             
             completion(communityPostDetailModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
+
     }
     
     
@@ -509,11 +489,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(page, forKey: "page")
         parameters.updateValue(10, forKey: "per_page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostCommentsModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostComments(parameters: parameters))) {  (communityPostCommentsModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostCommentsModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostComments(parameters: parameters)), completion: {  (communityPostCommentsModel) in
             
             completion(communityPostCommentsModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -531,11 +510,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         parameters.updateValue(postId, forKey: "id")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostReplysModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostReply(parameters: parameters))) {  (communityPostReplysModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostReplysModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostReply(parameters: parameters)), completion: {  (communityPostReplysModel) in
             
             completion(communityPostReplysModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -552,11 +530,10 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters = communityCustomCommnetModel.toJSON()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostCommentIdModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostComment(parameters: parameters))) {  (communityPostCommentIdModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityPostCommentIdModel.self,target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostComment(parameters: parameters)), completion: {  (communityPostCommentIdModel) in
             
             completion(communityPostCommentIdModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -575,10 +552,9 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
             var parameters = Dictionary<String,Any>()
             parameters.updateValue(id, forKey: "id")
             
-            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostDeleteComment(parameters: parameters))) { (data) in
+            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityPostDeleteComment(parameters: parameters)), completion: { (data) in
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         })

+ 17 - 22
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceConfig/SwiftMoyaNetWorkServiceConfig.swift

@@ -25,11 +25,10 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
     /// - Parameter completion: 回调
     func configApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
-        SwiftMoyaNetWorkManager.shared.requestObject(ConfigModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configConfig(parameters: parameters))) {(configModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ConfigModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configConfig(parameters: parameters)), completion: {(configModel) in
             ConfigModel.shared.saveObject(configModel: configModel as! ConfigModel)
             completion(configModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -51,11 +50,10 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
         parameters.updateValue(page, forKey: "page")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(SelfMentionAddressListModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configPickupNodeIndex(parameters: parameters))) {(selfMentionAddressListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(SelfMentionAddressListModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configPickupNodeIndex(parameters: parameters)), completion: {(selfMentionAddressListModel) in
             
             completion(selfMentionAddressListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -74,12 +72,11 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
         parameters.updateValue(page, forKey: "page")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OpenCityListModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configCityManagementIndex(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestObject(OpenCityListModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configCityManagementIndex(parameters: parameters)), completion: {
             (selfMentionAddressListModel) in
             
             completion(selfMentionAddressListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -102,12 +99,11 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
             multipartData.append(formData)
         }
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ImageUrlModel.self, target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadSingleImg(parameters: parameters, dataArray: multipartData))) { (imageUrlModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ImageUrlModel.self, target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadSingleImg(parameters: parameters, dataArray: multipartData)), completion: { (imageUrlModel) in
             let imageUrlModel = imageUrlModel as! ImageUrlModel
             
             completion(imageUrlModel.url as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -129,11 +125,10 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
             
             multipartData.append(formData)
         }
-        SwiftMoyaNetWorkManager.shared.requestObject(ImageUrlModel.self, target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadSingleImg(parameters: parameters, dataArray: multipartData))) { (imageUrlModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ImageUrlModel.self, target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadSingleImg(parameters: parameters, dataArray: multipartData)), completion: { (imageUrlModel) in
             let imageUrlModel = imageUrlModel as! ImageUrlModel
             completion(imageUrlModel.url as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -156,11 +151,10 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
             multipartData.append(formData)
         }
         
-        SwiftMoyaNetWorkManager.shared.requestAnyArray(target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadMultiImg(parameters: parameters, dataArray: multipartData))) { (imgUrlArr) in
+        SwiftMoyaNetWorkManager.shared.requestAnyArray(target: MultiTarget(SwiftMoyaServiceConfigApi.configUploadMultiImg(parameters: parameters, dataArray: multipartData)), completion: { (imgUrlArr) in
             
             completion(imgUrlArr)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -169,9 +163,11 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
     func configPosterInviteApi(completion: @escaping successCallBack) {
         let  parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceConfigApi.configPosterInvite(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceConfigApi.configPosterInvite(parameters: parameters)), completion: { (data) in
             
             completion(data)
+        }) {
+            (loadingStatus) in
         }
     }
     
@@ -183,11 +179,10 @@ class SwiftMoyaNetWorkServiceConfig: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue("ios", forKey: "os")
         parameters.updateValue(AppInfo.clientBuildVersion, forKey: "version_code")
-        SwiftMoyaNetWorkManager.shared.requestObject(UpdateVersionModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configUpgrade(parameters: parameters))) { (updateVersionModel) in            
+        SwiftMoyaNetWorkManager.shared.requestObject(UpdateVersionModel.self,target: MultiTarget(SwiftMoyaServiceConfigApi.configUpgrade(parameters: parameters)), completion: { (updateVersionModel) in
             UpdateVersionModel.shared.saveObject(model: updateVersionModel as? UpdateVersionModel ?? UpdateVersionModel())
             completion(updateVersionModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 14 - 21
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceOrder/SwiftMoyaNetWorkServiceOrder.swift

@@ -65,11 +65,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         parameters.updateValue(jsonStr, forKey: "detail")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OrderCreateBackModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderCreate(parameters: parameters))) { (orderCreateBackModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(OrderCreateBackModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderCreate(parameters: parameters)), completion: { (orderCreateBackModel) in
             
             completion(orderCreateBackModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -104,11 +103,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
 
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OrderListModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseOrderList(parameters: parameters))) { (orderListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(OrderListModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseOrderList(parameters: parameters)), completion: { (orderListModel) in
             
             completion(orderListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
 
@@ -124,11 +122,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(purchaseNo, forKey: "purchase_no")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OrderModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseDetail(parameters: parameters))) { (orderModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(OrderModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseDetail(parameters: parameters)), completion: { (orderModel) in
             
             completion(orderModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -143,11 +140,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(refundNo, forKey: "refund_no")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OrderRefundDetailModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefundDetail(parameters: parameters))) { (orderModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(OrderRefundDetailModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefundDetail(parameters: parameters)), completion: { (orderModel) in
             
             completion(orderModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -172,11 +168,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         parameters.updateValue(detail, forKey: "detail")
         parameters.updateValue(imgs, forKey: "imgs")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(OrderApplyRefundModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefund(parameters: parameters))) { (orderApplyRefundModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(OrderApplyRefundModel.self,target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseRefund(parameters: parameters)), completion: { (orderApplyRefundModel) in
             
             completion(orderApplyRefundModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -191,11 +186,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(purchaseId, forKey: "purchase_id")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseConfirm(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseConfirm(parameters: parameters)), completion: { (data) in
             
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -210,11 +204,10 @@ class SwiftMoyaNetWorkServiceOrder: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(patchNum, forKey: "patch_num")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseClose(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceOrderApi.orderPurchaseClose(parameters: parameters)), completion: { (data) in
             SwiftProgressHUD.shared().showText("取消成功")
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 6 - 8
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServicePay/SwiftMoyaNetWorkServicePay.swift

@@ -28,12 +28,11 @@ public class SwiftMoyaNetWorkServicePay: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(paraMdl.patchNum ?? 0, forKey: "patch_num")
         parameters.updateValue(paraMdl.money ?? 0, forKey: "money")
-        
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServicePayApi.alipay(parameters: parameters))) { (orderString) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServicePayApi.alipay(parameters: parameters)), completion: { (orderString) in
             completion(orderString as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
-            (loadingStatus) in
+
+        }) { (loadingStatus) in
+            
         }
     }
 
@@ -46,11 +45,10 @@ public class SwiftMoyaNetWorkServicePay: NSObject {
         parameters.updateValue(paraMdl.patchNum ?? 0, forKey: "patch_num")
         parameters.updateValue(paraMdl.money ?? 0, forKey: "money")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(WeChatpayOrderModel.self, target: MultiTarget(SwiftMoyaServicePayApi.weixinpay(parameters: parameters))) { (weChatpayOrderModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(WeChatpayOrderModel.self, target: MultiTarget(SwiftMoyaServicePayApi.weixinpay(parameters: parameters)), completion: { (weChatpayOrderModel) in
             let weChatpayOrderModel = weChatpayOrderModel as! WeChatpayOrderModel
             completion(weChatpayOrderModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 36 - 52
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceProduct/SwiftMoyaNetWorkServiceProduct.swift

@@ -67,10 +67,9 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         }
 
         SwiftMoyaNetWorkManager.shared
-            .requestObject(ProductSearchListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productSearch(parameters: parameters))) {(productSearchListModel) in
-            completion(productSearchListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+            .requestObject(ProductSearchListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productSearch(parameters: parameters)), completion: {(productSearchListModel) in
+                completion(productSearchListModel)
+            }) {
             (loadingStatus) in
         }
     }
@@ -88,11 +87,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         
         
         SwiftMoyaNetWorkManager.shared
-            .requestObject(CategoryListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCategory(parameters: parameters))) {(categoryListModel) in
+            .requestObject(CategoryListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCategory(parameters: parameters)), completion: {(categoryListModel) in
                 
                 completion(categoryListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
             (loadingStatus) in
         }
     }
@@ -106,10 +104,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
     func productHomeProductApi(ids:String = "",completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(ids, forKey: "ids")
-        SwiftMoyaNetWorkManager.shared.requestArrayObject(ProductModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productHomeProduct(parameters: parameters))) { (productModels) in
+        SwiftMoyaNetWorkManager.shared.requestArrayObject(ProductModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productHomeProduct(parameters: parameters)), completion: { (productModels) in
             completion(productModels)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = { (loadingStatus) in
+        }) {
+            (loadingStatus) in
             completion("")
         }
     }
@@ -124,11 +122,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductDetailModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productDetail(parameters: parameters))) { (productDetailModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductDetailModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productDetail(parameters: parameters)), completion: { (productDetailModel) in
             
             completion(productDetailModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -151,11 +148,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? "0", forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductSearchListModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productHotSale(parameters: parameters))) { (productSearchListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductSearchListModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productHotSale(parameters: parameters)), completion: { (productSearchListModel) in
             
             completion(productSearchListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -170,10 +166,9 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(productId, forKey: "product_id")
         parameters.updateValue(page, forKey: "page")
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductCommentListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCommentList(parameters: parameters))) { (productCommentListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductCommentListModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCommentList(parameters: parameters)), completion: { (productCommentListModel) in
             completion(productCommentListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -195,11 +190,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? "0", forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductCartListData.self, target: MultiTarget(SwiftMoyaServiceProductApi.productCartList(parameters: parameters))) { (productCartListData) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductCartListData.self, target: MultiTarget(SwiftMoyaServiceProductApi.productCartList(parameters: parameters)), completion: { (productCartListData) in
             
             completion(productCartListData)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -235,11 +229,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? 0, forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters))) { (cartAmountModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters)), completion: { (cartAmountModel) in
             
             completion(cartAmountModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -276,11 +269,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? 0, forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters))) { (cartAmountModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters)), completion: { (cartAmountModel) in
             
             completion(cartAmountModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -316,11 +308,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? 0, forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters))) { (cartAmountModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self,target: MultiTarget(SwiftMoyaServiceProductApi.productCartAdd(parameters: parameters)), completion: { (cartAmountModel) in
             
             completion(cartAmountModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -337,13 +328,12 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(id, forKey: "id")
         
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartDelete(parameters: parameters))) { (rootModel) in
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartDelete(parameters: parameters)), completion: { (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg ?? "信息有误!!!")
             if rootModel.code  == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -361,11 +351,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(type, forKey: "type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productCartAmount(parameters: parameters))) { (cartAmountModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(CartAmountModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productCartAmount(parameters: parameters)), completion: { (cartAmountModel) in
             
             completion(cartAmountModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -389,13 +378,12 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? "0", forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartIsSel(parameters: parameters))) { (rootModel) in
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartIsSel(parameters: parameters)), completion: { (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -418,13 +406,12 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(deliver_type ?? "2", forKey: "deliver_type")
         
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartAllSel(parameters: parameters))) { (rootModel) in
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceProductApi.productCartAllSel(parameters: parameters)), completion: { (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -437,11 +424,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
     func productRefundReasonApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductRefundReasonModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productRefundReason(parameters: parameters))) { (refundReasonModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductRefundReasonModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productRefundReason(parameters: parameters)), completion: { (refundReasonModel) in
             
             completion(refundReasonModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -482,11 +468,10 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         parameters.updateValue(jsonStr, forKey: "content")
                 
         
-        SwiftMoyaNetWorkManager.shared.requestAnyArray(target: MultiTarget(SwiftMoyaServiceProductApi.productAddComment(parameters: parameters))) { (dataArr) in
+        SwiftMoyaNetWorkManager.shared.requestAnyArray(target: MultiTarget(SwiftMoyaServiceProductApi.productAddComment(parameters: parameters)), completion: { (dataArr) in
             
             completion(dataArr)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -506,10 +491,9 @@ class SwiftMoyaNetWorkServiceProduct: NSObject {
         // 本地获取deliver_type
         let deliver_type = DeliveryMethodTypeModel.shared().getModel()?.deliveryMethodType
         parameters.updateValue(deliver_type ?? "2", forKey: "deliver_type")
-        SwiftMoyaNetWorkManager.shared.requestObject(ProductCartCountModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productGetCartCount(parameters: parameters))) { (productCartCountModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ProductCartCountModel.self, target: MultiTarget(SwiftMoyaServiceProductApi.productGetCartCount(parameters: parameters)), completion: { (productCartCountModel) in
             completion(productCartCountModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 2 - 3
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceSMS/SwiftMoyaNetWorkServiceSMS.swift

@@ -35,10 +35,9 @@ class SwiftMoyaNetWorkServiceSMS: NSObject {
         parameters.updateValue(smsType, forKey: "sms_type")
         parameters.updateValue(AppInfo.ipAddress, forKey: "ip")
 
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceSMSApi.smsSend(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceSMSApi.smsSend(parameters: parameters)), completion: { (data) in
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 2 - 3
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceShop/SwiftMoyaNetWorkServiceShop.swift

@@ -28,11 +28,10 @@ class SwiftMoyaNetWorkServiceShop: NSObject {
     func shopViewApi(shopId:Int = 0 ,completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(shopId, forKey: "id")
-        SwiftMoyaNetWorkManager.shared.requestObject(ShopModel.self,target: MultiTarget(SwiftMoyaServiceShopApi.shopView(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestObject(ShopModel.self,target: MultiTarget(SwiftMoyaServiceShopApi.shopView(parameters: parameters)), completion: {
             (shopModel) in
             completion(shopModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 87 - 113
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceUser/SwiftMoyaNetWorkServiceUser.swift

@@ -42,13 +42,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(gender, forKey: "gender")
         parameters.updateValue(loginType.rawValue, forKey: "login_type")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userWeiXinRegister(parameters: parameters))) { (userModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userWeiXinRegister(parameters: parameters)), completion: { (userModel) in
             UserModel.shared().setModel(model: userModel as! UserModel)
+            VirusViewModel.registeredVirueRecordAddApi(completion: {})
             let userModel = userModel as! UserModel
             
             completion(userModel as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -68,12 +68,12 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(sms_code, forKey: "sms_code")
             parameters.updateValue(invitationCode, forKey: "invite_code")
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileRegister(parameters: parameters))) { (userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileRegister(parameters: parameters)), completion: { (userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
-                
+                VirusViewModel.registeredVirueRecordAddApi(completion: {})
+
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -94,12 +94,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(mobile, forKey: "mobile")
             parameters.updateValue(password, forKey: "password")
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileLogin(parameters: parameters))) { (userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileLogin(parameters: parameters)), completion: { (userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
                 
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -113,12 +112,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userRefreshApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userRefresh(parameters: parameters))) { (userModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userRefresh(parameters: parameters)), completion: { (userModel) in
             UserModel.shared().setModel(model: userModel as! UserModel)
             
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -130,11 +128,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     ///   - completion: 回调
     func userLogoutApi() {
         let parameters = Dictionary<String,Any>()
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userLogout(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userLogout(parameters: parameters)), completion: { (data) in
             // 设置友盟别名
             kAppDelegate.setLoginOut()
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -159,12 +156,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(invitationCode, forKey: "invite_code")
             
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindMobile(parameters: parameters))) { (userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindMobile(parameters: parameters)), completion: { (userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
                 
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -184,11 +180,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(mobile, forKey: "mobile")
             parameters.updateValue(smsCode, forKey: "sms_code")
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userchangeBindMobile(parameters: parameters))) { (userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userchangeBindMobile(parameters: parameters)), completion: { (userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -208,22 +203,22 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(umLoginModel.open_id, forKey: "open_id")
         
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userIsBindWeixin(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userIsBindWeixin(parameters: parameters)), completion: {
             [weak self] (rootModel) in
             if rootModel.code == 0 {
                 
-
+                
                 self?.userBindTripartiteApi(loginType:loginType, mobile: UserModel.shared().getModel()?.mobile ?? "", umLoginModel: umLoginModel, completion: completion)
-
+                
             }else if rootModel.code == 1 {
-
+                
                 var nameStr : String = "微信"
                 if loginType == .weixin {
                     nameStr = "微信"
                 }else if loginType == .qq {
                     nameStr = "QQ"
                 }
-
+                
                 AlertSheetView.alert(title: rootModel.msg ?? "此\(nameStr)号被其他账号绑定,是否要将此\(nameStr)号绑定至本账号,并解绑另一起账号?", cancelTitle: "取消", sureTitle: "确认", cancelBlock: { (popupView, index, string) in
                     
                 }, confirmBlock: { (popupView, index, string) in
@@ -232,20 +227,19 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
                     }, confirmBlock: {
                         [weak self] (popupView, index, string) in
                         self?.userBindTripartiteApi(loginType:loginType,mobile: UserModel.shared().getModel()?.mobile ?? "", umLoginModel: umLoginModel, completion: completion)
-
+                        
                     })
                 })
             }else {
                 SwiftProgressHUD.shared().showText(rootModel.msg ?? "信息有误")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
     
-    // MARK: - 绑定手号
-    /// 绑定手机号
+    // MARK: - 绑定第三方
+    /// 绑定第三方
     ///
     /// - Parameters:w
     ///   - mobile: 手机号
@@ -264,12 +258,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(umLoginModel.gender, forKey: "gender")
             
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindWeixin(parameters: parameters))) { (userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userBindWeixin(parameters: parameters)), completion: { (userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
                 
                 completion("")
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -292,13 +285,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             SwiftProgressHUD.shared().showText("暂时不可以解绑,请先绑定手机号")
         }else {
             
-            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userUnbindWeixin(parameters: parameters))) {(userModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userUnbindWeixin(parameters: parameters)), completion: {(userModel) in
                 UserModel.shared().setModel(model: userModel as! UserModel)
                 
                 completion("")
-            }
-            
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -321,7 +312,7 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(password_confirmation, forKey: "password_confirmation")
             
             
-            SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetPassword(parameters: parameters))) {(rootModel) in
+            SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetPassword(parameters: parameters)), completion: {(rootModel) in
                 SwiftProgressHUD.shared().showText(rootModel.msg!)
                 if rootModel.code == 0 {
                     let userModel = UserModel.shared().getModel()
@@ -330,8 +321,7 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
                     UserModel.shared().setModel(model: userModel!)
                     completion("")
                 }
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -351,11 +341,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(baiduToCityModel.areaCode, forKey: "city_id")
         parameters.updateValue(type, forKey: "type")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(AddressManagerListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userSelfAddressList(parameters: parameters))) {(addressManagerListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(AddressManagerListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userSelfAddressList(parameters: parameters)), completion: {(addressManagerListModel) in
             
             completion(addressManagerListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -392,13 +381,12 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             parameters.updateValue(expressAddresModel.address ?? "", forKey: "address")
             
             
-            SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddExpressAddress(parameters: parameters))) {(rootModel) in
+            SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddExpressAddress(parameters: parameters)), completion: {(rootModel) in
                 SwiftProgressHUD.shared().showText(rootModel.msg!)
                 if rootModel.code == 0 {
                     completion("")
                 }
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -415,7 +403,7 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressIsDefault(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressIsDefault(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
@@ -424,6 +412,8 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             SwiftMoyaNetWorkManager.shared.failCallback = {
                 (loadingStatus) in
             }
+        }) {
+            (loadingStatus) in
         }
     }
     
@@ -436,14 +426,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressDelete(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddressDelete(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -455,11 +444,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userExpreesContactsListApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ContactListModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userExpreesContactsList(parameters: parameters))) { (contactListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ContactListModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userExpreesContactsList(parameters: parameters)), completion: { (contactListModel) in
             
             completion(contactListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -471,11 +459,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userDefaultExpressApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(ExpressAddresModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultExpress(parameters: parameters))) { (expressAddrModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(ExpressAddresModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultExpress(parameters: parameters)), completion: { (expressAddrModel) in
             
             completion(expressAddrModel as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -487,11 +474,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userDefaultContactApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(SelfMentionContactsModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultContact(parameters: parameters))) {(contactMdl) in
+        SwiftMoyaNetWorkManager.shared.requestObject(SelfMentionContactsModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userDefaultContact(parameters: parameters)), completion: {(contactMdl) in
             
             completion(contactMdl as Any)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -517,12 +503,14 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
                 parameters.updateValue(mobile, forKey: "mobile")
                 parameters.updateValue(name, forKey: "name")
                 
-                SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSaveExpreesContacts(parameters: parameters))) {
+                SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSaveExpreesContacts(parameters: parameters)), completion: {
                     (rootModel) in
                     SwiftProgressHUD.shared().showText(rootModel.msg!)
                     if rootModel.code == 0 {
                         completion("")
                     }
+                }) {
+                    (loadingStatus) in
                 }
             }
         }        
@@ -538,14 +526,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userDelExpreesContacts(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userDelExpreesContacts(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -560,14 +547,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(id, forKey: "id")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetExpreesContactsDefault(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetExpreesContactsDefault(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -586,14 +572,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(pickupNodeId, forKey: "pickup_node_id")
         parameters.updateValue(address, forKey: "address")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddSelfAddress(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userAddSelfAddress(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -608,7 +593,7 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(deliveryMethodType, forKey: "deliver_type")
         
-        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetDeliverType(parameters: parameters))) {
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceUserApi.userSetDeliverType(parameters: parameters)), completion: {
             (rootModel) in
             SwiftProgressHUD.shared().showText(rootModel.msg!)
             if rootModel.code == 0 {
@@ -618,8 +603,7 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
                 DeliveryMethodTypeModel.shared().setModel(model: model!)
                 completion("")
             }
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -633,14 +617,15 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userGenderApi(gender:Int = 0,completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(gender, forKey: "gender")
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userMemberUpdateGender(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestObject(SetGenderModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberUpdateGender(parameters: parameters)), completion: { (data) in
+            let setGenderModel = data as? SetGenderModel
             // 设置成功更新本地存储数据
             let model = UserModel.shared().getModel()
             model?.gender = gender
+            model?.avatarurl = setGenderModel?.avatar
             UserModel.shared().setModel(model: model!)
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -653,11 +638,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(uid, forKey: "uid")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(UserDetailModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userMemberDetail(parameters: parameters))) { (userDetailModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserDetailModel.self, target: MultiTarget(SwiftMoyaServiceUserApi.userMemberDetail(parameters: parameters)), completion: { (userDetailModel) in
             
             completion(userDetailModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -679,15 +663,14 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(userName, forKey: "username")
         parameters.updateValue(signature, forKey: "signature")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userMemberDetailUpDate(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userMemberDetailUpDate(parameters: parameters)), completion: { (data) in
             
             let userModel = UserModel.shared().getModel()
             userModel?.avatarurl = avatar
             userModel?.username = userName
             UserModel.shared().setModel(model: userModel!)
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -701,11 +684,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(uid, forKey: "uid")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(UserFollowsModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFollows(parameters: parameters))) { (userFollowsModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserFollowsModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFollows(parameters: parameters)), completion: { (userFollowsModel) in
             
             completion(userFollowsModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -720,11 +702,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(page, forKey: "page")
         parameters.updateValue(uid, forKey: "uid")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(UserFansModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFans(parameters: parameters))) { (userFansModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserFansModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFans(parameters: parameters)), completion: { (userFansModel) in
             
             completion(userFansModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -745,14 +726,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             var parameters = Dictionary<String,Any>()
             parameters.updateValue(followUid, forKey: "follow_uid")
             
-            SwiftMoyaNetWorkManager.shared.requestObject(FollowStatusModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFollow(parameters: parameters))) { (followStatusModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(FollowStatusModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userFollow(parameters: parameters)), completion: { (followStatusModel) in
                 let followStatusModel = followStatusModel as? FollowStatusModel
                 followStatusModel?.uid = followUid
                 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "followApi"), object: followStatusModel)
                 SwiftProgressHUD.shared().showText("已关注")
                 completion(followStatusModel as Any)
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -772,14 +752,13 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
             var parameters = Dictionary<String,Any>()
             parameters.updateValue(followUid, forKey: "follow_uid")
             
-            SwiftMoyaNetWorkManager.shared.requestObject(FollowStatusModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userCancelFollow(parameters: parameters))) { (followStatusModel) in
+            SwiftMoyaNetWorkManager.shared.requestObject(FollowStatusModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userCancelFollow(parameters: parameters)), completion: { (followStatusModel) in
                 let followStatusModel = followStatusModel as? FollowStatusModel
                 followStatusModel?.uid = followUid
                 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "followApi"), object: followStatusModel)
                 SwiftProgressHUD.shared().showText("已取消关注")
                 completion(followStatusModel as Any)
-            }
-            SwiftMoyaNetWorkManager.shared.failCallback = {
+            }) {
                 (loadingStatus) in
             }
         }
@@ -793,12 +772,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userMemberMessageIndexApi(completion: @escaping successCallBack,fail:@escaping failCallback) {
         let parameters = Dictionary<String,Any>()
         
-        SwiftMoyaNetWorkManager.shared.requestObject(MessageIndexModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberMessageIndex(parameters: parameters))) { (messageIndexModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(MessageIndexModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberMessageIndex(parameters: parameters)), completion: { (messageIndexModel) in
             MessageIndexModel.shared.saveObject(model: messageIndexModel as! MessageIndexModel)
             
             completion(messageIndexModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -816,11 +794,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(messageShowTypes, forKey: "message_show_types")
         parameters.updateValue(page, forKey: "page")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(MessageListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberMessageList(parameters: parameters))) { (messageListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(MessageListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberMessageList(parameters: parameters)), completion: { (messageListModel) in
             
             completion(messageListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -835,11 +812,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(messageShowTypes, forKey: "message_show_types")
         
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userMemberReadMessage(parameters: parameters))) { (data) in
+        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceUserApi.userMemberReadMessage(parameters: parameters)), completion: { (data) in
             
             completion("")
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -853,11 +829,10 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
         parameters.updateValue(page, forKey: "page")
         parameters.updateValue(userName, forKey: "username")
         
-        SwiftMoyaNetWorkManager.shared.requestObject(SearchMemberListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberSearchMember(parameters: parameters))) { (searchMemberListModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(SearchMemberListModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberSearchMember(parameters: parameters)), completion: { (searchMemberListModel) in
             
             completion(searchMemberListModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
             fail(loadingStatus)
         }
@@ -869,10 +844,9 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     /// - Parameter completion: 回调
     func userMemberGetTotalBeanApi(completion: @escaping successCallBack) {
         let parameters = Dictionary<String,Any>()
-        SwiftMoyaNetWorkManager.shared.requestObject(TotalBeanModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberGetTotalBean(parameters: parameters))) { (totalBeanModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(TotalBeanModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMemberGetTotalBean(parameters: parameters)), completion: { (totalBeanModel) in
             completion(totalBeanModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }
@@ -884,11 +858,11 @@ public class SwiftMoyaNetWorkServiceUser: NSObject {
     func userMobileAuthorizationLoginApi(token:String,completion: @escaping successCallBack) {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(token, forKey: "AccessToken")
-        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileAuthorizationLogin(parameters: parameters))) { (userModel) in
+        SwiftMoyaNetWorkManager.shared.requestObject(UserModel.self,target: MultiTarget(SwiftMoyaServiceUserApi.userMobileAuthorizationLogin(parameters: parameters)), completion: { (userModel) in
             UserModel.shared().setModel(model: userModel as! UserModel)
+            VirusViewModel.registeredVirueRecordAddApi(completion: {})
             completion(userModel)
-        }
-        SwiftMoyaNetWorkManager.shared.failCallback = {
+        }) {
             (loadingStatus) in
         }
     }

+ 3 - 1
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceVirus/SwiftMoyaNetWorkServiceVirus.swift

@@ -31,8 +31,10 @@ class SwiftMoyaNetWorkServiceVirus: NSObject {
         if !UserModel.isTokenNil() {
             var parameters = Dictionary<String,Any>()
             parameters = virueRecordAddParameterModel.toJSON()
-            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceVirusApi.virueRecordAdd(parameters: parameters))) {(data) in
+            SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceVirusApi.virueRecordAdd(parameters: parameters)), completion: {(data) in
                 completion("")
+            }) {
+                (loadingStatus) in
             }
         }
         

+ 11 - 6
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/ApiMacro.swift

@@ -29,23 +29,28 @@ public func kApiDataPrefix() -> String {
 }
 
 let kVirusPersonalService = false
-let kVirusDevelopSever = true
+let kVirusDevelopSever = false
 let kVirusBetaSever = false
-let kVirusProductSever = false
+let kVirusProductSever = true
+
 
 // MARK: - Virus
 public func kApiVirusPrefix() -> String {
     if kVirusPersonalService /** 接口前缀-个人服务器*/ {
         return ""
     }else if kVirusDevelopSever /** 接口前缀-开发服务器*/ {
-        return "https://api.dev.caihongxingqiu.com/virus/v2"
+        return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.dev.caihongxingqiu.com/virus") + "/v2")
+//        return "https://api.dev.caihongxingqiu.com/virus/v2"
     } else if kVirusBetaSever /** 接口前缀-测试服务器*/{
-        return "https://api.dev.caihongxingqiu.com/beta/virus/v2"
+        return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.dev.caihongxingqiu.com/beta/virus") + "/v2")
+//        return "https://api.dev.caihongxingqiu.com/beta/virus/v2"
     }else if kVirusProductSever /** 接口前缀-生产服务器*/ {
-        return "https://api.virus.caihongxingqiu.net"
+        return ((ConfigModel.shared.object()?.virusUrl ?? "https://api.virus.caihongxingqiu.net") + "/v2")
+//        return "https://api.virus.caihongxingqiu.net"
     }else {
         return ""
     }
+    
 }
 
 let kH5PersonalService = false
@@ -56,7 +61,7 @@ let kH5ProductSever = false
 // MARK: - H5
 public func kApiH5Prefix() -> String {
     if kH5PersonalService /** 接口前缀-个人服务器*/ {
-        return "http://192.168.23.130:8820" //大黄
+        return ""
     }else if kH5DevelopSever /** 接口前缀-开发服务器*/ {
         return "http://h5.dev.caihongxingqiu.com"
     } else if kH5BetaSever /** 接口前缀-测试服务器*/{

+ 24 - 20
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceManger/SwiftMoyaNetWorkManager/SwiftMoyaNetWorkManager.swift

@@ -24,7 +24,6 @@ import Result
 enum SwiftMoyaNetWorkManagerLoadingStatus {
     case noNetwork
     case noData
-    case Loading
 }
 
 /// 数据回调
@@ -83,26 +82,31 @@ extension SwiftMoyaNetWorkManager {
     
     // MARK: 失败回调有提示没有
     /// 失败回调有提示
-    func failCall() {
+    func failCall(fail:@escaping failCallback) {
+        self.failCallback = fail
         if let failCallback = self.failCallback  {
             failCallback(.noNetwork)
         }
     }
+    // MARK: 失败回调有提示没有
+    /// 失败回调有提示
+    func failNoData(fail:@escaping failCallback) {
+        fail(.noData)
+    }
     
     // MARK: 失败回调有提示
     /// 失败回调有提示
     func failCallShowText() {
-        failCall()
         DispatchQueue.main.async {
             SwiftProgressHUD.shared().showText("网络链接失败,请检查网络")
         }
     }
     // MARK: 网络连接状态
     /// 网络连接状态
-    func networkConnect() {
+    func networkConnect(fail:@escaping failCallback) {
         //判断是否链接网络
         if !isNetworkConnect{
-            failCall()
+            failNoData(fail:fail)
             return
         }
     }
@@ -118,8 +122,8 @@ extension SwiftMoyaNetWorkManager {
     /// - Parameters:
     ///   - target: 请求地址加参数
     ///   - completion: 回调
-    func requestRootModel(target: MultiTarget,completion: @escaping successCallRootModelBack) -> Void {
-        networkConnect()
+    func requestRootModel(target: MultiTarget,completion: @escaping successCallRootModelBack,fail:@escaping failCallback) -> Void {
+        networkConnect(fail: fail)
         provider.rx
             .request(target)
             .mapRootModel()
@@ -128,7 +132,7 @@ extension SwiftMoyaNetWorkManager {
             .subscribe(onSuccess: { [weak self] element in
                 
                 guard let element = element else {
-                    self?.failCall()
+                    self?.failNoData(fail: fail)
                     return
                 }
                 completion(element)
@@ -147,8 +151,8 @@ extension SwiftMoyaNetWorkManager {
     /// - Parameters:
     ///   - target: 请求地址加参数
     ///   - completion: 回调
-    func requestAny(target: MultiTarget,completion: @escaping successCallAnyBack) -> Void {
-        networkConnect()
+    func requestAny(target: MultiTarget,completion: @escaping successCallAnyBack,fail:@escaping failCallback) -> Void {
+        networkConnect(fail: fail)
         provider.rx
             .request(target)
             .mapAnyValue()
@@ -157,7 +161,7 @@ extension SwiftMoyaNetWorkManager {
             .subscribe(onSuccess: { [weak self] element in
 
                 guard let element = element else {
-                    self?.failCall()
+                    self?.failNoData(fail: fail)
                     return
                 }
                 completion(element)
@@ -175,8 +179,8 @@ extension SwiftMoyaNetWorkManager {
     /// - Parameters:
     ///   - target: 请求地址加参数
     ///   - completion: 回调
-    func requestAnyArray(target: MultiTarget,completion: @escaping successCallAnyArrayback) -> Void {
-        networkConnect()
+    func requestAnyArray(target: MultiTarget,completion: @escaping successCallAnyArrayback,fail:@escaping failCallback) -> Void {
+        networkConnect(fail: fail)
         provider.rx
             .request(target)
             .mapAnyArray()
@@ -184,7 +188,7 @@ extension SwiftMoyaNetWorkManager {
             .observeOn(MainScheduler.instance)
             .subscribe(onSuccess: { [weak self] element in
                 guard let element = element else {
-                    self?.failCall()
+                    self?.failNoData(fail: fail)
                     return
                 }
                 completion(element)
@@ -203,8 +207,8 @@ extension SwiftMoyaNetWorkManager {
     ///   - type: 模型
     ///   - target: 请求地址加参数
     ///   - completion: 回调
-    func requestObject<T: BaseMappable>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallObjectBack) -> Void {
-        networkConnect()
+    func requestObject<T: BaseMappable>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallObjectBack,fail:@escaping failCallback) -> Void {
+        networkConnect(fail: fail)
         provider.rx
             .request(target)
             .mapObject(T.self)
@@ -213,7 +217,7 @@ extension SwiftMoyaNetWorkManager {
             .subscribe(onSuccess: { [weak self] element in
 
                 guard let element = element else {
-                    self?.failCall()
+                    self?.failNoData(fail: fail)
                     return
                 }
                 completion(element)
@@ -230,8 +234,8 @@ extension SwiftMoyaNetWorkManager {
     ///   - type: 模型
     ///   - target: 请求地址加参数
     ///   - completion: 回调
-    func requestArrayObject<T: BaseMappable>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallArrayObjectback) -> Void {
-        networkConnect()
+    func requestArrayObject<T: BaseMappable>(_ type: T.Type ,target: MultiTarget,completion: @escaping successCallArrayObjectback,fail:@escaping failCallback) -> Void {
+        networkConnect(fail: fail)
         provider.rx
             .request(target)
             .mapArrayObject(T.self)
@@ -239,7 +243,7 @@ extension SwiftMoyaNetWorkManager {
             .observeOn(MainScheduler.instance)
             .subscribe(onSuccess: { [weak self] element in
                 guard let element = element else {
-                   self?.failCall()
+                    self?.failNoData(fail: fail)
                     return
                 }
                 completion(element)

+ 6 - 1
RainbowPlanet/RainbowPlanet/Tools/Log/Log.swift

@@ -9,6 +9,9 @@
 import Foundation
 
 //封装的日志输出功能(T表示不指定日志信息参数类型)
+
+var isNXLLog = true
+
 func NXLLog<T>(_ message:T, file:String = #file, function:String = #function,
               line:Int = #line) {
     #if DEBUG
@@ -26,7 +29,9 @@ func NXLLog<T>(_ message:T, file:String = #file, function:String = #function,
     //日志内容
     let consoleStr = "\(datestr) \(fileName):\(line) \(function) | \(message)"
     //打印日志内容
-    print(consoleStr)
+    if isNXLLog {
+        print(consoleStr)
+    }
     
     //将内容同步写到文件中去(Caches文件夹下)
     let cachePath = FileManager.default.urls(for: .cachesDirectory,

+ 8 - 8
RainbowPlanet/RainbowPlanet/ViewModel/Community/CommunityFollowUserViewModel.swift

@@ -222,20 +222,20 @@ extension CommunityFollowUserViewModel {
     /// 关注/取消关注
     ///
     /// - Parameter communityRecommendDataModel: 帖子模型
-    func follow(communityFollowDataModel: CommunityFollowDataModel,communityFollowDataModels: Array<CommunityFollowDataModel>,tableView:UITableView) {
-        if communityFollowDataModel.relateData?.isFollow == 0 {//加关注
-            self.userFollow(followUid:  communityFollowDataModel.relateData?.uid ?? 0, completion: { (isFollow) -> Void in
-                for (_,model) in communityFollowDataModels.enumerated() {
-                    if model.relateData?.uid == communityFollowDataModel.relateData?.uid {
+    func follow(communityFollowDataModel: CommunityFollowDataModel?,communityFollowDataModels: Array<CommunityFollowDataModel>?,tableView:UITableView) {
+        if communityFollowDataModel?.relateData?.isFollow == 0 {//加关注
+            self.userFollow(followUid:  communityFollowDataModel?.relateData?.uid ?? 0, completion: { (isFollow) -> Void in
+                for (_,model) in (communityFollowDataModels?.enumerated())! {
+                    if model.relateData?.uid == communityFollowDataModel?.relateData?.uid {
                         model.relateData?.isFollow = isFollow
                         tableView.reloadData()
                     }
                 }
             })
         }else {//取消关注
-            self.userCancelFollow(followUid: communityFollowDataModel.relateData?.uid ?? 0, completion: { (isFollow) -> Void in
-                for (_,model) in communityFollowDataModels.enumerated() {
-                    if model.relateData?.uid == communityFollowDataModel.relateData?.uid {
+            self.userCancelFollow(followUid: communityFollowDataModel?.relateData?.uid ?? 0, completion: { (isFollow) -> Void in
+                for (_,model) in (communityFollowDataModels?.enumerated())! {
+                    if model.relateData?.uid == communityFollowDataModel?.relateData?.uid {
                         model.relateData?.isFollow = isFollow
                         tableView.reloadData()
                     }

+ 62 - 60
RainbowPlanet/RainbowPlanet/ViewModel/Virus/VirusViewModel.swift

@@ -200,30 +200,30 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityRecommendDataModel: 帖子模型
     ///   - completion: 回调
-    private func virueRecordAddApiLike(communityFollowDataModel:CommunityFollowDataModel,completion: @escaping (Int) -> Void) {
+    private func virueRecordAddApiLike(communityFollowDataModel:CommunityFollowDataModel?,completion: @escaping (Int) -> Void) {
         let virueRecordAddParameterModel = VirueRecordAddParameterModel()
         virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.unlike ?? "")
         virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.unlike.rawValue
-        if communityFollowDataModel.relateData?.isDislike == 0 {
+        if communityFollowDataModel?.relateData?.isDislike == 0 {
             virueRecordAddParameterModel.behaviorValue = 1
         }
-        virueRecordAddParameterModel.postId = communityFollowDataModel.relateData?.id
-        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel.relateData?.uid! ?? 0)"
-        if communityFollowDataModel.relateData?.title == nil ||  communityFollowDataModel.relateData?.title == "" {
-            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel.relateData?.content!.prefix(20) ?? "")"
+        virueRecordAddParameterModel.postId = communityFollowDataModel?.relateData?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel?.relateData?.uid! ?? 0)"
+        if communityFollowDataModel?.relateData?.title == nil ||  communityFollowDataModel?.relateData?.title == "" {
+            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel?.relateData?.content!.prefix(20) ?? "")"
 
         }else {
-            virueRecordAddParameterModel.postDesc = communityFollowDataModel.relateData?.title
+            virueRecordAddParameterModel.postDesc = communityFollowDataModel?.relateData?.title
         }
-        virueRecordAddParameterModel.postType = communityFollowDataModel.relateData?.type
-        virueRecordAddParameterModel.postCover = communityFollowDataModel.relateData?.img
-        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel.relateData?.id ?? 0)"
+        virueRecordAddParameterModel.postType = communityFollowDataModel?.relateData?.type
+        virueRecordAddParameterModel.postCover = communityFollowDataModel?.relateData?.img
+        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel?.relateData?.id ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
-            if communityFollowDataModel.relateData?.isDislike == 0 {
+            if communityFollowDataModel?.relateData?.isDislike == 0 {
                 let followStatusModel = FollowStatusModel()
-                followStatusModel.uid = communityFollowDataModel.relateData?.uid!
-                followStatusModel.postId = communityFollowDataModel.relateData?.id
+                followStatusModel.uid = communityFollowDataModel?.relateData?.uid!
+                followStatusModel.postId = communityFollowDataModel?.relateData?.id
                 followStatusModel.isFollowStatus = 1
                 NotificationCenter.default.post(name: NSNotification.Name(rawValue: "unlikeApi"), object: followStatusModel)
                 completion(1)
@@ -236,13 +236,13 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityFollowDataModel: 贴字模型
     ///   - y: 定位置
-    func like(communityFollowDataModel:CommunityFollowDataModel,y:CGFloat,tableView:UITableView) {
-        if communityFollowDataModel.relateData?.isDislike == 0 {//喜欢
+    func like(communityFollowDataModel:CommunityFollowDataModel?,y:CGFloat,tableView:UITableView) {
+        if communityFollowDataModel?.relateData?.isDislike == 0 {//喜欢
             
             CardContentUserDisLikeView.sheetDislike(dislike: 0, y: y) {
                 [weak self] (view:CardContentUserDisLikeView) in
                 self?.virueRecordAddApiLike(communityFollowDataModel: communityFollowDataModel, completion: { (isFollow) in
-                    communityFollowDataModel.relateData?.isDislike = isFollow
+                    communityFollowDataModel?.relateData?.isDislike = isFollow
                     tableView.reloadData()
                 })
             }
@@ -260,34 +260,34 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityRecommendDataModel: 帖子模型
     ///   - completion: 回调
-    func virueRecordAddApiPraise(communityFollowDataModel:CommunityFollowDataModel,completion: @escaping (Int) -> Void) {
+    func virueRecordAddApiPraise(communityFollowDataModel:CommunityFollowDataModel?,completion: @escaping (Int) -> Void) {
         let virueRecordAddParameterModel = VirueRecordAddParameterModel()
         virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.like ?? "")
         virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.like.rawValue
-        if communityFollowDataModel.relateData?.isLike == 0 {
+        if communityFollowDataModel?.relateData?.isLike == 0 {
             virueRecordAddParameterModel.behaviorValue = 1
         }else {
             virueRecordAddParameterModel.behaviorValue = 0
         }
         
-        virueRecordAddParameterModel.postId = communityFollowDataModel.relateData?.id
-        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel.relateData?.uid! ?? 0)"
-        if communityFollowDataModel.relateData?.title == nil ||  communityFollowDataModel.relateData?.title == "" {
-            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel.relateData?.content!.prefix(20) ?? "")"
+        virueRecordAddParameterModel.postId = communityFollowDataModel?.relateData?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel?.relateData?.uid! ?? 0)"
+        if communityFollowDataModel?.relateData?.title == nil ||  communityFollowDataModel?.relateData?.title == "" {
+            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel?.relateData?.content!.prefix(20) ?? "")"
 
         }else {
-            virueRecordAddParameterModel.postDesc = communityFollowDataModel.relateData?.title
+            virueRecordAddParameterModel.postDesc = communityFollowDataModel?.relateData?.title
         }
-        virueRecordAddParameterModel.postType = communityFollowDataModel.relateData?.type
-        virueRecordAddParameterModel.postCover = communityFollowDataModel.relateData?.img
-        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel.relateData?.id ?? 0)"
+        virueRecordAddParameterModel.postType = communityFollowDataModel?.relateData?.type
+        virueRecordAddParameterModel.postCover = communityFollowDataModel?.relateData?.img
+        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel?.relateData?.id ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
             let followStatusModel = FollowStatusModel()
-            followStatusModel.uid = communityFollowDataModel.relateData?.uid!
-            followStatusModel.postId = communityFollowDataModel.relateData?.id
+            followStatusModel.uid = communityFollowDataModel?.relateData?.uid!
+            followStatusModel.postId = communityFollowDataModel?.relateData?.id
 
-            if communityFollowDataModel.relateData?.isLike == 0 {
+            if communityFollowDataModel?.relateData?.isLike == 0 {
                 followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
@@ -303,19 +303,19 @@ extension VirusViewModel {
     ///
     /// - Parameters:
     ///   - communityRecommendDataModel: 帖子模型
-    func praise(communityFollowDataModel:CommunityFollowDataModel,tableView:UITableView) {
+    func praise(communityFollowDataModel:CommunityFollowDataModel?,tableView:UITableView) {
         AudioServicesPlaySystemSound(1519)
 
         virueRecordAddApiPraise(communityFollowDataModel: communityFollowDataModel) { (isLike) in
             let isLike = isLike as Int
-            var praiseCount : Int = communityFollowDataModel.relateData?.praiseCount ?? 0
+            var praiseCount : Int = communityFollowDataModel?.relateData?.praiseCount ?? 0
             if isLike == 0 {
-                praiseCount = (communityFollowDataModel.relateData?.praiseCount ?? 0) - 1
+                praiseCount = (communityFollowDataModel?.relateData?.praiseCount ?? 0) - 1
             }else {
-                praiseCount = (communityFollowDataModel.relateData?.praiseCount ?? 0) + 1
+                praiseCount = (communityFollowDataModel?.relateData?.praiseCount ?? 0) + 1
             }
-            communityFollowDataModel.relateData?.praiseCount = praiseCount
-            communityFollowDataModel.relateData?.isLike = isLike
+            communityFollowDataModel?.relateData?.praiseCount = praiseCount
+            communityFollowDataModel?.relateData?.isLike = isLike
             tableView.reloadData()
         }
     }
@@ -326,32 +326,32 @@ extension VirusViewModel {
     /// - Parameters:
     ///   - communityRecommendDataModel: 帖子模型
     ///   - completion: 回调
-    func virueRecordAddApiCollection(communityFollowDataModel:CommunityFollowDataModel,completion: @escaping (Int) -> Void) {
+    func virueRecordAddApiCollection(communityFollowDataModel:CommunityFollowDataModel?,completion: @escaping (Int) -> Void) {
         let virueRecordAddParameterModel = VirueRecordAddParameterModel()
         virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.collect ?? "")
         virueRecordAddParameterModel.behaviorFlag = BehaviorFlagType.collect.rawValue
-        if communityFollowDataModel.relateData?.isCollect == 0 {
+        if communityFollowDataModel?.relateData?.isCollect == 0 {
             virueRecordAddParameterModel.behaviorValue = 1
         }else {
             virueRecordAddParameterModel.behaviorValue = 0
         }
-        virueRecordAddParameterModel.postId = communityFollowDataModel.relateData?.id
-        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel.relateData?.uid! ?? 0)"
-        if communityFollowDataModel.relateData?.title == nil ||  communityFollowDataModel.relateData?.title == "" {
-            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel.relateData?.content!.prefix(20) ?? "")"
+        virueRecordAddParameterModel.postId = communityFollowDataModel?.relateData?.id
+        virueRecordAddParameterModel.postAuthorUid = "\(communityFollowDataModel?.relateData?.uid! ?? 0)"
+        if communityFollowDataModel?.relateData?.title == nil ||  communityFollowDataModel?.relateData?.title == "" {
+            virueRecordAddParameterModel.postDesc = "\(communityFollowDataModel?.relateData?.content!.prefix(20) ?? "")"
 
         }else {
-            virueRecordAddParameterModel.postDesc = communityFollowDataModel.relateData?.title
+            virueRecordAddParameterModel.postDesc = communityFollowDataModel?.relateData?.title
         }
-        virueRecordAddParameterModel.postType = communityFollowDataModel.relateData?.type
-        virueRecordAddParameterModel.postCover = communityFollowDataModel.relateData?.img
-        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel.relateData?.id! ?? 0)"
+        virueRecordAddParameterModel.postType = communityFollowDataModel?.relateData?.type
+        virueRecordAddParameterModel.postCover = communityFollowDataModel?.relateData?.img
+        virueRecordAddParameterModel.actionId = "\(communityFollowDataModel?.relateData?.id! ?? 0)"
         
         SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
             let followStatusModel = FollowStatusModel()
-            followStatusModel.uid = communityFollowDataModel.relateData?.uid
-            followStatusModel.postId = communityFollowDataModel.relateData?.id
-            if communityFollowDataModel.relateData?.isCollect == 0 {
+            followStatusModel.uid = communityFollowDataModel?.relateData?.uid
+            followStatusModel.postId = communityFollowDataModel?.relateData?.id
+            if communityFollowDataModel?.relateData?.isCollect == 0 {
                 followStatusModel.isFollowStatus = 1
                 completion(1)
             }else {
@@ -366,12 +366,12 @@ extension VirusViewModel {
     ///
     /// - Parameters:
     ///   - communityRecommendDataModel: 帖子模型
-    func collection(communityFollowDataModel:CommunityFollowDataModel,tableView:UITableView) {
+    func collection(communityFollowDataModel:CommunityFollowDataModel?,tableView:UITableView) {
         AudioServicesPlaySystemSound(1519)
 
         virueRecordAddApiCollection(communityFollowDataModel: communityFollowDataModel, completion: {(isCollect) in
             let isCollect = isCollect as Int
-            communityFollowDataModel.relateData?.isCollect = isCollect
+            communityFollowDataModel?.relateData?.isCollect = isCollect
             tableView.reloadData()
         })
     }
@@ -860,16 +860,18 @@ extension VirusViewModel {
 
 // MARK: - 注册
 extension VirusViewModel {
-    func registeredVirueRecordAddApi(completion:@escaping ()->()) {
-        let virueRecordAddParameterModel = VirueRecordAddParameterModel()
-        virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.register ?? "")
-        virueRecordAddParameterModel.behaviorFlag =
-            BehaviorFlagType.register.rawValue
-        virueRecordAddParameterModel.sourceId = "\(UserModel.shared().getModel()?.inviteUid ?? 0)"
-        virueRecordAddParameterModel.actionId = BehaviorFlagType.register.rawValue
-        SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
-            completion()
-        })
+    class func registeredVirueRecordAddApi(completion:@escaping ()->()) {
+        if UserModel.shared().getModel()?.isNewMember == 1 {
+            let virueRecordAddParameterModel = VirueRecordAddParameterModel()
+            virueRecordAddParameterModel.behaviorId = (ConfigModel.shared.object()?.virus?.register ?? "")
+            virueRecordAddParameterModel.behaviorFlag =
+                BehaviorFlagType.register.rawValue
+            virueRecordAddParameterModel.sourceId = "\(UserModel.shared().getModel()?.inviteUid ?? 0)"
+            virueRecordAddParameterModel.actionId = BehaviorFlagType.register.rawValue
+            SwiftMoyaNetWorkServiceVirus.shared().virueRecordAddApi(virueRecordAddParameterModel: virueRecordAddParameterModel, completion: {(data) -> (Void) in
+                completion()
+            })
+        }
     }
 }