Quellcode durchsuchen

加入圈子流程完成

南鑫林 vor 5 Jahren
Ursprung
Commit
3e8287cd24

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

@@ -470,6 +470,8 @@
 		A7F688EF2355C194000C313F /* CircleQuestionsAnswersViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688EE2355C194000C313F /* CircleQuestionsAnswersViewController.swift */; };
 		A7F688F12355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688F02355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift */; };
 		A7F688F52355D933000C313F /* CircleQuestionsAnswersTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688F42355D933000C313F /* CircleQuestionsAnswersTableViewCell.swift */; };
+		A7F688F72356AB3B000C313F /* CircleQuestionsAnswersSectionHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688F62356AB3B000C313F /* CircleQuestionsAnswersSectionHeader.swift */; };
+		A7F688F92356C975000C313F /* CommunityCircleSubmitAnswerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688F82356C975000C313F /* CommunityCircleSubmitAnswerModel.swift */; };
 		A7FF1577228C824300A85748 /* OrderModule.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A7FF1576228C824300A85748 /* OrderModule.xcassets */; };
 		A7FF1598228D092A00A85748 /* OrderListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FF1597228D092A00A85748 /* OrderListModel.swift */; };
 		A7FF159C228D9E3D00A85748 /* OrderRefundDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7FF159B228D9E3C00A85748 /* OrderRefundDetailModel.swift */; };
