123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- //
- // IHLgoinAPi.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/6.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import Moya
- import Alamofire
- //import RxSwift
- //import RxCocoa
- let LoginProvider = MoyaProvider<LoginApi>(plugins: [NetworkLoggerPlugin(verbose: true, responseDataFormatter: JSONResponseDataFormatter),networkActivityPlugin])
- func JSONResponseDataFormatter(_ data: Data) -> Data {
- do {
- let dataAsJSON = try JSONSerialization.jsonObject(with: data)
- let prettyData = try JSONSerialization.data(withJSONObject: dataAsJSON, options: .prettyPrinted)
- return prettyData
- } catch {
- return data //fallback to original data if it cant be serialized
- }
- }
- let networkActivityPlugin = NetworkActivityPlugin { (change,target) -> () in
- switch(change) {
- case .ended:
- DispatchQueue.main.async {
- UIApplication.shared.isNetworkActivityIndicatorVisible = false
- }
-
- case .began:
- DispatchQueue.main.async {
- UIApplication.shared.isNetworkActivityIndicatorVisible = true
- }
- }
- }
- enum LoginApi {
- case common_get_code_image
- case common_login(username:String,client_key:String,password:String,os:String,version:String,code:String?)
- case common_hotel_nav
- case common_build_nav(hotelId:String)
- case common_floor_nav(buildId:String)
- case common_room_nav(floorId:String)
- case common_get_user_role(username:String)
- case common_register_user(username:String,password:String,truePassword:String,name:String,age:String,roomId:String,avatar:String)
- case user_get_room_status(username:String,client_key:String,os:String,version:String,token:String)
- }
- extension LoginApi: TargetType{
- var base :String {
- return moyaBase
- }
- var baseURL: URL {
- return URL(string:base)!
- }
-
- var path: String {
- switch self {
- case .common_get_code_image:
- return "common/get_code_image"
- case .common_login:
- return "common/login"
- case .common_hotel_nav:
- return "common/hotel_nav"
- case .common_build_nav:
- return "common/build_nav"
- case .common_floor_nav:
- return "common/floor_nav"
- case .common_room_nav:
- return "common/room_nav"
- case .common_get_user_role:
- return "common/get_user_role"
- case .common_register_user:
- return "common/register_user"
- case .user_get_room_status:
- return "user/get_room_status"
- }
- }
-
- var method: Moya.Method {
- return .post
- }
-
- var sampleData: Data {
- switch self {
- case .common_get_code_image:
- return stubbedResponse("common_get_code_image")
- case .common_login:
- return stubbedResponse("common_login")
- case .common_hotel_nav:
- return stubbedResponse("common_login")
- case .common_build_nav:
- return stubbedResponse("common_login")
- case .common_floor_nav:
- return stubbedResponse("common_login")
- case .common_room_nav:
- return stubbedResponse("common_login")
- case .common_get_user_role:
- return stubbedResponse("common_get_user_role")
- case .common_register_user:
- return stubbedResponse("common_register_user")
- case .user_get_room_status:
- return stubbedResponse("user_get_room_status")
- }
- }
-
- var task: Task {
- switch self {
- case .common_get_code_image:
- return .requestParameters(parameters: [String:Any](),
- encoding: URLEncoding.default)
- case .common_login(let username,let client_key,let password,let os,let version,let code):
- var p = ["username" :username,
- "client_key":client_key,
- "password" : password,
- "os":os,
- "version":version ]
- if let code = code {
- p["code"] = code
- }
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
-
- case .common_hotel_nav:
- let p = ["1":"1"]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_build_nav(let hotelId):
- let p = ["hotelId":hotelId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_floor_nav(let buildId):
- let p = ["buildId":buildId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_room_nav(let floorId):
- let p = ["floorId":floorId]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_get_user_role(let username):
- let p = ["username":username]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .common_register_user(let username, let password, let truePassword, let name, let age, let roomId,let avatar):
- let p = ["username":username,"password":password,"truePassword":truePassword,"name":name,"age":age,"roomId":roomId,"avatar":avatar]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- case .user_get_room_status(let username, let client_key, let os, let version, let token):
- let p = ["username" :username,
- "client_key":client_key,
- "os":os,
- "version":version,
- "token":token ]
- return .requestParameters(parameters: p,
- encoding: URLEncoding.default)
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
- }
|