1.ApiService介绍
文件路径:classes/Network/ApiService.swift
- ApiService 请求携带参数
/// 接口枚举
enum ApiService {
// login & register
case register(country_code: String = "86", phone: String, password: String, captcha: String, captcha_id: String)
case login(phone: String, password: String)
case logout
case captcha(type: CaptchaType, target: String, country_code: String = "86")
case editUser(area: Area = AppDelegate.shared.appDependency.authManager.currentArea, user_id: Int, nickname: String = "", account_name: String, password: String)
case bindCloud(area: Area, cloud_user_id: Int)
/// 云端账号信息
case cloudUserDetail(id: Int)
/// 编辑云端账号信息
case editCloudUser(user_id: Int, nickname: String = "")
//sa
case syncArea(syncModel: SyncSAModel)
case checkSABindState(url: String)
// device
case deviceList(type: Int = 0, area: Area)
case addDiscoverDevice(device: DiscoverDeviceModel, area: Area)
case addSADevice(url: String, device: DiscoverDeviceModel)
case deviceDetail(area: Area, device_id: Int)
case editDevice(area: Area, device_id: Int, name: String = "", location_id: Int = -1)
case deleteDevice(area: Area, device_id: Int)
// scene
case sceneList(type: Int = 0, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case createScene(scene: SceneDetailModel, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case sceneDetail(id: Int, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case editScene(id: Int, scene: SceneDetailModel, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case deleteScene(id: Int, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case sceneExecute(scene_id: Int, is_execute: Bool, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
case sceneLogs(start: Int = 0, size: Int = 20, area: Area = AppDelegate.shared.appDependency.authManager.currentArea)
...
}
- ApiService 请求IP地址(BaseUrl)
var baseURL: URL {
switch self {
case .logout, .login, .register, .captcha, .cloudUserDetail, .editCloudUser, .defaultLocationList, .areaList, .createArea:
return URL(string: "\(cloudUrl)/api")!
case .scanQRCode(_, let url, _, _, _

该博客详细介绍了iOS应用中网络请求的实现,包括ApiService的枚举定义、请求地址的设置、请求方法及参数处理。同时,展示了如何扩展Moya进行数据请求,以及封装的ApiServiceManager如何进行注册、登录等操作。此外,还提到了局域网内的请求地址判断方法。
最低0.47元/天 解锁文章
383

被折叠的 条评论
为什么被折叠?



