// // SystemAPI.swift // SHECommunity // // Created by 林 on 2024/11/27. // import Moya internal import Alamofire /// App通用API enum SystemAPI { /// 获取用户配置 case userConfig /// 发送验证码 /// - Parameters: /// - phone: 手机号 case sendCode(phone: String) /// 微信客服 case wechatService /// SOS case sos(enable: Bool) /// 查找 /// - Parameters: /// - op_type: plate_num 车牌 /// - phone 手机号 case search(op_type: String, number: String) /// 手机归属地 /// - Parameters: /// - phone 手机号 case phoneArea(phone: String) } extension SystemAPI: MultiTargetProtocol { var path: String { switch self { case .userConfig: return "api/user/config" case .sendCode: return "api/user/sms/code" case .wechatService: return "api/weixin/service" case .sos: return "mapi/sos/operate" case .search: return "mapi/car/search" case .phoneArea: return "mapi/phonearea" } } var method: Moya.Method { switch self { case .userConfig, .wechatService, .phoneArea: return .get default: return .post } } var task: Moya.Task { switch self { case .userConfig: return .requestParameters(parameters: parameters, encoding: URLEncoding()) case let .sendCode(phone): var params = Parameters() params["phone"] = phone return .requestParameters(parameters: params, encoding: JSONEncoding()) case .wechatService: return .requestParameters(parameters: parameters, encoding: URLEncoding()) case let .sos(enable): var params = Parameters() params["enable"] = enable return .requestParameters(parameters: params, encoding: JSONEncoding()) case let .search(op_type, number): var params = Parameters() params["op_type"] = op_type params["number"] = number return .requestParameters(parameters: params, encoding: JSONEncoding()) case let .phoneArea(phone): var params = Parameters() params["phone"] = phone return .requestParameters(parameters: params, encoding: URLEncoding()) } } }