@@ -1173,6 +1175,8 @@
 		A7F688EE2355C194000C313F /* CircleQuestionsAnswersViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleQuestionsAnswersViewController.swift; sourceTree = "<group>"; };
 		A7F688F02355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommunityCircleQuestionsAnswersModel.swift; sourceTree = "<group>"; };
 		A7F688F42355D933000C313F /* CircleQuestionsAnswersTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleQuestionsAnswersTableViewCell.swift; sourceTree = "<group>"; };
+		A7F688F62356AB3B000C313F /* CircleQuestionsAnswersSectionHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleQuestionsAnswersSectionHeader.swift; sourceTree = "<group>"; };
+		A7F688F82356C975000C313F /* CommunityCircleSubmitAnswerModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommunityCircleSubmitAnswerModel.swift; sourceTree = "<group>"; };
 		A7FF1576228C824300A85748 /* OrderModule.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = OrderModule.xcassets; sourceTree = "<group>"; };
 		A7FF1597228D092A00A85748 /* OrderListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderListModel.swift; sourceTree = "<group>"; };
 		A7FF159B228D9E3C00A85748 /* OrderRefundDetailModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OrderRefundDetailModel.swift; sourceTree = "<group>"; };
@@ -4116,6 +4120,7 @@
 		A7D5F25D22C0612A00F8E9AF /* CommunityModel */ = {
 			isa = PBXGroup;
 			children = (
+				A7F688F82356C975000C313F /* CommunityCircleSubmitAnswerModel.swift */,
 				A7F688F02355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift */,
 				A784F2CB23547C9600E49140 /* CommunityCircleModel.swift */,
 				A7811C99231F908C00C2D8DE /* CommunityRecommendCategorysModel.swift */,
@@ -4541,6 +4546,7 @@
 			isa = PBXGroup;
 			children = (
 				A7F688F42355D933000C313F /* CircleQuestionsAnswersTableViewCell.swift */,
+				A7F688F62356AB3B000C313F /* CircleQuestionsAnswersSectionHeader.swift */,
 			);
 			path = View;
 			sourceTree = "<group>";
@@ -5945,6 +5951,7 @@
 				A71AF0AC226EDE37001730FE /* SearchNavigationbarView.swift in Sources */,
 				A7F688EC2355AA66000C313F /* CircleShareContentViewController.swift in Sources */,
 				A76893962339C28800819EC3 /* StartupPageView.swift in Sources */,
+				A7F688F92356C975000C313F /* CommunityCircleSubmitAnswerModel.swift in Sources */,
 				A70B2C6D2288815E00B2449F /* PickViewOneComponentsView.swift in Sources */,
 				A7D77DE722DDBE4D0048D5F6 /* RedemptionAreaBannerCollectionViewCell.swift in Sources */,
 				A7D5F24D22BC720000F8E9AF /* WVJBModel.swift in Sources */,
@@ -5991,6 +5998,7 @@
 				BD61227822C35C1000D3F513 /* AlivcShortVideoRoute.m in Sources */,
 				A770E60622D64CD700CBD0A4 /* UIScrollView+SwCapture.swift in Sources */,
 				A75414FD224B5F28002480B5 /* MobileLoginViewController.swift in Sources */,
+				A7F688F72356AB3B000C313F /* CircleQuestionsAnswersSectionHeader.swift in Sources */,
 				A771F07C226D4E1C007999DB /* AddressPOITableViewCell.swift in Sources */,
 				A72A72AE22321DE000B21995 /* CountdownButton.swift in Sources */,
 				A7C2567322CC8BB000420828 /* CommunityPostDetailFSPagerViewCell.swift in Sources */,

+ 20 - 1
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityCircleQuestionsAnswersModel.swift

@@ -34,7 +34,8 @@ class CircleJoinQuestionModel : NSObject, Mappable{
     var answer : [CircleAnswerModel]?
     var id : Int?
     var question : String?
-    
+    var questionHeight : CGFloat?
+    var customAnswer : CustomAnswer?
     
     class func newInstance(map: Map) -> Mappable?{
         return CircleJoinQuestionModel()
@@ -52,11 +53,29 @@ class CircleJoinQuestionModel : NSObject, Mappable{
     
 }
 
+class CustomAnswer: NSObject, Mappable {
+    var answer : [Int]?
+    var questionId : Int?
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return CustomAnswer()
+    }
+    required init?(map: Map){}
+    override init(){}
+    
+    func mapping(map: Map)
+    {
+        answer <- map["answer"]
+        questionId <- map["question"]
+    }
+}
+
 class CircleAnswerModel : NSObject, Mappable{
     
     var id : Int?
     var right : Bool?
     var text : String?
+    var isSelected : Bool?
     
     
     class func newInstance(map: Map) -> Mappable?{

+ 26 - 0
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityCircleSubmitAnswerModel.swift

@@ -0,0 +1,26 @@
+//
+//	CircleSubmitAnswerModel.swift
+//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
+
+import Foundation 
+import ObjectMapper
+
+
+class CircleSubmitAnswerModel : NSObject, Mappable{
+
+	var answerCount : Int?
+
+
+	class func newInstance(map: Map) -> Mappable?{
+		return CircleSubmitAnswerModel()
+	}
+	required init?(map: Map){}
+	private override init(){}
+
+	func mapping(map: Map)
+	{
+		answerCount <- map["answer_count"]
+		
+	}
+
+}

+ 36 - 10
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/View/CircleHeaderView.swift

@@ -89,9 +89,22 @@ class CircleHeaderView: BaseView {
                 if self?.communityCircleModel?.joinLimit == 0 { //不需要
                    self?.communityCircleJoinPostApi()
                 } else if self?.communityCircleModel?.joinLimit == 1 { //需要
-                    let vc = CircleQuestionsAnswersViewController()
-                    vc.circleId = self?.communityCircleModel?.id ?? 0
-                    UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+                    if self?.communityCircleModel?.answerCount == 0 {
+                        SwiftProgressHUD.shared().showText("今天答题次数已用完,\n请明天再加入哦~")
+                    }else {
+                        let vc = CircleQuestionsAnswersViewController()
+                        vc.circleId = self?.communityCircleModel?.id ?? 0
+                        vc.joinFail = {
+                            [weak self] answerCount in
+                            self?.communityCircleModel?.answerCount = answerCount
+                        }
+                        vc.joinSuccess = {
+                            [weak self] in
+                            self?.joinSuccess()
+                        }
+                        UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+                    }
+
                 }
             }
         }).disposed(by: disposeBag)
@@ -225,22 +238,35 @@ class CircleHeaderView: BaseView {
     /// 加入圈子
     func communityCircleJoinPostApi() {
         SwiftMoyaNetWorkServiceCommunity.shared().communityCircleJoinPostApi(circleId:  communityCircleModel?.id ?? 0) {[weak self]  (_) -> (Void) in
-            self?.circleButton.isSelected = true
-            self?.communityCircleModel?.isJoin = 1
-             SwiftProgressHUD.shared().showText("加入圈子成功")
+            self?.joinSuccess()
         }
     }
     
-    
     /// 退出圈子
     func communityCircleJoinDeleteApi() {
         SwiftMoyaNetWorkServiceCommunity.shared().communityCircleJoinDeleteApi(circleId:  communityCircleModel?.id ?? 0) {[weak self]  (_) -> (Void) in
-            self?.circleButton.isSelected = false
-            self?.communityCircleModel?.isJoin = 0
-            SwiftProgressHUD.shared().showText("退出圈子成功")
+            self?.dropOutSuccess()
         }
     }
     
+    /// 加入圈子
+    func joinSuccess() {
+        self.circleButton.isSelected = true
+        self.communityCircleModel?.isJoin = 1
+        SwiftProgressHUD.shared().showText("加入圈子成功")
+        self.communityCircleModel?.members?.extra = "\(Int(self.communityCircleModel?.members?.extra ?? "0")! + 1)"
+        self.memberNumberLabel.text = self.communityCircleModel?.members?.extra
+    }
+    /// 退出圈子
+    func dropOutSuccess() {
+        self.circleButton.isSelected = false
+        self.communityCircleModel?.isJoin = 0
+        SwiftProgressHUD.shared().showText("退出圈子成功")
+        self.communityCircleModel?.members?.extra = "\(Int(self.communityCircleModel?.members?.extra ?? "1")! - 1)"
+        self.memberNumberLabel.text = self.communityCircleModel?.members?.extra
+        
+    }
+    
     func scrollViewDidScroll(contentOffsetY: CGFloat) {
         if contentOffsetY < 0 {
             var frame = imageViewFrame

+ 62 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleQuestionsAnswers/View/CircleQuestionsAnswersSectionHeader.swift

@@ -0,0 +1,62 @@
+//
+//  CircleQuestionsAnswersSectionHeader.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/10/16.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class CircleQuestionsAnswersSectionHeader: BaseView {
+    
+    var index : Int?
+    
+    override func setupViews() {
+        addSubview(numberLabel)
+        addSubview(titleLabel)
+    }
+    
+    override func setupLayouts() {
+        numberLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(15)
+            make.left.equalTo(14)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(15)
+            make.left.equalTo(numberLabel.snp.right)
+            make.right.equalTo(-14)
+        }
+    }
+    
+    lazy var numberLabel: UILabel = {
+        let numberLabel = UILabel()
+        numberLabel.textColor = k333333Color
+        numberLabel.font = kMediumFont14
+        return numberLabel
+    }()
+    
+    lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kRegularFont14
+        titleLabel.numberOfLines = 0
+        return titleLabel
+    }()
+    
+    var circleJoinQuestionModel : CircleJoinQuestionModel? {
+        didSet {
+            numberLabel.text = "第\((index ?? 0)+1)题:"
+            titleLabel.text = circleJoinQuestionModel?.question
+            titleLabel.snp.remakeConstraints { (make) in
+                make.top.equalTo(15)
+                make.left.equalTo(numberLabel.snp.right)
+                make.right.equalTo(-14)
+                make.height.equalTo((circleJoinQuestionModel?.questionHeight ?? 0))
+            }
+        }
+    }
+    
+    
+
+}

+ 9 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleQuestionsAnswers/View/CircleQuestionsAnswersTableViewCell.swift

@@ -35,6 +35,7 @@ class CircleQuestionsAnswersTableViewCell: UITableViewCell {
     }
     
     func setupViews() {
+        selectionStyle = .none
         addSubview(titleLable)
     }
     
@@ -62,6 +63,14 @@ class CircleQuestionsAnswersTableViewCell: UITableViewCell {
             let num = 65 + (indexPath?.row ?? 0)
             let ch:Character = Character(UnicodeScalar(num)!)
             titleLable.text = "\(ch).  \(circleAnswerModel?.text ?? "")"
+            
+            if circleAnswerModel?.isSelected ?? false {
+                titleLable.backgroundColor = k333333Color
+                titleLable.textColor = kffffffColor
+            }else {
+                titleLable.backgroundColor = kf7f8faColor
+                titleLable.textColor = k333333Color
+            }
         }
     }
 

+ 120 - 2
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleQuestionsAnswers/ViewController/CircleQuestionsAnswersViewController.swift

@@ -12,6 +12,8 @@ class CircleQuestionsAnswersViewController: BaseViewController {
     
     var circleId : Int?
     var communityCircleQuestionsAnswersModel : CommunityCircleQuestionsAnswersModel?
+    var array = Array<CustomAnswer>()
+    var isSuccess : Bool = false
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -25,6 +27,7 @@ class CircleQuestionsAnswersViewController: BaseViewController {
         navigationBar.title = "加入小组测试题"
         navigationBar.addSubview(subtitleLabel)
         view.addSubview(tableView)
+        view.addSubview(submitButton)
         
     }
     
@@ -37,10 +40,19 @@ class CircleQuestionsAnswersViewController: BaseViewController {
             make.top.equalTo(navigationBar.titleLabel.snp.bottom)
             make.centerX.equalToSuperview()
         }
+        submitButton.snp.makeConstraints { (make) in
+            make.bottom.equalTo(-(kSafeTabBarHeight + 16))
+            make.left.equalTo(25)
+            make.right.equalTo(-25)
+            make.height.equalTo(44)
+        }
     }
     
     override func setupData() {
         communityCircleQuestionApi()
+        submitButton.rx.tap.subscribe(onNext: {[weak self] (_) in
+            self?.communityCircleJoinPostApi()
+        }).disposed(by: disposeBag)
     }
     
     lazy var subtitleLabel : UILabel = {
@@ -51,12 +63,26 @@ class CircleQuestionsAnswersViewController: BaseViewController {
         return subtitleLabel
     }()
     
+    lazy var submitButton: UIButton = {
+        let submitButton = UIButton()
+        submitButton.backgroundColor = kThemeColor
+        submitButton.setTitle("提交", for: UIControl.State.normal)
+        submitButton.setTitleColor(kffffffColor, for: UIControl.State.normal)
+        submitButton.cornerRadius = 22
+        submitButton.masksToBounds = true
+        submitButton.isHidden = true
+        return submitButton
+    }()
+    
     lazy var tableView: UITableView = {
         let tableView = UITableView(frame: CGRect(x: 0, y: kNavBarTotalHeight, width: kScreenWidth, height: kScreenHeight - kNavBarTotalHeight - 76 - kSafeTabBarHeight), style: UITableView.Style.grouped)
         tableView.separatorStyle = .none
         tableView.backgroundColor = UIColor.white
         tableView.dataSource = self
         tableView.delegate = self
+        let headerView = UIView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: 10))
+        headerView.backgroundColor = kf7f8faColor
+        tableView.tableHeaderView = headerView
         return tableView
     }()
     
@@ -65,12 +91,73 @@ class CircleQuestionsAnswersViewController: BaseViewController {
             [weak self] (communityCircleQuestionsAnswersModel) -> (Void) in
             self?.communityCircleQuestionsAnswersModel = communityCircleQuestionsAnswersModel as? CommunityCircleQuestionsAnswersModel
             self?.subtitleLabel.text = "今日剩余 \( self?.communityCircleQuestionsAnswersModel?.answerCount ?? 0) 次答题机会"
+            self?.submitButton.isHidden = false
             self?.tableView.reloadData()
         }) { (loadingStatus) in
             
         }
     }
     
