| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- //
- // O2MeetingAPI.swift
- // o2app
- //
- // Created by 刘振兴 on 2018/1/16.
- // Copyright © 2018年 zone. All rights reserved.
- //
- import Foundation
- import Moya
- import O2OA_Auth_SDK
- // MARK:- 所有调用的API枚举
- enum O2MeetingAPI {
- //会议地点
- case buildByCreate
- case buildSearchByPingYin(String)
- case buildListByAll
- case buildListBySearchKey(String)
- case buildListByPinYinInitialSearch(String)
- case buildListByStartAndCompletedDate(String,String)
- case buildItemById(String)
-
- //会议房间
- case roomByCreate
- case roomSearchByPinYin(String)
- case roomListByAll
- case roomListBySearchKey(String)
- case roomListByPinYinInitialSearch(String)
- case roomItemById(String)
-
- //会议按年月列表
- case meetingListByYearMonth(String,String)
- case meetingListByYearMonthDay(String,String,String)
- case meetingListByAccept
- case meetingListByApplied
- case meetingListForDayCount(String)
-
- case meetingItemById(String)
- case meetingItemAcceptById(String)
- case meetingItemAddInvitedById(String)
- case meetingItemConfirmAllowById(String)
- case meetingItemConfirmDenyById(String)
- case meetingItemCompletedById(String)
- case meetingItemRejectById(String)
-
- case meetingItemByCreate(OOMeetingFormBean)
-
-
-
-
-
- }
- // MARK:- 上下文实现
- extension O2MeetingAPI:OOAPIContextCapable {
- var apiContextKey: String {
- return "x_meeting_assemble_control"
- }
- }
- // MARK: - 是否需要加入x-token访问头
- extension O2MeetingAPI:OOAccessTokenAuthorizable {
- public var shouldAuthorize: Bool {
- return true
- }
- }
- extension O2MeetingAPI:TargetType{
- var baseURL: URL {
- let model = O2AuthSDK.shared.o2APIServer(context: .x_meeting_assemble_control)
- let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 0)\(model?.context ?? "")"
- return URL(string: baseURLString)!
- }
-
- var path: String {
- switch self {
- //会议地点
- case .buildByCreate:
- return "/jaxrs/building"
- case .buildSearchByPingYin(let pinyin):
- return "/jaxrs/building/list/like/pinyin/\(pinyin.urlEscaped)"
- case .buildListByAll:
- return "/jaxrs/building/list"
- case .buildListBySearchKey(let searchKey):
- return "/jaxrs/building/list/like/\(searchKey.urlEscaped)"
- case .buildListByPinYinInitialSearch(let pinyininitial):
- return "/jaxrs/building/list/pinyininitial/\(pinyininitial.urlEscaped)"
- case .buildListByStartAndCompletedDate(let start,let completed):
- return "/jaxrs/building/list/start/\(start)/completed/\(completed)"
- case .buildItemById(let id):
- return "/jaxrs/building/\(id)"
-
- //会议房间
- case .roomByCreate:
- return "/jaxrs/room"
- case .roomSearchByPinYin(let pinyin):
- return "/jaxrs/room/list/like/pinyin/\(pinyin)"
- case .roomListByAll:
- return "/jaxrs/room/list"
- case .roomListBySearchKey(let searchkey):
- return "/jaxrs/room/list/like/\(searchkey)"
- case .roomListByPinYinInitialSearch(let pinyininitial):
- return "/jaxrs/room/list/pinyininitial/\(pinyininitial)"
- case .roomItemById(let id):
- return "/jaxrs/room/\(id)"
-
- //会议按年月列表
- case .meetingListByYearMonth(let year,let month):
- return "/jaxrs/meeting/list/year/\(year)/month/\(month)"
- case .meetingListByYearMonthDay(let year,let month,let day):
- return "/jaxrs/meeting/list/year/\(year)/month/\(month)/day/\(day)"
- case .meetingListByAccept:
- return "/jaxrs/meeting/list/wait/accept"
- case .meetingListByApplied:
- return "/jaxrs/meeting/list/applied/wait"
- case .meetingListForDayCount(let day):
- return "/jaxrs/meeting/list/coming/day/\(day)"
-
- case .meetingItemById(let id):
- return "/jaxrs/meeting/\(id)"
- case .meetingItemAcceptById(let id):
- return "/jaxrs/meeting/\(id)/accept"
- case .meetingItemAddInvitedById(let id):
- return "/jaxrs/meeting/\(id)/add/invite"
- case .meetingItemConfirmAllowById(let id):
- return "/jaxrs/meeting/\(id)/confirm/allow"
- case .meetingItemConfirmDenyById(let id):
- return "/jaxrs/meeting/\(id)/confirm/deny"
- case .meetingItemCompletedById(let id):
- return "/jaxrs/meeting/\(id)/manual/completed"
- case .meetingItemRejectById(let id):
- return "/jaxrs/meeting/\(id)/reject"
- case .meetingItemByCreate(_):
- return "/jaxrs/meeting"
- }
-
- }
-
- var method: Moya.Method {
- switch self {
- //会议地点
- case .buildByCreate:
- return .put
- case .buildSearchByPingYin(_):
- return .get
- case .buildListByAll:
- return .get
- case .buildListBySearchKey(_):
- return .get
- case .buildListByPinYinInitialSearch(_):
- return .get
- case .buildListByStartAndCompletedDate(_,_):
- return .get
- case .buildItemById(_):
- return .get
-
- //会议房间
- case .roomByCreate:
- return .put
- case .roomSearchByPinYin(_):
- return .get
- case .roomListByAll:
- return .get
- case .roomListBySearchKey(_):
- return .get
- case .roomListByPinYinInitialSearch(_):
- return .get
- case .roomItemById(_):
- return .get
-
- //会议按年月列表
- case .meetingListByYearMonth(_,_):
- return .get
- case .meetingListByYearMonthDay(_,_,_):
- return .get
- case .meetingListByAccept:
- return .get
- case .meetingListByApplied:
- return .get
- case .meetingListForDayCount(_):
- return .get
-
- case .meetingItemById(_):
- return .get
- case .meetingItemAcceptById(_):
- return .get
- case .meetingItemAddInvitedById(_):
- return .get
- case .meetingItemConfirmAllowById(_):
- return .get
- case .meetingItemConfirmDenyById(_):
- return .get
- case .meetingItemCompletedById(_):
- return .get
- case .meetingItemRejectById(_):
- return .get
- case .meetingItemByCreate(_):
- return .post
- }
- }
-
- var sampleData: Data {
- return "".data(using: String.Encoding.utf8)!
- }
-
- var task: Task {
- switch self {
- case .meetingItemByCreate(let mBean):
- return .requestParameters(parameters: mBean.toJSON()!, encoding: JSONEncoding.default)
- default:
- return .requestPlain
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
-
- }
|