Blame view

Twear/3rd/QWeather.framework/Headers/AllWeatherInquieirs.h 10.2 KB
75d24c15   yangbin   123
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
  //
  //  AllWeatherInquieirs.h
  //  QWeather
  //
  //  Created by Coder on 2018/4/29.
  //  Copyright © 2018 Song. All rights reserved.
  //
  
  #define QWeatherConfigInstance [AllWeatherInquieirs sharedInstance]
  
  #import <Foundation/Foundation.h>
  #import <UIKit/UIKit.h>
  
  typedef NS_ENUM(NSInteger, APP_TYPE) {
      APP_TYPE_BIZ = 1,// 付费用户
      APP_TYPE_DEV = 2,// 普通用户
  };
  
  typedef NS_ENUM(NSInteger, INQUIRE_TYPE) {
      INQUIRE_TYPE_WEATHER_NOW = 1,//实况天气
      INQUIRE_TYPE_WEATHER_3D,//3天预报
      INQUIRE_TYPE_WEATHER_7D,//7天预报
      INQUIRE_TYPE_WEATHER_10D,//10天预报
      INQUIRE_TYPE_WEATHER_15D,//15天预报
      INQUIRE_TYPE_WEATHER_24H,//24小时预报
      INQUIRE_TYPE_WEATHER_72H,//72小时预报
      INQUIRE_TYPE_WEATHER_168H,//168小时预报
      INQUIRE_TYPE_WEATHER_MINUTELY,// 分钟级降雨(邻近预报)
      INQUIRE_TYPE_WEATHER_AIR_NOW,//空气质量实况
      INQUIRE_TYPE_WEATHER_AIR_5D,//空气质量5天预报
      INQUIRE_TYPE_WARNING,// 天气灾害预警
      INQUIRE_TYPE_WARNINGLIST,//天气灾害预警城市列表
      INQUIRE_TYPE_INDICES_1D,// 当天生活指数
      INQUIRE_TYPE_INDICES_3D,// 3天生活指数
      INQUIRE_TYPE_HISTORICAL_WEATHER,// 历史天气
      INQUIRE_TYPE_HISTORICAL_AIR,//历史空气质量
      INQUIRE_TYPE_ASTRONOMY_SUN,//日出日落
      INQUIRE_TYPE_ASTRONOMY_MOON,//月出月落
      INQUIRE_TYPE_ASTRONOMY_SUN_ANGLE,//太阳高度角
      INQUIRE_TYPE_STORM_LIST,//台风列表
      INQUIRE_TYPE_STORM_TRACK,//台风实况和路径
      INQUIRE_TYPE_STORM_FORECAST,//台风预报
      INQUIRE_TYPE_OCEAN_TIDE,//潮汐
      INQUIRE_TYPE_OCEAN_CURRENTS,//潮流
      INQUIRE_TYPE_GEO_CITY_LOOKUP,//城市查询
      INQUIRE_TYPE_GEO_TOPCITY,//热门城市查询
      INQUIRE_TYPE_GEO_POI_LOOKUP,//POI搜索
      INQUIRE_TYPE_GEO_POI_RANGE,//POI范围搜索
  };
  
  typedef NS_ENUM(NSInteger, LANGUAGE_TYPE) {
      LANGUAGE_TYPE_ZH = 0,// 简体中文
      LANGUAGE_TYPE_ZHHANT = 1,// 繁体中文
      LANGUAGE_TYPE_EN = 2,// 英文
      LANGUAGE_TYPE_DE = 3,// 德语
      LANGUAGE_TYPE_ES = 4,// 西班牙语
      LANGUAGE_TYPE_FR = 5,// 法语
      LANGUAGE_TYPE_IT = 6,// 意大利语
      LANGUAGE_TYPE_JP = 7,// 日语
      LANGUAGE_TYPE_KR = 8,// 韩语
      LANGUAGE_TYPE_RU = 9,// 俄语
      LANGUAGE_TYPE_IN = 10,// 印度语
      LANGUAGE_TYPE_TH = 11,// 泰语
      LANGUAGE_TYPE_AR = 12,//阿拉伯语
      LANGUAGE_TYPE_PT = 13,//葡萄牙语
      LANGUAGE_TYPE_BN = 14,//孟加拉语
      LANGUAGE_TYPE_MS = 15,//马来语
      LANGUAGE_TYPE_NL = 16,//荷兰语
      LANGUAGE_TYPE_EL = 17,//希腊语
      LANGUAGE_TYPE_LA = 18,//拉丁语
      LANGUAGE_TYPE_SV = 19,//瑞典语
      LANGUAGE_TYPE_ID = 20,//印尼语
      LANGUAGE_TYPE_PL = 21,//波兰语
      LANGUAGE_TYPE_TR = 22,//土耳其语
      LANGUAGE_TYPE_CS = 23,//捷克语
      LANGUAGE_TYPE_ET = 24,//爱沙尼亚语
      LANGUAGE_TYPE_VI = 25,//越南语
      LANGUAGE_TYPE_FIL = 26,//菲律宾语
      LANGUAGE_TYPE_FI = 27,//芬兰语
      LANGUAGE_TYPE_HE = 28,//希伯来语
      LANGUAGE_TYPE_IS = 29,//冰岛语
      LANGUAGE_TYPE_NB = 30,//挪威语
  };
  
  typedef NS_ENUM(NSInteger, UNIT_TYPE) {
      UNIT_TYPE_M = 0,// 公制
      UNIT_TYPE_I = 1,// 英制
  };
  
  typedef NS_ENUM(NSInteger, INDICES_TYPE) {
      INDICES_TYPE_all = 0,//全部生活指数
      INDICES_TYPE_spt = 1 ,//运动指数
      INDICES_TYPE_cw = 2 ,//洗车指数
      INDICES_TYPE_drsg = 3 ,//穿衣指数
      INDICES_TYPE_fis = 4,//钓鱼指数
      INDICES_TYPE_uv = 5 ,//紫外线指数
      INDICES_TYPE_trav = 6 ,//旅游指数
      INDICES_TYPE_comf = 8 ,//舒适度指数
      INDICES_TYPE_ag = 7 ,//花粉过敏指数
      INDICES_TYPE_flu = 9 ,//感冒指数
      INDICES_TYPE_ap = 10 ,//空气污染扩散条件指数
      INDICES_TYPE_ac = 11 ,//空调开启指数
      INDICES_TYPE_gl = 12 ,//太阳镜指数
      INDICES_TYPE_mu = 13,//化妆指数
      INDICES_TYPE_dc = 14,//晾晒指数
      INDICES_TYPE_ptfc = 15,//交通指数
      INDICES_TYPE_spi = 16,//防晒指数
      INDICES_TYPE_ski = 17,//滑雪指数
  };
  
  typedef NS_ENUM(NSInteger, BASIN_TYPE) {
      BASIN_TYPE_AL = 0,//北大西洋
      BASIN_TYPE_EP,//东太平洋
      BASIN_TYPE_NP,//西北太平洋
      BASIN_TYPE_SP,//西南太平洋
      BASIN_TYPE_NI,//北印度洋
      BASIN_TYPE_SI,//南印度洋
  };
  
  typedef NS_ENUM(NSInteger, SERCHMODE_TYPE) {
      SERCHMODE_TYPE_EXACT= 0,//精准查询
      SERCHMODE_TYPE_FUZZY = 1,//模糊搜索
  };
  @interface AllWeatherInquieirs : NSObject
  
  #pragma mark -  请在 AppDelegate 中填写
  
  /**
   用户ID,登录控制台可查看
   必填
   */
  
  @property (nonatomic, copy) NSString *publicID;
  
  /**
   用户认证key,登录控制台可查看
   必填
   */
  
  @property (nonatomic, copy) NSString *appKey;
  
  /**
   请求超时时间,默认30
   */
  @property (nonatomic, assign) NSTimeInterval timeoutInterval;
  
  /** 根据接口需要填写 必填项 选填项 */
  
  #pragma mark - 必选参数
  
  /**
   用户类型,分为 付费用户 普通用户
   必选
   */
  
  @property (nonatomic, assign) APP_TYPE appType;
  
  /**
   需要查询的城市或地区,可输入以下值:
   1. 城市ID:城市列表
   2. 经纬度格式:经度,纬度(经度在前纬度在后,英文,分隔,十进制格式,北纬东经为正,南纬西经为负
   3. 城市名称,支持中英文和汉语拼音
   4. 城市名称,上级城市    国家,英文,分隔,此方式可以在重名的情况下只获取想要的地区的天气数据,例如 西安,陕西
   5. IP
   6. 根据请求自动判断,根据用户的请求获取IP,通过 IP 定位并获取城市数据
   7. 可为空,系统自动获取当前设备所在经纬度,然后将获取到的经纬度作为location参数调用传location的接口
   */
  
  @property (nonatomic, copy) NSString *location;
  
  /**
   选择获取历史的日期限度,最多可选择最近10天的数据,例如今天是75日,最多可获取625日至74日的历史数据。日期格式为yyyyMMdd,例如 date=20200531
   必选
   */
  
  @property (nonatomic, copy) NSString *date;
  
  /**
   查询时间,格式为HHmm24 时制
   必选
   */
  
  @property (nonatomic, copy) NSString *time;
  
  /**
   查询地区所在时区
   必选
   */
  
  @property (nonatomic, copy) NSString *tz;
  
  /**
   所查询地区的纬度
   纬度采用十进制格式,北纬为正,南纬为负
   必选
   */
  
  @property (nonatomic, copy) NSString *lat;
  
  /**
   所查询地区的经度
   经度采用十进制格式,东经为正,西经为负
   */
  
  @property (nonatomic, copy) NSString *lon;
  
  /**
   海拔高度,单位为米
   必选
   */
  
  @property (nonatomic, copy) NSString *alt;
  
  /**
   需要查询的台风所在的流域,例如中国处于西北太平洋,即 basin=NP。当前仅支持NP
   AL North Atlantic 北大西洋
   EP Eastern Pacific 东太平洋
   NP NorthWest Pacific 西北太平洋
   SP SouthWestern Pacific 西南太平洋
   NI North Indian 北印度洋
   SI South Indian 南印度洋
   必选
   */
  
  @property (nonatomic, assign) BASIN_TYPE basin;
  
  /**
   支持查询本年度和上一年度的台风,例如:year=2020, year=2019
   */
  @property (nonatomic, copy) NSString *year;
  
  /**
   需要查询的台风IDStormID可通过台风查询API获取。例如 stormid=NP2018
   */
  @property (nonatomic, copy) NSString *stormID;
  #pragma mark - 可选参数
  
  /**
   多语言,可以不使用该参数,默认为简体中文
   详见多语言参数
   参数若不传,则默认传"zh"
   可选
   */
  
  @property (nonatomic, copy) NSString *lang;
  
  @property (nonatomic, assign) LANGUAGE_TYPE languageType;
  
  /**
   单位选择,公制(m)或英制(i),默认为公制单位
   详见度量衡单位参数
   若不传,则默认传"m"
   可选
   */
  
  @property (nonatomic, copy) NSString *unit;
  
  @property (nonatomic, assign) UNIT_TYPE unitType;
  
  /**
   生活指数数据类型,包括洗车指数、穿衣指数、钓鱼指数等。可以一次性获取多个类型的生活指数.
   indices 放入需要的NSNumber类型,默认indices = @[[NSNumber numberWithInt:INDICES_TYPE_comf]]
   
   具体生活指数的类型参数值如下:
   */
  @property (nonatomic, strong) NSArray<NSNumber *> *indices;
  
  /**
  选择POI所在城市,可设定只搜索在特定城市内的POI信息。城市名称可以是中文、英文或城市的LocationID。默认全世界范围。
  城市名称需要精准匹配,建议使用LocaitonID,如城市名称无法识别,则数据返回为空。
  */
  @property (nonatomic,copy) NSString *city;
  /**
  POI类型,可选择搜索某一类型的POI,目前仅限景点。例如type=scenic
  */
  @property (nonatomic,copy) NSString *type;
  /**
  POI类型,搜索范围,可设置搜索半径,取值范围1-50,单位:公里。默认5公里。
  */
  @property (nonatomic,copy) NSString *radius;
  /**
   查询灾害预警列表选择指定的国家,目前仅支持中国。例如range=cn
   查询热门城市范围,默认全球范围。 可选择某个国家范围内的热门城市,国家名称需使用ISO 3166 所定义的国家代码。
   world 全球城市范围,默认
   cn 中国城市范围,可替换为其他国家的 ISO 3166 国家代码,例如range=cn
   */
  
  @property (nonatomic, copy) NSString *range;
  
  
  /**
   城市的上级行政区划,默认不限定行政区划。 可设定只在某个行政区划范围内进行搜索,用于排除重名城市或对结果进行过滤。例如 adm=beijing
   */
  @property (nonatomic, copy) NSString *adm;
  
  /**
   查询方式(城市搜索专用属性)
   可选值:模糊检索(fuzzy)、精准检索(exact)
   默认:mode = SERCHMODE_TYPE_EXACT
   可选
   */
  
  @property (nonatomic, assign) SERCHMODE_TYPE mode;
  
  /**
   搜索查询返回的数量
   默认返回20个与查询城市或的确相关性最强的结果,可选1-50个,当使用IP地址或坐标查询时,仅返回一个结果
   默认:number=@"20"
   可选
   */
  
  @property (nonatomic, copy) NSString *number;
  
  #pragma mark - Init
  
  + (instancetype)sharedInstance;
  
  - (instancetype)init;
  
  #pragma mark - Inquire Action
  
  /**
   查询类型 INQUIRE_TYPE 必填
   根据 type 类型进行对应接口查询
   */
  
  - (void)weatherWithInquireType:(INQUIRE_TYPE)inquireType
                     WithSuccess:(void(^)(id responseObject))getSuccess
                faileureForError:(void(^)(NSError *error))getError;
  
  /**
   修改域名
   
   @param domain 访问域名字符串,默认: 付费为https://api.QWeather.net 免费为https://devapi.QWeather.net
   */
  -(void)changeDomain:(NSString *)domain;
  @end