UserInfoEndpoint.swift
1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//
// UserInfoEndpoint.swift
// hippo-watch Watch App
//
// Created by 权海 on 2026/6/22.
//
import Foundation
enum UserInfoEndpoint: APIEndpoint {
case getVipInfo
case getMyUserInfo
case getFriendInfo
case getWatchTheme
case uploadDeviceInfo(deviceInfo: String?, deviceToken: String?, watchDeviceToken: String?)
var path: String {
switch self {
case .getVipInfo:
return "/client/doublefeel/user/vip/info/"
case .getMyUserInfo:
return "/client/doublefeel/user/info/"
case .getFriendInfo:
return "/client/doublefeel/health/v2/friends/"
case .getWatchTheme:
return "/client/doublefeel/theme/watch_theme/list/"
case .uploadDeviceInfo:
return "/client/doublefeel/user/device/"
}
}
var method: HTTPMethod {
switch self {
case .getVipInfo, .getMyUserInfo, .getFriendInfo, .getWatchTheme:
return .get
case .uploadDeviceInfo:
return .post
}
}
var parameters: [String: Any]? {
switch self {
case .getVipInfo, .getMyUserInfo, .getWatchTheme:
return nil
case .getFriendInfo:
let params: [String: Any] = [
"with_health_data": 0
]
return params
case let .uploadDeviceInfo(deviceInfo, deviceToken, watchDeviceToken):
var params: [String: Any] = [:]
params["push_platform"] = "100"
params["device_info"] = deviceInfo
params["device_token"] = deviceToken
params["watch_device_token"] = watchDeviceToken
return params
}
}
var encoding: ParameterEncoding {
switch self {
case .getVipInfo, .getMyUserInfo, .getFriendInfo, .getWatchTheme:
return .url
case .uploadDeviceInfo:
return .json
}
}
}