+    typealias JoinSuccess = () -> Void
+    var joinSuccess : JoinSuccess?
+    
+    typealias JoinFail = (Int) -> Void
+    var joinFail : JoinFail?
+    /// 加入圈子
+    func communityCircleJoinPostApi() {
+        
+        array.removeAll()
+        for circleJoinQuestionModel in (communityCircleQuestionsAnswersModel?.joinQuestion)! {
+            if circleJoinQuestionModel.customAnswer != nil {
+                array.append(circleJoinQuestionModel.customAnswer!)
+            }
+        }
+        let answerStr = array.toJSONString()
+        if array.count == communityCircleQuestionsAnswersModel?.joinQuestion?.count {
+            SwiftMoyaNetWorkServiceCommunity.shared().communityCircleJoinPostApi(circleId: circleId ?? 0, answer: answerStr) { [weak self] (rootModel) -> (Void) in
+                let rootModel = rootModel as? RootModel
+                if rootModel?.code == 0 {
+                    self?.isSuccess = true
+                    self?.navigationController?.popViewController(animated: true)
+                    if let joinSuccess = self?.joinSuccess {
+                        joinSuccess()
+                    }
+                } else if rootModel?.code == 1 {
+                    
+                    let circleSubmitAnswerModel = CircleSubmitAnswerModel(JSONString:  rootModel?.data ?? "")
+                    if  circleSubmitAnswerModel?.answerCount == 0 {
+                        self?.isSuccess = false
+                        self?.communityCircleQuestionsAnswersModel?.answerCount = circleSubmitAnswerModel?.answerCount ?? 0
+                         SwiftProgressHUD.shared().showText(rootModel?.msg ?? "")
+                        self?.navigationController?.popViewController(animated: true)
+                    }else {
+                        AlertSheetView.alert(title: "真遗憾,没有全部答对哦~", cancelTitle: "放弃了", sureTitle: "再来一次", cancelBlock: { [weak self] (popupView, index, string) in
+                            self?.isSuccess = false
+                            self?.communityCircleQuestionsAnswersModel?.answerCount = circleSubmitAnswerModel?.answerCount ?? 0
+                            self?.navigationController?.popViewController(animated: true)
+                            }, confirmBlock: { (popupView, index, string) in
+                                self?.communityCircleQuestionsAnswersModel?.answerCount = circleSubmitAnswerModel?.answerCount ?? 0
+                                self?.subtitleLabel.text = "今日剩余 \( self?.communityCircleQuestionsAnswersModel?.answerCount ?? 0) 次答题机会"
+                        })
+                    }
+                   
+                    
+                }
+            }
+        }else {
+            SwiftProgressHUD.shared().showText("请回答所有问题")
+        }
+    }
+    
+    override func didMove(toParent parent: UIViewController?) {
+        if !(parent != nil) {
+            if !isSuccess {
+                if let joinFail = self.joinFail {
+                    joinFail(communityCircleQuestionsAnswersModel?.answerCount ?? 0)
+                }
+            }
+        }
+    }
 }
 
 extension CircleQuestionsAnswersViewController : UITableViewDelegate, UITableViewDataSource {
@@ -97,12 +184,43 @@ extension CircleQuestionsAnswersViewController : UITableViewDelegate, UITableVie
         }
     }
     
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        let circleJoinQuestionModel = communityCircleQuestionsAnswersModel?.joinQuestion?[indexPath.section]
+        
+        for (i,circleAnswerModel) in (communityCircleQuestionsAnswersModel?.joinQuestion?[indexPath.section].answer?.enumerated())! {
+            if i == indexPath.row {
+                let  customAnswer = CustomAnswer()
+                customAnswer.questionId = circleJoinQuestionModel?.id
+                customAnswer.answer = [circleAnswerModel.id] as? [Int]
+                circleJoinQuestionModel?.customAnswer = customAnswer
+                circleAnswerModel.isSelected = true
+            }else {
+                circleAnswerModel.isSelected = false
+            }
+        }
+        tableView.reloadSections([indexPath.section], with: UITableView.RowAnimation.none)
+    }
+    
+    func questionHeight(section: Int,circleJoinQuestionModel:CircleJoinQuestionModel?) -> CGFloat {
+        let numberStr = "第\(section + 1)题:"
+        let numberWidth = numberStr.widthForComment(font: kMediumFont14!)
+        
+        let questionHeight = circleJoinQuestionModel?.question?.heightForComment(font: kRegularFont14!, width: kScreenWidth - 28 - numberWidth) ?? 0.0
+        return questionHeight
+    }
+    
     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        return 0.000001
