Explorar el Código

用户列表完成

南鑫林 hace 5 años
padre
commit
678259f868

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

@@ -472,6 +472,9 @@
 		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 */; };
+		A7F688FC2356F0C3000C313F /* CircleUserListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688FB2356F0C3000C313F /* CircleUserListViewController.swift */; };
+		A7F689002356F2A6000C313F /* CircleUserListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F688FF2356F2A6000C313F /* CircleUserListTableViewCell.swift */; };
+		A7F689022356F575000C313F /* CommunityCircleUserListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7F689012356F574000C313F /* CommunityCircleUserListModel.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 */; };
@@ -1177,6 +1180,9 @@
 		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>"; };
+		A7F688FB2356F0C3000C313F /* CircleUserListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleUserListViewController.swift; sourceTree = "<group>"; };
+		A7F688FF2356F2A6000C313F /* CircleUserListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleUserListTableViewCell.swift; sourceTree = "<group>"; };
+		A7F689012356F574000C313F /* CommunityCircleUserListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommunityCircleUserListModel.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>"; };
@@ -3330,6 +3336,7 @@
 		A784F2C223544B0800E49140 /* CircleModule */ = {
 			isa = PBXGroup;
 			children = (
+				A7F688FA2356F069000C313F /* CircleUserList */,
 				A7F688ED2355C17B000C313F /* CircleQuestionsAnswers */,
 				A7F688EA2355AA45000C313F /* CircleShareContent */,
 				A784F2C323544B1B00E49140 /* Circle */,
@@ -4120,6 +4127,7 @@
 		A7D5F25D22C0612A00F8E9AF /* CommunityModel */ = {
 			isa = PBXGroup;
 			children = (
+				A7F689012356F574000C313F /* CommunityCircleUserListModel.swift */,
 				A7F688F82356C975000C313F /* CommunityCircleSubmitAnswerModel.swift */,
 				A7F688F02355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift */,
 				A784F2CB23547C9600E49140 /* CommunityCircleModel.swift */,
@@ -4551,6 +4559,31 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		A7F688FA2356F069000C313F /* CircleUserList */ = {
+			isa = PBXGroup;
+			children = (
+				A7F688FE2356F212000C313F /* View */,
+				A7F688FD2356F203000C313F /* ViewController */,
+			);
+			path = CircleUserList;
+			sourceTree = "<group>";
+		};
+		A7F688FD2356F203000C313F /* ViewController */ = {
+			isa = PBXGroup;
+			children = (
+				A7F688FB2356F0C3000C313F /* CircleUserListViewController.swift */,
+			);
+			path = ViewController;
+			sourceTree = "<group>";
+		};
+		A7F688FE2356F212000C313F /* View */ = {
+			isa = PBXGroup;
+			children = (
+				A7F688FF2356F2A6000C313F /* CircleUserListTableViewCell.swift */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		BD01B1F722BC673900CE9F36 /* PublishTakePhoto */ = {
 			isa = PBXGroup;
 			children = (
@@ -5942,6 +5975,7 @@
 				A7BF203122B47CC000396DB3 /* CardContentCommnetTableViewCell.swift in Sources */,
 				A7D07CDA22B7DFAE00186014 /* OtherPersonalCenterHeaderView.swift in Sources */,
 				A72A72AF22321DE000B21995 /* AppInfo.swift in Sources */,
+				A7F689002356F2A6000C313F /* CircleUserListTableViewCell.swift in Sources */,
 				A72623D722C26A2A00AEF875 /* MessageListModel.swift in Sources */,
 				A7FF1598228D092A00A85748 /* OrderListModel.swift in Sources */,
 				A76068E222E44D6A008DF18F /* SheetSureView.swift in Sources */,
@@ -6104,11 +6138,13 @@
 				BD13B6C322BA034D008BB323 /* PublishEditDescribeCell.swift in Sources */,
 				A7CC752C2271A1AE003C4F38 /* SetPasswordViewController.swift in Sources */,
 				BD10FBFE22C6F7D90096A34E /* AliyunPublishService.m in Sources */,
+				A7F688FC2356F0C3000C313F /* CircleUserListViewController.swift in Sources */,
 				A7F688F12355C3E9000C313F /* CommunityCircleQuestionsAnswersModel.swift in Sources */,
 				A75B783022DF2CBF007B986A /* Extension+WKWebView.swift in Sources */,
 				A7C0FDEE22B6516A00BC1E86 /* CommunityBannerTableViewCell.swift in Sources */,
 				A738D202225AD6AD00EEE860 /* Extension+UICollectionView.swift in Sources */,
 				BDAF83AA22B388F20004BCC3 /* RecommendDefaultBackCell.swift in Sources */,
+				A7F689022356F575000C313F /* CommunityCircleUserListModel.swift in Sources */,
 				A71CAB3922C9DF0600D908A8 /* CommunityTopicDetailModel.swift in Sources */,
 				BD37E38522CDF91A003A14A2 /* CommunityVideoSelTopicCell.swift in Sources */,
 				A7F688E723556EA1000C313F /* CircleEssenceView.swift in Sources */,

+ 3 - 0
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityCircleModel.swift

@@ -13,6 +13,7 @@ class CommunityCircleModel : NSObject, Mappable{
 	var id : Int?
 	var image : String?
 	var isJoin : Int?
+    var isBlack : Int?
 	var joinLimit : Int?
 	var members : CommunityCircleFunctionsModel?
 	var name : String?
@@ -20,6 +21,7 @@ class CommunityCircleModel : NSObject, Mappable{
 	var pictures : CommunityCircleFunctionsModel?
 
 
+
 	class func newInstance(map: Map) -> Mappable?{
 		return CommunityCircleModel()
 	}
@@ -33,6 +35,7 @@ class CommunityCircleModel : NSObject, Mappable{
 		id <- map["id"]
 		image <- map["image"]
 		isJoin <- map["is_join"]
+        isBlack <- map["is_black"]
 		joinLimit <- map["join_limit"]
 		members <- map["members"]
 		name <- map["name"]

+ 79 - 0
RainbowPlanet/RainbowPlanet/Model/CommunityModel/CommunityCircleUserListModel.swift

@@ -0,0 +1,79 @@
+//
+//	CommunityCircleUserListModel.swift
+//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
+
+import Foundation 
+import ObjectMapper
+
+
+class CommunityCircleUserListModel : NSObject, Mappable{
+
+	var data : [CommunityCircleUserModel]?
+	var pagination : PaginationModel?
+
+
+	class func newInstance(map: Map) -> Mappable?{
+		return CommunityCircleUserListModel()
+	}
+	required init?(map: Map){}
+	private override init(){}
+
+	func mapping(map: Map)
+	{
+		data <- map["data"]
+		pagination <- map["pagination"]
+		
+	}
+}
+
+class CommunityCircleUserModel : NSObject, Mappable{
+    
+    var createdAt : String?
+    var user : CircleUserModel?
+    
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return CommunityCircleUserModel()
+    }
+    required init?(map: Map){}
+    private override init(){}
+    
+    func mapping(map: Map)
+    {
+        createdAt <- map["created_at"]
+        user <- map["user"]
+        
+    }
+    
+}
+
+class CircleUserModel : NSObject, Mappable{
+    
+    var avatar : String?
+    var gender : Int?
+    var inviteCode : String?
+    var schoolId : String?
+    var uid : Int?
+    var username : String?
+    
+    
+    class func newInstance(map: Map) -> Mappable?{
+        return CircleUserModel()
+    }
+    required init?(map: Map){}
+    private override init(){}
+    
+    func mapping(map: Map)
+    {
+        avatar <- map["avatar"]
+        gender <- map["gender"]
+        inviteCode <- map["invite_code"]
+        schoolId <- map["school_id"]
+        uid <- map["uid"]
+        username <- map["username"]
+        
+    }
+    
+}
+
+

+ 23 - 7
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/View/CircleHeaderView.swift

@@ -58,7 +58,7 @@ class CircleHeaderView: BaseView {
         
         memberNumberLabel.snp.makeConstraints { (make) in
             make.centerY.equalTo(memberNameLabel)
-            make.left.equalTo(memberNameLabel.snp.right).offset(8)
+            make.left.equalTo(memberNameLabel.snp.right)
         }
         
         albumNameLabel.snp.makeConstraints { (make) in
@@ -68,17 +68,22 @@ class CircleHeaderView: BaseView {
         
         albumNumberLabel.snp.makeConstraints { (make) in
             make.centerY.equalTo(memberNameLabel)
-            make.left.equalTo(albumNameLabel.snp.right).offset(8)
+            make.left.equalTo(albumNameLabel.snp.right)
         }
     }
     
     override func setupData() {
         chatRootButton.rx.tap.subscribe(onNext: { [weak self] (_) in
-            if self?.communityCircleModel?.chatroom?.isOpen == 1 {
-                self?.userChatroomValidRoomApi()
+            if self?.communityCircleModel?.isBlack == 1 {
+                SwiftProgressHUD.shared().showText("您在本圈子内的权限受限")
             }else {
-                SwiftProgressHUD.shared().showText("这个圈子没有聊天室哦~")
+                if self?.communityCircleModel?.chatroom?.isOpen == 1 {
+                    self?.userChatroomValidRoomApi()
+                }else {
+                    SwiftProgressHUD.shared().showText("这个圈子没有聊天室哦~")
+                }
             }
+            
         }).disposed(by: disposeBag)
         
         circleButton.rx.tap.subscribe(onNext: { [weak self] (_) in
@@ -183,6 +188,7 @@ class CircleHeaderView: BaseView {
         memberNameLabel.text = "成员"
         memberNameLabel.textColor = .black
         memberNameLabel.font = kRegularFont14
+        memberNameLabel.addTapGesture(1, target: self, action: #selector(membersAction))
         return memberNameLabel
     }()
     
@@ -191,6 +197,8 @@ class CircleHeaderView: BaseView {
         memberNumberLabel.text = "0"
         memberNumberLabel.textColor = .black
         memberNumberLabel.font = kMediumFont16
+        memberNumberLabel.addTapGesture(1, target: self, action: #selector(membersAction))
+
         return memberNumberLabel
     }()
     
@@ -215,8 +223,8 @@ class CircleHeaderView: BaseView {
             bgImageView.kf.setImage(with: kURLImage(name: communityCircleModel?.image ?? "default_pic"), placeholder: kImage(name: "default_pic"))
             titleLabel.text = communityCircleModel?.name
             avatarImageView.kf.setImage(with: kURLImage(name: communityCircleModel?.image ?? "default_avatar"), placeholder: kImage(name: "default_avatar"))
-            memberNumberLabel.text = communityCircleModel?.members?.extra
-            albumNumberLabel.text = communityCircleModel?.pictures?.extra
+            memberNumberLabel.text = "  \(communityCircleModel?.members?.extra ?? "")"
+            albumNumberLabel.text = "  \(communityCircleModel?.pictures?.extra ?? "")"
             
             if communityCircleModel?.isJoin == 0 {
                 circleButton.isSelected = false
@@ -267,6 +275,14 @@ class CircleHeaderView: BaseView {
         
     }
     
+    
+    /// 用户成员
+    @objc func membersAction() {
+        let vc = CircleUserListViewController()
+        vc.circleId = self.communityCircleModel?.id ?? 0
+        UIViewController.topMost?.navigationController?.pushViewController(vc, animated: true)
+    }
+    
     func scrollViewDidScroll(contentOffsetY: CGFloat) {
         if contentOffsetY < 0 {
             var frame = imageViewFrame

+ 4 - 9
RainbowPlanet/RainbowPlanet/Modules/CircleModule/Circle/ViewController/CircleViewController.swift

@@ -64,15 +64,10 @@ class CircleViewController: BaseViewController {
     override func setupData() {
         navigationBar.onClickRightButton = {
             [weak self] in
-            if UserModel.isTokenNil() {
-                kAppDelegate.setLogin()
-            }else {
-                let vc = CircleShareContentViewController()
-                vc.imgUrl = self?.communityCircleModel?.image
-                vc.circleNameStr = self?.communityCircleModel?.name ?? ""
-                self?.navigationController?.pushViewController(vc, animated: true)
-            }
-            
+            let vc = CircleShareContentViewController()
+            vc.imgUrl = self?.communityCircleModel?.image
+            vc.circleNameStr = self?.communityCircleModel?.name ?? ""
+            self?.navigationController?.pushViewController(vc, animated: true)
         }
         reloadData()
         loadCircleData()

+ 89 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleUserList/View/CircleUserListTableViewCell.swift

@@ -0,0 +1,89 @@
+//
+//  CircleUserListTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/10/16.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+
+class CircleUserListTableViewCell: UITableViewCell {
+
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> CircleUserListTableViewCell {
+        let ID = "CircleUserListTableViewCell"
+        tableView.register(CircleUserListTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : CircleUserListTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! CircleUserListTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    
+    func setupViews() {
+        selectionStyle = .none
+        addSubview(avatarImageView)
+        addSubview(titleLabel)
+        addSubview(bottomLineLabel)
+    }
+    
+    func setupLayouts() {
+        avatarImageView.snp.makeConstraints { (make) in
+            make.size.equalTo(44)
+            make.left.equalTo(14)
+            make.centerY.equalToSuperview()
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.left.equalTo(avatarImageView.snp.right).offset(10)
+        }
+        bottomLineLabel.snp.makeConstraints { (make) in
+            make.bottom.left.right.equalToSuperview()
+            make.height.equalTo(0.5)
+        }
+    }
+
+    lazy var avatarImageView : UIImageView = {
+        let avatarImageView = UIImageView()
+        avatarImageView.image = kImage(name: "default_avatar")
+        avatarImageView.cornerRadius = 22
+        avatarImageView.masksToBounds = true
+        return avatarImageView
+    }()
+    
+    lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kMediumFont16
+        return titleLabel
+    }()
+    
+    lazy var bottomLineLabel: UILabel = {
+        let bottomLineLabel = UILabel()
+        bottomLineLabel.backgroundColor = kf7f8faColor
+        return bottomLineLabel
+    }()
+    
+    var circleUserModel : CircleUserModel? {
+        didSet {
+            avatarImageView.kf.setImage(with: kURLImage(name: circleUserModel?.avatar ?? "default_pic"), placeholder: kImage(name: "default_pic"))
+            titleLabel.text = circleUserModel?.username
+
+        }
+    }
+    
+}

+ 132 - 0
RainbowPlanet/RainbowPlanet/Modules/CircleModule/CircleUserList/ViewController/CircleUserListViewController.swift

@@ -0,0 +1,132 @@
+//
+//  CircleUserListViewController.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/10/16.
+//  Copyright © 2019 RainbowPlanet. All rights reserved.
+//
+
+import UIKit
+import SwiftyMediator
+
+class CircleUserListViewController: BaseViewController {
+
+    
+    var circleId : Int?
+    
+    var communityCircleUserModels = Array<CommunityCircleUserModel>()
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupViews()
+        setupLayouts()
+        setupData()
+    }
+    
+    override func setupViews() {
+        navigationBar.title = "小组成员"
+        view.addSubview(tableView)
+        
+    }
+    
+    override func setupLayouts() {
+        
+    }
+    
+    override func setupData() {
+        tableView.addHeader(withBeginRefresh: true, animation: true) {
+            [weak self] (page) in
+            self?.communityCircleMembersApi(page: page)
+        }
+        tableView.addAutoNormalFooter(withAutomaticallyRefresh: true, loadMoreBlock: {
+            [weak self] (page) in
+            self?.communityCircleMembersApi(page: page)
+        })
+    }
+    
+    lazy var tableView: UITableView = {
+        let tableView = UITableView(frame: CGRect(x: 0, y: kNavBarTotalHeight, width: kScreenWidth, height: kScreenHeight - kNavBarTotalHeight ), style: UITableView.Style.grouped)
+        tableView.separatorStyle = .none
+        tableView.backgroundColor = kf7f8faColor
+        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
+    }()
+    
+    func communityCircleMembersApi(page:Int) {
+        SwiftMoyaNetWorkServiceCommunity.shared().communityCircleMembersApi(circleId: circleId ?? 0, completion: {
+            [weak self] (communityCircleUserListModel) -> (Void) in
+            DIYEmptyView.emptyNoDataTableView(tableView: self?.tableView,imageStr: .one,detailStr: .one)
+            let communityCircleUserListModel = communityCircleUserListModel as? CommunityCircleUserListModel
+            if communityCircleUserListModel?.pagination?.currentPage == 1{
+                self?.communityCircleUserModels.removeAll()
+                self?.tableView.resetNoMoreData()
+            }
+            self?.communityCircleUserModels = (self?.communityCircleUserModels)! + ((communityCircleUserListModel?.data!)!)
+            self?.tableView.reloadData()
+            MJRefreshManager.mjRefreshManagerPaginationNoHiddenFooter(tableView: self?.tableView, pagination:communityCircleUserListModel?.pagination)
+        }) { [weak self] (loadingStatus) in
+            MJRefreshManager.mjRefreshManagerLoadingStatus(tableView: self?.tableView,loadingStatus: loadingStatus)
+        }
+    }
+
+}
+
+extension CircleUserListViewController : UITableViewDelegate, UITableViewDataSource {
+    func numberOfSections(in tableView: UITableView) -> Int {
+        return 1
+    }
+    
+    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        return communityCircleUserModels.count
+    }
+    
+    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        
+        let cell = CircleUserListTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+        cell.circleUserModel = communityCircleUserModels[indexPath.row].user
+        return cell
+    }
+    
+    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return 80
+    }
+    
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        let circleUserModel = communityCircleUserModels[indexPath.row].user
+        if circleUserModel?.uid != UserModel.shared().getModel()?.uid {
+            Mediator.push(MineRouterModuleType.pushOtherPersonalCenter(uid: circleUserModel?.uid ?? 0))
+        }
+    }
+    
+    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
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+
+        return nil
+    }
+    
+    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
+        return 0.000001
+    }
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        return nil
+    }
+    
+}
+
+

+ 17 - 0
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCommunity/SwiftMoyaNetWorkServiceCommunity.swift

@@ -646,4 +646,21 @@ public class SwiftMoyaNetWorkServiceCommunity: NSObject {
             fail(loadingStatus)
         }
     }
+    
+    // MARK: -  圈子用户列表
+    ///  圈子用户列表
+    ///
+    /// - Parameters:
+    ///   - id: 圈子Id
+    ///   - completion: 完成
+    ///   - fail: 失败
+    func communityCircleMembersApi(circleId:Int,completion: @escaping successCallBack,fail: @escaping failCallback) {
+        var parameters = Dictionary<String,Any>()
+        parameters.updateValue(circleId, forKey: "id")
+        SwiftMoyaNetWorkManager.shared.requestObject(CommunityCircleUserListModel.self, target: MultiTarget(SwiftMoyaServiceCommunityApi.communityCircleMembers(parameters: parameters)), completion: { (communityCircleUserListModel) in
+            completion(communityCircleUserListModel)
+        }) { (loadingStatus) in
+            fail(loadingStatus)
+        }
+    }
 }

+ 16 - 4
RainbowPlanet/RainbowPlanet/Service/SwiftMoyaService/SwiftMoyaServiceApi/SwiftMoyaServiceCommunity/SwiftMoyaServiceCommunityApi.swift

@@ -128,6 +128,10 @@ public let kCommunityCircleJoinApi = "/community/circle/join"
 /// 圈子进入问题
 public let kCommunityCircleQuestionApi = "/community/circle/question"
 
+// MARK: -  圈子用户列表
+///  圈子用户列表
+public let kCommunityCircleMembersApi = "/community/circle/members"
+
 
 /// 社区
 ///
@@ -161,6 +165,7 @@ public let kCommunityCircleQuestionApi = "/community/circle/question"
 /// - communityCircleJoinPost : 加入圈子
 /// - communityCircleJoinDelete : 退出圈子
 /// - communityCircleQuestion : 圈子进入问题
+/// - communityCircleMembers : 圈子用户列表
 
 
 public enum SwiftMoyaServiceCommunityApi {
@@ -195,6 +200,7 @@ public enum SwiftMoyaServiceCommunityApi {
     case communityCircleJoinPost(parameters:Dictionary<String, Any>)
     case communityCircleJoinDelete(parameters:Dictionary<String, Any>)
     case communityCircleQuestion(parameters:Dictionary<String, Any>)
+    case communityCircleMembers(parameters:Dictionary<String, Any>)
     
 }
 
@@ -232,7 +238,8 @@ extension SwiftMoyaServiceCommunityApi: TargetType {
              .communityCircle,
              .communityCircleJoinPost,
              .communityCircleJoinDelete,
-             .communityCircleQuestion
+             .communityCircleQuestion,
+             .communityCircleMembers
             :
             return URL(string: kApiDataPrefix())!
         }
@@ -302,6 +309,8 @@ extension SwiftMoyaServiceCommunityApi: TargetType {
             return kCommunityCircleJoinApi
         case .communityCircleQuestion:
             return kCommunityCircleQuestionApi
+        case .communityCircleMembers:
+            return kCommunityCircleMembersApi
         }
     }
     
@@ -335,7 +344,8 @@ extension SwiftMoyaServiceCommunityApi: TargetType {
              .communityGetMusicCategory,
              .communityCateMusicList,
              .communityCircle,
-             .communityCircleQuestion
+             .communityCircleQuestion,
+             .communityCircleMembers
             :
             return .get
         case .communityMemberFollowTopicCancelFollow,
@@ -381,7 +391,8 @@ extension SwiftMoyaServiceCommunityApi: TargetType {
              .communityCircle(var parameters),
              .communityCircleJoinPost(var parameters),
              .communityCircleJoinDelete(var parameters),
-             .communityCircleQuestion(var parameters)
+             .communityCircleQuestion(var parameters),
+             .communityCircleMembers(var parameters)
             :
             let sign = SwiftSign.shared().sign(signType:.AccessToken, parameters: parameters)
             parameters.updateValue(sign, forKey: "sign")
@@ -434,7 +445,8 @@ extension SwiftMoyaServiceCommunityApi: TargetType {
              .communityCircle,
              .communityCircleJoinPost,
              .communityCircleJoinDelete,
-             .communityCircleQuestion
+             .communityCircleQuestion,
+             .communityCircleMembers
             :
             return (headerParameters(headerType: .tokenHeader) as! [String : String])
         }