//
|
// Services.swift
|
// YixiuShop
|
//
|
// Created by Sweet on 2019/9/30.
|
// Copyright © 2019 jackLove. All rights reserved.
|
//
|
|
import UIKit
|
import RxSwift
|
import Alamofire
|
import JQTools
|
import CoreLocation
|
|
#if DEBUG
|
let All_Url = "https://mock.apipost.net/mock/31b303c60464000"
|
#else
|
let All_Url = "http://" //正式地址
|
#endif
|
|
class Services: NSObject {
|
|
}
|
|
// MARK: -- 登录
|
extension Services{
|
|
/// 密码登录
|
class func loginBy(phone:String,content:String,type:LoginType)->Observable<BaseResponse<LoginUserInfoModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
|
switch type {
|
case .pwd:
|
params.interface(url: "/auth/app/login")
|
.append(key: "cellPhone", value: phone)
|
.append(key: "password", value: content.jq_md5String().uppercased())
|
.append(key: "apipost_id", value: "246d780670e267")
|
case .code:
|
params.interface(url: "/auth/app/captchaLogin")
|
.append(key: "cellPhone", value: phone)
|
.append(key: "captcha",value:content)
|
.append(key: "apipost_id", value: "246d780670e265")
|
}
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
/// 发送验证码
|
class func sendCode(type:SendCodeType)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/auth/app/sendCaptchaCode")
|
.append(key: "type", value: type.rawValue)
|
.append(key: "apipost_id", value: "246d7806b0e269")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
|
/// 注册
|
class func register(cellPhone:String,captcha:String,inviteUserId:String? = nil,password:String)->Observable<BaseResponse<LoginUserInfoModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/auth/app/register")
|
.append(key: "cellPhone", value: cellPhone)
|
.append(key: "captcha", value: captcha)
|
.append(key: "inviteUserId", value: inviteUserId)
|
.append(key: "password", value: password.jq_md5String().uppercased())
|
.append(key: "apipost_id", value: "246d7806b0e268")
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
/// 找回密码验证手机号
|
class func forgotPwdVerifyCode(cellPhone:String,captcha:String)->Observable<BaseResponse<VerifiyForgotPwdModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/auth/app/verifyPhone")
|
.append(key: "cellPhone", value: cellPhone)
|
.append(key: "captcha", value: captcha)
|
.append(key: "apipost_id", value: "246d7806b0e26b")
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
|
class func updatePwd(cellPhone:String,password:String,secretCode:String)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/auth/app/changePassword")
|
.append(key: "cellPhone", value: cellPhone)
|
.append(key: "password", value: password.jq_md5String().uppercased())
|
.append(key: "secret", value: secretCode)
|
.append(key: "apipost_id", value: "246d780670e266")
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
}
|
|
// MARK: -- 主页
|
extension Services{
|
class func getBGM()->Observable<BaseResponse<[BGMModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getHomeBackgroundMusicList")
|
.append(key: "apipost_id", value: "25c3e3d0b0e155")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
|
|
/// 获取分类数据
|
/// - Parameter type: 类型 1=顶部4个 2=下面3个
|
class func getCategoryListByType(type:Int)->Observable<BaseResponse<[ItemTypeModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getCategoryListByType")
|
.append(key: "apipost_id", value: "25c3e3d070e154")
|
.append(key: "type", value: type)
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
/// 获取今日冥想
|
class func getTopdayMedita()->Observable<BaseResponse<ToDayMeditationModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getTodayMeditation")
|
.append(key: "apipost_id", value: "25c3e3d0b0e15d")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 获取私人定制
|
class func getPersonalityPlan()->Observable<BaseResponse<[MeditationModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getPersonalityPlan")
|
.append(key: "apipost_id", value: "25c3e3d0b0e15c")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 获取全部的冥想音频及分类列表
|
class func getMeditationAndCateList()->Observable<BaseResponse<[MeditationListModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getMeditationAndCateList")
|
.append(key: "apipost_id", value: "25c3e3d0b0e157")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
|
class func getMeditationPage(_ cateId:Int,page:Int,pageSize:Int = 20)->Observable<BaseResponse<BaseResponseList<MeditationModel>>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getMeditationAndCateList")
|
.append(key: "cateId", value: cateId)
|
.append(key: "pageCurr", value: page)
|
.append(key: "pageSize", value: pageSize)
|
.append(key: "apipost_id", value: "25c3e3d0b0e15a")
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
/// 获取冥想音频详情
|
class func getMeditationDetail(id:Int)->Observable<BaseResponse<MeditationModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getMeditationDetails")
|
.append(key: "id", value: id)
|
.append(key: "apipost_id", value: "25c3e3d0b0e158")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
|
|
/// 获取冥想音频提问列表-分页
|
class func getMeditationQuestion(id:Int,page:Int,pageSize:Int = 20)->Observable<BaseResponse<BaseResponseList<CommentModel>>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getMeditationQuestionPage")
|
.append(key: "id", value: id)
|
.append(key: "pageCurr", value: page)
|
.append(key: "pageSize", value: pageSize)
|
.append(key: "apipost_id", value: "25c3e3d0b0e15b")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 举报提问
|
class func meditationReport(id:Int,reason:String)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/report")
|
.append(key: "id", value: id)
|
.append(key: "reason", value: reason)
|
.append(key: "apipost_id", value: "25c3e3d0b0e15e")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
|
/// 收藏/取消收藏
|
class func meditationFavorite(id:Int)->Observable<BaseResponse<SimpleModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/favorite")
|
.append(key: "id", value: id)
|
.append(key: "apipost_id", value: "2aa4e14ab0e159")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
|
/// 获取热词
|
class func getHotWordList()->Observable<BaseResponse<[String]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getHotWordList")
|
.append(key: "apipost_id", value: "25c3e3d0b0e156")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 搜索
|
class func search(text:String,page:Int,pageSize:Int = 20)->Observable<BaseResponse<BaseResponseList<MeditationModel>>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/home/getHotWordList")
|
.append(key: "condition", value: text)
|
.append(key: "pageCurr", value: page)
|
.append(key: "pageSize", value: pageSize)
|
.append(key: "apipost_id", value: "25c3e3d0b0e160")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
}
|
|
/// 课程
|
extension Services{
|
//课程分类
|
class func getCourseCategory()->Observable<BaseResponse<[CategoryModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/course/client/course/course/getCourseCategoryList")
|
.append(key: "apipost_id", value: "2d2eb9d1f993bb")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
|
/// 获取banner
|
class func getCourseBannerList()->Observable<BaseResponse<[CategoryModel]>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/course/client/course/course/getBannerList")
|
.append(key: "apipost_id", value: "2d2eb9d1f993ba")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 获取课程列表
|
class func getCoursePageList(page:Int,pageSize:Int = 20,cateId:String? = nil,courseTitle:String? = nil)->Observable<BaseResponse<BaseResponseList<CourseModel>>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/course/client/course/course/getCoursePageList")
|
.append(key: "pageCurr", value: page)
|
.append(key: "pageSize", value: pageSize)
|
.append(key: "cateId", value: cateId)
|
.append(key: "courseTitle", value: courseTitle)
|
.append(key: "apipost_id", value: "2d6f7f04f99813")
|
return NetworkRequest.request(params: params, method: .post, progress: false)
|
}
|
|
class func getCourseDetail(courseId:Int)->Observable<BaseResponse<CourseModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/course/client/course/course/getPayCourseInfoById")
|
.append(key: "id", value: courseId)
|
.append(key: "apipost_id", value: "2d2eb9d23993bd")
|
return NetworkRequest.request(params: params, method: .post, progress: true)
|
}
|
}
|
|
/// 疗愈馆
|
extension Services{
|
/// 疗愈馆
|
class func getPavlilonPage(location:CLLocationCoordinate2D?,search:String? = nil,page:Int,pageSize:Int = 20)->Observable<BaseResponse<BaseResponseList<PavilionDetailModel>>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/meditation/getMeditationPage")
|
.append(key: "name", value: search)
|
.append(key: "lat", value: location?.latitude)
|
.append(key: "lon", value: location?.longitude)
|
.append(key: "pageCurr", value: page)
|
.append(key: "pageSize", value: pageSize)
|
.append(key: "apipost_id", value: "2d2eb5e7f991ab")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
/// 疗愈馆
|
class func getPavlilonDetail(id:Int)->Observable<BaseResponse<PavilionDetailModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
params.interface(url: "/meditation/client/meditation/meditation/getMeditationInfo")
|
.append(key: "id", value: id)
|
.append(key: "apipost_id", value: "2d2eb5e7b991aa")
|
return NetworkRequest.request(params: params, method: .get, progress: true)
|
}
|
}
|
|
extension Services{
|
/// 获取协议
|
class func agreementBy(_ type:AgreementType)->Observable<BaseResponse<HtmlModel>>{
|
let params = ParamsAppender.build(url: All_Url)
|
.interface(url: "/system/public/getContent")
|
.append(key: "key", value: type.rawValue)
|
.append(key: "apipost_id", value: "2478a330b0e0e3")
|
return NetworkRequest.request(params: params, method: .get, progress: false)
|
}
|
|
}
|