+        let circleJoinQuestionModel = communityCircleQuestionsAnswersModel?.joinQuestion?[section]
+        circleJoinQuestionModel?.questionHeight = questionHeight(section: section, circleJoinQuestionModel: circleJoinQuestionModel)
+        return ((circleJoinQuestionModel?.questionHeight ?? 0) + 30)
     }
     
     func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
-        return nil
+        let circleJoinQuestionModel = communityCircleQuestionsAnswersModel?.joinQuestion?[section]
+        let view = CircleQuestionsAnswersSectionHeader(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: ((circleJoinQuestionModel?.questionHeight ?? 0) + 30)))
+        view.index = section
+        view.circleJoinQuestionModel = circleJoinQuestionModel
+        return view
     }
     
     func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {

+ 4 - 3
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCommunity/SwiftMoyaNetWorkServiceCommunity.swift

@@ -608,10 +608,11 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
         var parameters = Dictionary<String,Any>()
         parameters.updateValue(circleId, forKey: "id")
         if answer != nil {
-            parameters.updateValue(answer as Any, forKey: "answer")
+            parameters.updateValue((answer!) as Any, forKey: "answer")
         }
-        SwiftMoyaNetWorkManager.shared.requestAny(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityCircleJoinPost(parameters: parameters)), completion: { (_) in
-            completion("")
+        
+        SwiftMoyaNetWorkManager.shared.requestRootModel(target: MultiTarget(SwiftMoyaServiceCommunityApi.communityCircleJoinPost(parameters: parameters)), completion: { (rootModel) in
+            completion(rootModel)
         }) { (loadingStatus) in}
     }