49 lines
1.6 KiB
Swift
49 lines
1.6 KiB
Swift
//
|
||
// GroupService.swift
|
||
// QuickLocation
|
||
//
|
||
// Created by 八条 on 2026/6/1.
|
||
//
|
||
|
||
import RxSwift
|
||
import Moya
|
||
|
||
struct GroupService {
|
||
static let disposeBag = DisposeBag()
|
||
|
||
/// 所有圈子信息
|
||
static func groupInfo() -> Observable<UserGroupResponse> {
|
||
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<ResponseModel> {
|
||
let api = GroupAPI.operate(opType: opType, requestData: requestData).multiTarget
|
||
return APIProvider.request(token: api)
|
||
.map(ResponseModel.self)
|
||
.asObservable()
|
||
}
|
||
|
||
/// 推荐
|
||
static func recommand(count: Int) -> Observable<RecommandGroupResponse> {
|
||
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<GroupInfoResponse> {
|
||
let api = GroupAPI.operate(opType: "info", requestData: ["group_key": key]).multiTarget
|
||
return APIProvider.request(token: api)
|
||
.map(GroupInfoResponse.self)
|
||
.asObservable()
|
||
}
|
||
}
|