// // GroupService.swift // QuickLocation // // Created by 八条 on 2026/6/1. // import RxSwift import Moya struct GroupService { static let disposeBag = DisposeBag() /// 所有圈子信息 static func groupInfo() -> Observable { let api = GroupAPI.groupInfo.multiTarget return APIProvider.request(token: api) .map(UserGroupResponse.self) .asObservable() } /// 圈子操作(创建、解散、设为默认等) /// - Parameters: /// - opType: create、dismiss、setdefault /// - requestData:[String: Any] 根据操作传入对应的值 static func operate(opType: String, requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: opType, requestData: requestData).multiTarget return APIProvider.request(token: api) .map(ResponseModel.self) .asObservable() } /// 推荐 static func recommand(count: Int) -> Observable { let api = GroupAPI.operate(opType: "recommand", requestData: ["recommand_count": count]).multiTarget return APIProvider.request(token: api) .map(RecommandGroupResponse.self) .asObservable() } /// 根据key查圈子信息 static func groupInfoByKey(_ key: String) -> Observable { let api = GroupAPI.operate(opType: "info", requestData: ["group_key": key]).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } /// 修改名字 /// - Parameters: /// - requestData:group_key group_name static func editName(requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: "changename", requestData: requestData).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } /// 更换图标 /// - Parameters: /// - requestData:group_key icon_index static func changeIcon(requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: "changeicon", requestData: requestData).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } /// 修改描述 /// - Parameters: /// - requestData:group_key description static func editDesc(requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: "changedescription", requestData: requestData).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } /// 审核开关 /// - Parameters: /// - requestData:group_key review static func changeReview(requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: "changereview", requestData: requestData).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } /// 更改标签 /// - Parameters: /// - requestData:group_key labels static func editLabels(requestData: [String: Any]) -> Observable { let api = GroupAPI.operate(opType: "changelabels", requestData: requestData).multiTarget return APIProvider.request(token: api) .map(GroupInfoResponse.self) .asObservable() } }