无故事王国
2023-09-25 453b79dabc0d769a246136877b5d670802f84539
WanPai/Network/Services.swift
@@ -13,108 +13,139 @@
#if DEBUG
let All_Url = "http://192.168.110.22:56666"
let Game_Url = "https://try.daowepark.com"
//let All_Url = "https://console-mock.apipost.cn/mock/b5b2dee0-5564-40ae-f082-a352d502a153"
//let All_Url = "http://192.168.110.165:10393/mock/b5b2dee0-5564-40ae-f082-a352d502a153"
#else
let All_Url = "http://192.168.110.80:5209"
let Game_Url = "https://port.daowepark.com"
#endif
    // MARK: -- 首页部分
class Services: NSObject {
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.string)
            .append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude.string)
        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)
    }
        /// 获取banner图
        /// - Parameter position: 位置(1=首页,2=首页底部,3=线上课得积分,4=看视频得奖励,5=常见问题)
    class func bannerList(position:BannerPositionType)->Observable<BaseResponse<[BannerModel]>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/other/base/banner/queryBannerList")
         .append(key: "position", value: position.rawValue)
        return NetworkRequest.request(params: params, method: .post, progress: false)
    }
}
// MARK: -- 游戏
extension Services{
    // 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 game_gameList(spaceId:String,sutuId:String)->Observable<BaseResponse<[GameListModel]>>{
      let params = ParamsAppender.build(url: Game_Url)
         .interface(url: "/v7/user_api/general/gameList")
         .append(key: "space_id", value: spaceId)
         .append(key: "sutu_id", value: sutuId)
         .append(key: "sign", value: "0DB011836143EEE2C2E072967C9F4E4B")
      return NetworkRequest.request(params: params, method: .post, encoding: JSONEncoding.default, progress: false)
   }
    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 game_gameStart(gameId:Int,spaceId:String,sutuId:String,userID:Int)->Observable<BaseResponse<SimpleModel>>{
      let params = ParamsAppender.build(url: Game_Url)
         .interface(url: "/v7/user_api/general/gameStart")
         .append(key: "space_id", value: spaceId)
         .append(key: "sutu_id", value: sutuId)
         .append(key: "game_id", value: gameId)
         .append(key: "app_user_id", value: userID)
         .append(key: "sign", value: "0DB011836143EEE2C2E072967C9F4E4B")
      return NetworkRequest.request(params: params, method: .post, encoding: JSONEncoding.default, progress: false)
   }
}
    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)
    }
   // MARK: -- 登录部分
extension Services{
   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 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 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 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)
    }
   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 userDetails()->Observable<BaseResponse<UserInfoModel>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/account/api/useBenefit/userDetails")
        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)
   }
        /// 勋章
    static func studMedalList(studentId:Int)->Observable<BaseResponse<[StudentMedalModel]>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/account/api/startCource/stuGoog")
            .append(key: "stuId", value: studentId)
        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)
   }
      /// 用户详情
   class func userDetails()->Observable<BaseResponse<UserInfoModel>>{
      let params = ParamsAppender.build(url: All_Url)
         .interface(url: "/account/api/useBenefit/userDetails")
      return NetworkRequest.request(params: params, method: .post, progress: true)
   }
      /// 勋章
   static func studMedalList(studentId:Int)->Observable<BaseResponse<[StudentMedalModel]>>{
      let params = ParamsAppender.build(url: All_Url)
         .interface(url: "/account/api/startCource/stuGoog")
         .append(key: "stuId", value: studentId)
      return NetworkRequest.request(params: params, method: .post, progress: true)
   }
}
   // 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.string)
         .append(key: "lon", value: locationTool.currentLocation?.coordinate.longitude.string)
      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)
   }
      /// 获取banner图
      /// - Parameter position: 位置(1=首页,2=首页底部,3=线上课得积分,4=看视频得奖励,5=常见问题)
   class func bannerList(position:BannerPositionType)->Observable<BaseResponse<[BannerModel]>>{
      let params = ParamsAppender.build(url: All_Url)
         .interface(url: "/other/base/banner/queryBannerList")
         .append(key: "position", value: position.rawValue)
      return NetworkRequest.request(params: params, method: .post, progress: false)
   }
}
// MARK: -- 福利相关
@@ -502,7 +533,7 @@
      return NetworkRequest.request(params: params, method: .post, progress: true)
   }
      /// 未分配课时
      /// 有未分配课时
   static func weeksOfGetHours()->Observable<BaseResponse<Int>>{
      let params = ParamsAppender.build(url: All_Url)
         .interface(url: "/account/api/startCource/weeksOfGetHours")