//
|
// Services.swift
|
// YixiuShop
|
//
|
// Created by Sweet on 2019/9/30.
|
// Copyright © 2019 jackLove. All rights reserved.
|
//
|
|
import UIKit
|
import RxSwift
|
import Alamofire
|
import JQTools
|
|
#if DEBUG
|
let All_Url = "http://192.168.110.80:5209"
|
#else
|
let All_Url = "http://192.168.110.80:5209"
|
#endif
|
|
// MARK: -- 首页部分
|
|
extension Services{
|
class func homeInfo()->Observable<BaseResponse<HomeStoreModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/account/api/appUser/queryJoinPlayPai")
|
.append(key: "lat", value: locationTool.currentLocation?.coordinate.latitude)
|
.append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
class func homeStoreConfig(storeId:Int)->Observable<BaseResponse<[HomeStoreConfigModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/other/base/store/queryStoreConfig")
|
.append(key: "storeId", value: storeId)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
}
|
|
|
// MARK: -- 登录部分
|
class Services: NSObject {
|
static let pageSize: Int = 20
|
class func login(phone:String,verity:String,type:LoginType)->Observable<BaseResponse<String>>{
|
let params = ParamsAppender.build(url: All_Url)
|
if type == .pwd{
|
params.interface(url: "/account/base/appUser/loginPassword")
|
params.append(key: "password", value: verity.jq_md5String().uppercased())
|
}else{
|
params.interface(url: "/account/base/appUser/loginSMSCode")
|
params.append(key: "code", value: verity)
|
}
|
params.append(key: "phone", value: phone)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
class func getSMSCode(phone:String,type:GetSMSCodeType)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/account/base/appUser/getSMSCode")
|
.append(key: "phone", value: phone)
|
.append(key: "type", value: type.rawValue)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
class func register(phone:String,password:String,code:String)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/account/base/appUser/addAppUser")
|
.append(key: "phone", value: phone)
|
.append(key: "password", value: password.jq_md5String().uppercased())
|
.append(key: "code", value: code)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
class func updatePwd(phone:String,password:String,code:String)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/account/base/appUser/updatePassword")
|
.append(key: "phone", value: phone)
|
.append(key: "password", value: password.jq_md5String().uppercased())
|
.append(key: "code", value: code)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
class func forgetPwd(phone:String,password:String,code:String)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/account/base/appUser/forgetPassword")
|
.append(key: "phone", value: phone)
|
.append(key: "password", value: password.jq_md5String().uppercased())
|
.append(key: "code", value: code)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
}
|
|
// MARK: -- 课程相关
|
extension Services {
|
class func queryCourseList(typeId:Int? = nil,distanceSort:SortType? = nil,salesRanking:SortType? = nil,search:String? = nil,storeId:Int? = nil)->Observable<BaseResponse<[CourseItemModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/course/api/course/queryCourseList")
|
.append(key: "lat", value: locationTool.currentLocation?.coordinate.latitude)
|
.append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude)
|
.append(key: "coursePackageTypeId", value: typeId)
|
.append(key: "distanceSort", value: distanceSort?.rawValue)
|
.append(key: "salesRanking", value: salesRanking?.rawValue)
|
.append(key: "search", value: search)
|
.append(key: "storeId", value: storeId)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
class func coursePackageType()->Observable<BaseResponse<[NormalSimpleModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/course/api/course/queryCoursePackageType")
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
class func queryStoreList()->Observable<BaseResponse<[NormalSimpleModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/other/base/store/queryStoreLists")
|
.append(key: "lat", value: locationTool.currentLocation?.coordinate.latitude)
|
.append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
class func queryCourseInfo(id:Int)->Observable<BaseResponse<CourseDetailModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/course/api/course/queryCourseInfo")
|
.append(key: "id", value: id)
|
.append(key: "lat", value: locationTool.currentLocation?.coordinate.latitude)
|
.append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude)
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
}
|
|
// MARK: -- 其他
|
extension Services{
|
class func queryProtocol(_ type:AgreentType,progress:Bool = true)->Observable<BaseResponse<String>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/other/base/protocol/queryProtocol")
|
.append(key: "type", value: type.rawValue)
|
return NetworkRequest.request(params: params, method: .post, progress: progress)
|
}
|
|
class func querySystemImg(type:SystemImgType)->Observable<BaseResponse<String>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/other/base/systemImg/querySystemImg")
|
.append(key: "position", value: type.rawValue)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
}
|
|
extension Services{
|
static func startNetworkMonitor(){
|
let manager = NetworkReachabilityManager(host: All_Url)
|
manager?.startListening(onUpdatePerforming: { status in
|
switch status {
|
case .notReachable:alertError(msg: "当前网络不可用")
|
case .reachable(let type):
|
switch type{
|
case .ethernetOrWiFi:alert(msg: "当前为Wi-Fi网络")
|
case .cellular:alert(msg: "当前为移动网络")
|
}
|
default:break
|
}
|
})
|
|
}
|
}
|