jsdw_ios/QuickLocation/Service/SystemService.swift

73 lines
2.2 KiB
Swift

//
// SystemService.swift
// QuickLocation
//
// Created by 八条 on 2026/5/26.
//
import RxSwift
import Moya
struct SystemService {
static let disposeBag = DisposeBag()
/// 获取初始化数据
static func userConfig() -> Observable<UserConfigResponse> {
return APIProvider.request(token: SystemAPI.userConfig.multiTarget, handle: false)
.map(UserConfigResponse.self)
.asObservable()
}
/// 获取验证码
static func sendSmsCode(phone: String) -> Observable<SmsCodeResponse> {
let api = SystemAPI.sendCode(phone: phone).multiTarget
return APIProvider.request(token: api)
.map(SmsCodeResponse.self)
.asObservable()
}
/// 微信客服
static func wechatService() -> Observable<ResponseModel> {
let api = SystemAPI.wechatService.multiTarget
return APIProvider.request(token: api)
.map(ResponseModel.self)
.asObservable()
}
/// SOS
static func sos(enable: Bool) -> Observable<ResponseModel> {
let api = SystemAPI.sos(enable: enable).multiTarget
return APIProvider.request(token: api)
.map(ResponseModel.self)
.asObservable()
}
static func sosList() -> Observable<SOSListResponse> {
let api = SystemAPI.sosList.multiTarget
return APIProvider.request(token: api, handle: false)
.map(SOSListResponse.self)
.asObservable()
}
/// 查找
/// - Parameters:
/// - op_type: plate_num 车牌 phone 手机号
/// - number: 对应号码
static func search(op_type: String, number: String) -> Observable<ResponseModel> {
let api = SystemAPI.search(op_type: op_type, number: number).multiTarget
return APIProvider.request(token: api, handle: false)
.map(ResponseModel.self)
.asObservable()
}
/// 手机归属地
/// - Parameters:
/// - phone 手机号
static func phoneArea(phone: String) -> Observable<ResponseModel> {
let api = SystemAPI.phoneArea(phone: phone).multiTarget
return APIProvider.request(token: api)
.map(ResponseModel.self)
.asObservable()
}
}