DataSourceManager.m 79 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434
  1. //
  2. // DataSourceManager.m
  3. // Haishenghai-master
  4. //
  5. // Created by GG on 2019/1/17.
  6. // Copyright © 2019年 Haishenghai intelligence network technology. All rights reserved.
  7. //
  8. #import "DataSourceManager.h"
  9. #import "AppDelegate.h"
  10. #import "UserLogin_VC.h"
  11. #import <JPUSHService.h>
  12. #ifndef NULLSAFE_ENABLED
  13. #define NULLSAFE_ENABLED 1
  14. //https://www.hsh-iot.com/hsh_app/
  15. #define BASE_URL @"https://www.hsh-iot.com/hsh_app/"
  16. #endif
  17. #pragma GCC diagnostic ignored "-Wgnu-conditional-omitted-operand"
  18. @implementation NSNull (NullSafe)
  19. #if NULLSAFE_ENABLED
  20. - (NSMethodSignature *)methodSignatureForSelector:(SEL)selector
  21. {
  22. @synchronized([self class])
  23. {
  24. //look up method signature
  25. NSMethodSignature *signature = [super methodSignatureForSelector:selector];
  26. if (!signature)
  27. {
  28. //not supported by NSNull, search other classes
  29. static NSMutableSet *classList = nil;
  30. static NSMutableDictionary *signatureCache = nil;
  31. if (signatureCache == nil)
  32. {
  33. classList = [[NSMutableSet alloc] init];
  34. signatureCache = [[NSMutableDictionary alloc] init];
  35. //get class list
  36. int numClasses = objc_getClassList(NULL, 0);
  37. Class *classes = (Class *)malloc(sizeof(Class) * (unsigned long)numClasses);
  38. numClasses = objc_getClassList(classes, numClasses);
  39. //add to list for checking
  40. NSMutableSet *excluded = [NSMutableSet set];
  41. for (int i = 0; i < numClasses; i++)
  42. {
  43. //determine if class has a superclass
  44. Class someClass = classes[i];
  45. Class superclass = class_getSuperclass(someClass);
  46. while (superclass)
  47. {
  48. if (superclass == [NSObject class])
  49. {
  50. [classList addObject:someClass];
  51. break;
  52. }
  53. [excluded addObject:NSStringFromClass(superclass)];
  54. superclass = class_getSuperclass(superclass);
  55. }
  56. }
  57. //remove all classes that have subclasses
  58. for (Class someClass in excluded)
  59. {
  60. [classList removeObject:someClass];
  61. }
  62. //free class list
  63. free(classes);
  64. }
  65. //check implementation cache first
  66. NSString *selectorString = NSStringFromSelector(selector);
  67. signature = signatureCache[selectorString];
  68. if (!signature)
  69. {
  70. //find implementation
  71. for (Class someClass in classList)
  72. {
  73. if ([someClass instancesRespondToSelector:selector])
  74. {
  75. signature = [someClass instanceMethodSignatureForSelector:selector];
  76. break;
  77. }
  78. }
  79. //cache for next time
  80. signatureCache[selectorString] = signature ?: [NSNull null];
  81. }
  82. else if ([signature isKindOfClass:[NSNull class]])
  83. {
  84. signature = nil;
  85. }
  86. }
  87. return signature;
  88. }
  89. }
  90. - (void)forwardInvocation:(NSInvocation *)invocation
  91. {
  92. invocation.target = nil;
  93. [invocation invoke];
  94. }
  95. #endif
  96. @end
  97. @implementation DataSourceManager
  98. //获取验证码
  99. +(void)getPhoneCodeWithPhone:(NSString *)phone completionBlock:(RequestBlock)block{
  100. // NSString *strUrl = @"https://www.hsh-iot.com/YunGanKeJi/getphonecode";
  101. //https://www.hsh-iot.com/hsh-app
  102. NSString *strUrl = [NSString stringWithFormat:@"%@app/phoneCodeVerify?phone=%@",BASE_URL,phone];
  103. //创建manager
  104. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  105. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  106. // //申明返回的结果是json类型
  107. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  108. // 申明请求的数据是json类型
  109. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  110. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  111. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  112. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  113. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  114. NSLog(@"%@",responseObject);
  115. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  116. block(responseObject);
  117. }else{
  118. NSString *str = [responseObject objectForKey:@"msg"];
  119. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:str delegate:self cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil];
  120. [alert show];
  121. }
  122. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  123. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"/(ㄒoㄒ)/~~出问题了,请联系客服" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  124. [alert show];
  125. }];
  126. }
  127. /**
  128. 注册接口
  129. */
  130. +(void)setRegisterWithUrlPhoneNumber:(NSString *)phone code:(NSString *)code UserName:(NSString *)userName PassWord1:(NSString *)password1 PassWord2:(NSString *)password2 completionBlock:(RequestBlock)block{
  131. //创建JsonURL
  132. NSString *strUrl = [NSString stringWithFormat:@"%@app/registUser",BASE_URL];
  133. // NSString *strUrl = @"";
  134. //创建manager
  135. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  136. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  137. // //申明返回的结果是json类型
  138. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  139. // 申明请求的数据是json类型
  140. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  141. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  142. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  143. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  144. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  145. [param setValue:phone forKey:@"phone"];
  146. [param setValue:code forKey:@"phonecode"];
  147. [param setValue:userName forKey:@"username"];
  148. [param setValue:password1 forKey:@"password1"];
  149. [param setValue:password2 forKey:@"password2"];
  150. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  151. NSLog(@"----测试数据%@",responseObject);
  152. if ([responseObject objectForKey:@"code"]==0) {
  153. block(responseObject);
  154. }else{
  155. NSString *str = [responseObject objectForKey:@"msg"];
  156. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:str delegate:self cancelButtonTitle:@"好" otherButtonTitles:nil, nil];
  157. [alert show];
  158. }
  159. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  160. }];
  161. }
  162. +(void)setLoginWithUrlPhone:(NSString *)username Password:(NSString *)password ClientId:(NSString *)clientId AppType:(NSString *)appType completionBlock:(RequestBlock)block{
  163. //创建JsonURL
  164. // NSString *strUrl = @"https://www.hsh-iot.com/hsh-app/app/loginFromPassword";
  165. NSString *strURl = [NSString stringWithFormat:@"%@app/loginFromPassword?phone=%@&password=%@&clientId=%@&appType=%@",BASE_URL,username,password,clientId,appType];
  166. //创建manager
  167. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  168. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  169. // //申明返回的结果是json类型
  170. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  171. // 申明请求的数据是json类型
  172. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  173. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  174. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURl parameters:nil error:nil];
  175. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  176. //暂时用get请求
  177. [manager GET:strURl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  178. NSLog(@"这是登录的数据%@",responseObject);
  179. if ([[responseObject objectForKey:@"code"] isEqualToNumber:@(0)]) {
  180. //存数据在这里将Token值存起来
  181. [[NSUserDefaults standardUserDefaults]setObject:responseObject[@"data"][@"token"] forKey:@"token"];
  182. [[NSUserDefaults standardUserDefaults]setObject:responseObject[@"data"][@"username"] forKey:@"username"];
  183. [[NSUserDefaults standardUserDefaults]setObject:responseObject[@"data"][@"phone"] forKey:@"phone"];
  184. [[NSUserDefaults standardUserDefaults]setObject:responseObject[@"data"][@"loginId"] forKey:@"loginId"];
  185. [[NSUserDefaults standardUserDefaults]synchronize];
  186. block(responseObject);
  187. }
  188. else{
  189. if ([[responseObject objectForKey:@"code"] isEqualToNumber:@(1002)]) {
  190. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"登录失败" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  191. [alert show];
  192. }else{
  193. NSString *str = [responseObject objectForKey:@"msg"];
  194. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  195. [alert show];
  196. }
  197. }
  198. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  199. }];
  200. }
  201. +(void)updatePasswordWithUrlPhone:(NSString *)phone code:(NSString *)code Password1:(NSString *)password1 Password2:(NSString *)password2 completionBlock:(RequestBlock)block
  202. {
  203. //创建JsonURL
  204. NSString *strUrl = [NSString stringWithFormat:@"%@app/updatePassword?phone=%@&phoneCode=%@&password1=%@&password2=%@",BASE_URL,phone,code,password1,password2];
  205. //创建manager
  206. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  207. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  208. // //申明返回的结果是json类型
  209. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  210. // 申明请求的数据是json类型
  211. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  212. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  213. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  214. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  215. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  216. NSLog(@"更改密码数据%@",responseObject);
  217. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  218. block(responseObject);
  219. }else{
  220. NSString *str = [responseObject objectForKey:@"msg"];
  221. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  222. [alert show];
  223. }
  224. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  225. }];
  226. }
  227. +(void)setLoginoutWithUrlcompletionBlock:(RequestBlock)block{
  228. //创建JsonURL
  229. NSString *strUrl = [NSString stringWithFormat:@"%@app/logOut",BASE_URL] ;
  230. //创建manager
  231. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  232. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  233. // //申明返回的结果是json类型
  234. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  235. // 申明请求的数据是json类型
  236. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  237. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  238. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  239. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  240. //获取Token
  241. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  242. NSString *token = [tokenid objectForKey:@"token"];
  243. //将Token作为请求头上传
  244. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  245. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  246. NSLog(@"----测试数据%@",responseObject);
  247. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  248. block(responseObject);
  249. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  250. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  251. [alert show];
  252. [AppDelegate LoginRootViewController];
  253. }else{
  254. NSString *str = [responseObject objectForKey:@"msg"];
  255. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  256. [alert show];
  257. }
  258. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  259. }];
  260. }
  261. +(void)queryDevecetypeWithcompletionBlock:(ArrayBlock)block{
  262. //创建JsonURL
  263. NSString *strUrl = [NSString stringWithFormat:@"%@app/getDeviceType",BASE_URL] ;
  264. //创建manager
  265. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  266. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  267. // //申明返回的结果是json类型
  268. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  269. // 申明请求的数据是json类型
  270. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  271. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  272. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  273. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  274. //获取Token
  275. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  276. NSString *token = [tokenid objectForKey:@"token"];
  277. //将Token作为请求头上传
  278. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  279. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  280. NSLog(@"----测试数据%@",responseObject);
  281. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  282. NSArray *deveceArray = [responseObject objectForKey:@"data"];
  283. NSMutableArray *infoArr =[NSMutableArray array];
  284. for (NSDictionary *dic in deveceArray) {
  285. deveceModel *info = [deveceModel parserWithDic:dic];
  286. [infoArr addObject:info];
  287. }
  288. block (infoArr);
  289. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  290. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  291. [alert show];
  292. [AppDelegate LoginRootViewController];
  293. }else{
  294. NSString *str = [responseObject objectForKey:@"msg"];
  295. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  296. [alert show];
  297. }
  298. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  299. }];
  300. }
  301. +(void)addDeveceWithUrlDeveceID:(NSString *)deveceId dLongtitude:(NSString *)deviveLongtitude dLatitude:(NSString *)deviveLatitude dLocation:(NSString *)deviceLocation siteid:(NSString *)siteid completionBlock:(RequestBlock)block{
  302. //创建JsonURL
  303. NSString *strUrl = [NSString stringWithFormat:@"%@app/addDevice",BASE_URL] ;
  304. //创建manager
  305. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  306. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  307. // //申明返回的结果是json类型
  308. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  309. // 申明请求的数据是json类型
  310. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  311. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  312. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  313. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  314. //获取Token
  315. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  316. NSString *token = [tokenid objectForKey:@"token"];
  317. //将Token作为请求头上传
  318. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  319. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  320. [param setValue:deveceId forKey:@"deviceId"];
  321. [param setValue:deviveLongtitude forKey:@"deviveLongtitude"];
  322. [param setValue:deviveLatitude forKey:@"deviceLatitude"];
  323. [param setValue:deviceLocation forKey:@"deviceLocation"];
  324. [param setValue:siteid forKey:@"siteId"];
  325. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  326. NSLog(@"----测试数据%@",responseObject);
  327. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  328. block (responseObject);
  329. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  330. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  331. [alert show];
  332. [AppDelegate LoginRootViewController];
  333. }else{
  334. NSString *str = [responseObject objectForKey:@"msg"];
  335. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  336. [alert show];
  337. }
  338. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  339. }];
  340. }
  341. +(void)deleteDeveceWithUrlDeveceId:(NSString *)deveceId completionBlock:(RequestBlock)block{
  342. //创建JsonURL
  343. NSString *strUrl = [NSString stringWithFormat:@"https://www.hsh-iot.com/test/hsh_app/app/deleteDevice?ids=%@",deveceId];
  344. //创建manager
  345. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  346. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  347. // //申明返回的结果是json类型
  348. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  349. // 申明请求的数据是json类型
  350. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  351. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  352. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  353. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  354. //获取Token
  355. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  356. NSString *token = [tokenid objectForKey:@"token"];
  357. //将Token作为请求头上传
  358. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  359. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  360. NSLog(@"删除设备数据%@",responseObject);
  361. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  362. block (responseObject);
  363. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  364. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  365. [alert show];
  366. [AppDelegate LoginRootViewController];
  367. }else{
  368. NSString *str = [responseObject objectForKey:@"msg"];
  369. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  370. [alert show];
  371. }
  372. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  373. }];
  374. }
  375. +(void)getDeveceWithUrlPagesize:(NSInteger)pagesize SiteId:(NSString *)siteid Page:(NSInteger)page completionBlock:(ArrayBlock)block{
  376. //创建JsonURL
  377. NSString *strUrl = [NSString stringWithFormat:@"%@app/getDevice?page=%ld&pagesize=1%ld&siteid=%@",BASE_URL,page,pagesize,siteid];
  378. //创建manager
  379. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  380. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  381. // //申明返回的结果是json类型
  382. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  383. // 申明请求的数据是json类型
  384. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  385. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  386. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  387. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  388. //获取Token
  389. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  390. NSString *token = [tokenid objectForKey:@"token"];
  391. //将Token作为请求头上传
  392. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  393. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  394. NSLog(@"获取设备接口%@",responseObject);
  395. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  396. NSDictionary *dic = [responseObject objectForKey:@"data"];
  397. NSArray *listArray = [dic objectForKey:@"dataList"];
  398. NSMutableArray *infoArr =[NSMutableArray array];
  399. if (listArray.count==0) {
  400. block (infoArr);
  401. }else{
  402. for (NSDictionary *dic in listArray) {
  403. deveceListModel *info = [deveceListModel parserWithDic:dic];
  404. [infoArr addObject:info];
  405. }
  406. block (infoArr);
  407. }
  408. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  409. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  410. [alert show];
  411. [AppDelegate LoginRootViewController];
  412. }else{
  413. NSString *str = [responseObject objectForKey:@"msg"];
  414. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  415. [alert show];
  416. }
  417. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  418. }];
  419. }
  420. /**
  421. 获取所有设备列表
  422. *
  423. */
  424. /*
  425. +(void)getDeveceWithUrlUserID:(NSString *)userId Page:(NSString *)page completionBlock:(ArrayBlock)block{
  426. //创建JsonURL
  427. NSString *strUrl = @"https://www.hsh-iot.com/YunGanKeJi/getdevice";
  428. //创建manager
  429. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  430. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  431. // //申明返回的结果是json类型
  432. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  433. // 申明请求的数据是json类型
  434. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  435. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  436. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  437. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  438. //获取Token
  439. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  440. NSString *token = [tokenid objectForKey:@"token"];
  441. //将Token作为请求头上传
  442. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  443. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  444. [param setValue:page forKey:@"page"];
  445. [param setValue:userId forKey:@"userid"];
  446. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  447. NSLog(@"----测试数据%@",responseObject);
  448. if ([[responseObject objectForKey:@"message"]isEqualToString:@"ok"]) {
  449. NSArray *listArray = [responseObject objectForKey:@"msg"];
  450. NSMutableArray *infoArr =[NSMutableArray array];
  451. for (NSDictionary *dic in listArray) {
  452. deveceListModel *info = [deveceListModel parserWithDic:dic];
  453. // if (![info.deployment isKindOfClass:[NSNull class]]&&[info.type_exp isKindOfClass:[NSNull class]]) {
  454. //
  455. // return ;
  456. // }
  457. //afn去除null值
  458. [infoArr addObject:info];
  459. }
  460. block (infoArr);
  461. }else{
  462. NSString *str = [responseObject objectForKey:@"msg"];
  463. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  464. [alert show];
  465. }
  466. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  467. }];
  468. }*/
  469. +(void)getDeveceDataChangedWithUrluploadDeveceID:(NSString *)deveceId Page:(NSInteger)page Pagesize:(NSInteger)pagesize completionBlock:(ArrayBlock)block{
  470. //创建JsonURL
  471. NSString *strUrl = [NSString stringWithFormat:@"%@app/getDeviceDataChanged?devideid=%@&page=%ld&pagesize=%ld",BASE_URL,deveceId,page,pagesize];
  472. //创建manager
  473. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  474. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  475. manager.requestSerializer.timeoutInterval= 10;
  476. // //申明返回的结果是json类型
  477. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  478. // 申明请求的数据是json类型
  479. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  480. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  481. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  482. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  483. //获取Token
  484. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  485. NSString *token = [tokenid objectForKey:@"token"];
  486. //将Token作为请求头上传
  487. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  488. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  489. NSLog(@"获取设备明细数据%@",responseObject);
  490. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  491. NSArray *listArray = [responseObject objectForKey:@"data"];
  492. NSMutableArray *infoArr =[NSMutableArray array];
  493. for (NSDictionary *dic in listArray) {
  494. detatilDeviceModel*detail = [detatilDeviceModel parserWithDic:dic];
  495. [infoArr addObject:detail];
  496. }
  497. block (infoArr);
  498. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  499. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  500. [alert show];
  501. [AppDelegate LoginRootViewController];
  502. }else{
  503. NSString *str = [responseObject objectForKey:@"msg"];
  504. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  505. [alert show];
  506. }
  507. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  508. NSLog(@"%@",error);
  509. }];
  510. }
  511. +(void)gettroubledeviceWithUrlPagesize:(NSInteger)pagesize Page:(NSInteger)page formTime:(NSString *)formtime toTime:(NSString *)totime completionBlock:(ArrayBlock)block{
  512. //创建JsonURL
  513. NSString *strUrl = [NSString stringWithFormat:@"%@app/getTroubleDevice",BASE_URL];
  514. //创建manager
  515. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  516. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  517. // //申明返回的结果是json类型
  518. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  519. // 申明请求的数据是json类型
  520. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  521. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  522. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  523. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  524. //获取Token
  525. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  526. NSString *token = [tokenid objectForKey:@"token"];
  527. //将Token作为请求头上传
  528. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  529. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  530. [param setValue:@(page) forKey:@"page"];
  531. [param setValue:@(pagesize) forKey:@"pagesize"];
  532. [param setValue:totime forKey:@"toTime"];
  533. [param setValue:formtime forKey:@"fromTime"];
  534. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  535. NSLog(@"获取异常设备数据%@",responseObject);
  536. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  537. NSArray *listArray = [responseObject objectForKey:@"data"];
  538. NSMutableArray *infoArr =[NSMutableArray array];
  539. for (NSDictionary *dic in listArray) {
  540. troubleDeveceModel*trouble = [troubleDeveceModel parserWithDic:dic];
  541. [infoArr addObject:trouble];
  542. }
  543. block (infoArr);
  544. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  545. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  546. [alert show];
  547. [AppDelegate LoginRootViewController];
  548. }else{
  549. // NSString *str = [responseObject objectForKey:@"msg"];
  550. //
  551. // UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
  552. // [alert show];
  553. }
  554. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  555. NSLog(@"%@",error);
  556. }];
  557. }
  558. //带条件筛选
  559. +(void)gettroubledeviceWithUrlPagesize:(NSInteger)pagesize Page:(NSInteger)page fromTime:(NSString *)fromtime toTime:(NSString *)totime Type:(NSString *)type completionBlock:(ArrayBlock)block{
  560. //创建JsonURL
  561. NSString *strUrl = [NSString stringWithFormat:@"%@app/getTroubleDevice",BASE_URL];
  562. //创建manager
  563. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  564. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  565. // //申明返回的结果是json类型
  566. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  567. // 申明请求的数据是json类型
  568. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  569. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  570. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  571. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  572. //获取Token
  573. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  574. NSString *token = [tokenid objectForKey:@"token"];
  575. //将Token作为请求头上传
  576. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  577. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  578. [param setValue:@(page) forKey:@"page"];
  579. [param setValue:@(pagesize) forKey:@"pagesize"];
  580. [param setValue:totime forKey:@"toTime"];
  581. [param setValue:fromtime forKey:@"fromTime"];
  582. [param setValue:type forKey:@"type"];
  583. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  584. NSLog(@"获取异常设备数据%@",responseObject);
  585. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  586. NSArray *listArray = [responseObject objectForKey:@"data"];
  587. NSLog(@"-------%@",listArray);
  588. NSMutableArray *infoArr =[NSMutableArray array];
  589. if (listArray.count==0) {
  590. block(infoArr);
  591. }else{
  592. for (NSDictionary *dic in listArray) {
  593. troubleDeveceModel*trouble = [troubleDeveceModel parserWithDic:dic];
  594. [infoArr addObject:trouble];
  595. }
  596. block (infoArr);
  597. }
  598. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  599. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  600. [alert show];
  601. [AppDelegate LoginRootViewController];
  602. }else{
  603. // NSString *str = [responseObject objectForKey:@"msg"];
  604. //
  605. // UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
  606. // [alert show];
  607. }
  608. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  609. NSLog(@"%@",error);
  610. }];
  611. }
  612. +(void)getIOTMessageByIDWithUrlMessageID:(NSString *)msgID completionBlock:(RequestBlock)block{
  613. NSString *URLString = [NSString stringWithFormat:@"%@app/getIOTMessageById?msgId=%@",BASE_URL,msgID];
  614. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  615. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  616. // //申明返回的结果是json类型
  617. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  618. // 申明请求的数据是json类型
  619. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  620. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  621. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:URLString parameters:nil error:nil];
  622. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  623. //获取Token
  624. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  625. NSString *token = [tokenid objectForKey:@"token"];
  626. //将Token作为请求头上传
  627. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  628. [manager GET:URLString parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  629. NSLog(@"----测试数据%@",responseObject);
  630. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  631. NSDictionary *dic = [responseObject objectForKey:@"data"];
  632. block(dic);
  633. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  634. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  635. [alert show];
  636. [AppDelegate LoginRootViewController];
  637. }else{
  638. NSString *str = [responseObject objectForKey:@"msg"];
  639. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  640. [alert show];
  641. }
  642. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  643. }];
  644. }
  645. +(void)getFireAlarmURLWithPage:(NSInteger)page Pagesize:(NSInteger)pagesize completionBlock:(ArrayBlock)block{
  646. NSString *URLString = [NSString stringWithFormat:@"%@app/getFireAlarm?page=%d&pageSize=%d",BASE_URL,page,pagesize];
  647. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  648. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  649. // //申明返回的结果是json类型
  650. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  651. // 申明请求的数据是json类型
  652. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  653. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  654. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:URLString parameters:nil error:nil];
  655. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  656. //获取Token
  657. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  658. NSString *token = [tokenid objectForKey:@"token"];
  659. //将Token作为请求头上传
  660. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  661. [manager GET:URLString parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  662. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  663. NSArray *listArray = [responseObject objectForKey:@"data"];
  664. NSMutableArray *infoArray = [NSMutableArray array];
  665. for (NSDictionary *dic in listArray) {
  666. FireNoticeModel *model = [FireNoticeModel parserWithDic:dic];
  667. [infoArray addObject:model];
  668. }
  669. block (infoArray);
  670. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  671. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  672. [alert show];
  673. [AppDelegate LoginRootViewController];
  674. }else{
  675. NSString *str = [responseObject objectForKey:@"msg"];
  676. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  677. [alert show];
  678. }
  679. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  680. }];
  681. }
  682. +(void)UploadFileWithURLWithAttachType:(NSString *)attachType Opid:(NSString *)opId AttachID:(NSString *)attachId AttachTitle:(NSString *)attachTitle AttachName:(NSString *)attachName FilePath:(NSString *)filePath URL:(NSString *)url ThumbnailUrl:(NSString *)thumbnailUrl AttachSize:(double)attachSize CreateTime:(NSString *)createTime MakeThumbnail:(Boolean)makeThumbnail W:(NSInteger)w H:(NSInteger)h completionBlock:(RequestBlock)block{
  683. NSString *strURl = @"https://www.hsh-iot.com/test/hsh_app/sysCore/fileUpload";
  684. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  685. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  686. // //申明返回的结果是json类型
  687. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  688. // 申明请求的数据是json类型
  689. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  690. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  691. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strURl parameters:nil error:nil];
  692. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  693. //获取Token
  694. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  695. NSString *token = [tokenid objectForKey:@"token"];
  696. //将Token作为请求头上传
  697. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  698. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  699. [param setValue:attachType forKey:@"attachType"];
  700. [param setValue:opId forKey:@"opId"];
  701. [param setValue:attachId forKey:@"attachId"];
  702. [param setValue:attachTitle forKey:@"attachTitle"];
  703. [param setValue:attachName forKey:@"attachName"];
  704. [param setValue:filePath forKey:@"filePath"];
  705. [param setValue:url forKey:@"url"];
  706. [param setValue:thumbnailUrl forKey:@"thumbnailUrl"];
  707. [param setValue:@(attachSize) forKey:@"attachSize"];
  708. [param setValue:createTime forKey:@"createTime"];
  709. [param setValue:@(makeThumbnail) forKey:@"makeThumbnail"];
  710. [param setValue:@(w)forKey:@"w"];
  711. [param setValue:@(h) forKey:@"h"];
  712. [manager POST:strURl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  713. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  714. block(responseObject);
  715. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  716. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  717. [alert show];
  718. [AppDelegate LoginRootViewController];
  719. }else{
  720. NSString *str = [responseObject objectForKey:@"msg"];
  721. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  722. [alert show];
  723. }
  724. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  725. }];
  726. }
  727. +(void)processDeviceTroubleWithAudioIDS:(NSString *)auIds Explain:(NSString *)explain movieIDS:(NSString *)mvIds pictureIDS:(NSString *)picIds ProType:(NSString *)proType ProcessId:(NSString *)processId completionBlock:(RequestBlock)block{
  728. NSString *strURl = [NSString stringWithFormat:@"%@app/processDeviceTrouble",BASE_URL];
  729. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  730. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  731. // //申明返回的结果是json类型
  732. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  733. // 申明请求的数据是json类型
  734. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  735. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  736. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strURl parameters:nil error:nil];
  737. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  738. //获取Token
  739. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  740. NSString *token = [tokenid objectForKey:@"token"];
  741. //将Token作为请求头上传
  742. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  743. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  744. [param setValue:auIds forKey:@"auIds"];
  745. [param setValue:explain forKey:@"explain"];
  746. [param setValue:mvIds forKey:@"mvIds"];
  747. [param setValue:picIds forKey:@"picIds"];
  748. [param setValue:proType forKey:@"proType"];
  749. [param setValue:processId forKey:@"processId"];
  750. [manager POST:strURl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  751. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  752. block(responseObject);
  753. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  754. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  755. [alert show];
  756. [AppDelegate LoginRootViewController];
  757. }else{
  758. NSString *str = [responseObject objectForKey:@"msg"];
  759. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  760. [alert show];
  761. }
  762. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  763. }];
  764. }
  765. +(void)readFireAlarmWithUrlprocessID:(NSString *)processId completionBlock:(RequestBlock)block{
  766. //创建JsonURL
  767. NSString *strURl = [NSString stringWithFormat:@"%@app/readFireAlarm?processId=%@",BASE_URL,processId];
  768. //创建manager
  769. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  770. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  771. // //申明返回的结果是json类型
  772. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  773. // 申明请求的数据是json类型
  774. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  775. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  776. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURl parameters:nil error:nil];
  777. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  778. //获取Token
  779. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  780. NSString *token = [tokenid objectForKey:@"token"];
  781. //将Token作为请求头上传
  782. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  783. [manager GET:strURl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  784. NSLog(@"点击知道了%@",responseObject);
  785. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  786. block(responseObject);
  787. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  788. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  789. [alert show];
  790. [AppDelegate LoginRootViewController];
  791. }else{
  792. NSString *str = [responseObject objectForKey:@"msg"];
  793. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  794. [alert show];
  795. }
  796. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  797. }];
  798. }
  799. +(void)getUserByIDURLWithUserId:(NSString *)userId completionBlock:(RequestBlock)block{
  800. //创建JsonURL
  801. NSString *strURl = [NSString stringWithFormat:@"%@app/getUserById?userId=%@",BASE_URL,userId];
  802. //创建manager
  803. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  804. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  805. // //申明返回的结果是json类型
  806. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  807. // 申明请求的数据是json类型
  808. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  809. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  810. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURl parameters:nil error:nil];
  811. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  812. //获取Token
  813. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  814. NSString *token = [tokenid objectForKey:@"token"];
  815. //将Token作为请求头上传
  816. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  817. [manager GET:strURl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  818. NSLog(@"点击知道了%@",responseObject);
  819. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  820. block(responseObject);
  821. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  822. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  823. [alert show];
  824. [AppDelegate LoginRootViewController];
  825. }else{
  826. NSString *str = [responseObject objectForKey:@"msg"];
  827. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  828. [alert show];
  829. }
  830. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  831. }];
  832. }
  833. +(void)reCheckTroubleUrlWithProcessID:(NSString *)processId RecheckType:(NSString *)recheckType completionBlock:(RequestBlock)block{
  834. //创建JsonURL
  835. NSString *strURl = [NSString stringWithFormat:@"%@app/reCheckTrouble?processId=%@&recheckType=%@",BASE_URL,processId,recheckType];
  836. //创建manager
  837. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  838. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  839. // //申明返回的结果是json类型
  840. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  841. // 申明请求的数据是json类型
  842. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  843. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  844. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURl parameters:nil error:nil];
  845. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  846. //获取Token
  847. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  848. NSString *token = [tokenid objectForKey:@"token"];
  849. //将Token作为请求头上传
  850. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  851. [manager GET:strURl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  852. NSLog(@"火警处理%@",responseObject);
  853. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  854. block(responseObject);
  855. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  856. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  857. [alert show];
  858. [AppDelegate LoginRootViewController];
  859. }else{
  860. NSString *str = [responseObject objectForKey:@"msg"];
  861. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  862. [alert show];
  863. }
  864. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  865. }];
  866. }
  867. #pragma mark-----场所相关
  868. +(void)addSiteWithUrlDeployment:(NSString *)deployment RegionName:(NSString *)regionName Longtitude:(NSString *)longtitude Latitude:(NSString *)latitude Location:(NSString *)location RegionCode:(NSString *)regionCode completionBlock:(RequestBlock)block{
  869. //创建JsonURL
  870. NSString *strUrl = [NSString stringWithFormat:@"%@app/addSite",BASE_URL];
  871. //创建manager
  872. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  873. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  874. // //申明返回的结果是json类型
  875. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  876. // 申明请求的数据是json类型
  877. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  878. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  879. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  880. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  881. //获取Token
  882. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  883. NSString *token = [tokenid objectForKey:@"token"];
  884. //将Token作为请求头上传
  885. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  886. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  887. [param setValue:deployment forKey:@"deployment"];
  888. [param setValue:regionName forKey:@"regionName"];
  889. [param setValue:longtitude forKey:@"longtitude"];
  890. [param setValue:latitude forKey:@"latitude"];
  891. [param setValue:location forKey:@"location"];
  892. [param setValue:regionCode forKey:@"regionCode"];
  893. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  894. NSLog(@"----测试数据%@",responseObject);
  895. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  896. if (![responseObject isKindOfClass:[NSNull class]]) {
  897. block (responseObject);
  898. }
  899. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  900. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  901. [alert show];
  902. [AppDelegate LoginRootViewController];
  903. }else{
  904. NSString *str = [responseObject objectForKey:@"msg"];
  905. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  906. [alert show];
  907. }
  908. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  909. }];
  910. }
  911. +(void)getSiteWithUrlPagesize:(NSInteger)pagesize Page:(NSInteger)page completionBlock:(ArrayBlock)block{
  912. //创建JsonURL
  913. // NSString *strUrl = @"https://www.hsh-iot.com/YunGanKeJi/getsite";
  914. NSString *strURL = [NSString stringWithFormat:@"%@app/getSite?page=%ld&pagesize=%ld",BASE_URL,page,pagesize];
  915. //创建manager
  916. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  917. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  918. // //申明返回的结果是json类型
  919. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  920. // 申明请求的数据是json类型
  921. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  922. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  923. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURL parameters:nil error:nil];
  924. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  925. //获取Token
  926. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  927. NSString *token = [tokenid objectForKey:@"token"];
  928. //将Token作为请求头上传
  929. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  930. //改为get请求
  931. [manager GET:strURL parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  932. NSLog(@"----测试数据%@",responseObject);
  933. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  934. NSDictionary *dic = [responseObject objectForKey:@"data"];
  935. NSArray *placeArray = [dic objectForKey:@"dataList"];
  936. NSMutableArray *infoArr =[NSMutableArray array];
  937. for (NSDictionary *dic in placeArray) {
  938. PlaceModel *info = [PlaceModel parserWithDic:dic];
  939. [infoArr addObject:info];
  940. }
  941. block (infoArr);
  942. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  943. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  944. [alert show];
  945. [AppDelegate LoginRootViewController];
  946. }else{
  947. NSString *str = [responseObject objectForKey:@"msg"];
  948. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  949. [alert show];
  950. }
  951. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  952. }];
  953. }
  954. +(void)getTroubleSiteWithUrlPagesize:(NSInteger)pagesize Page:(NSInteger)page completionBlock:(ArrayBlock)block{
  955. NSString *strURl = [NSString stringWithFormat:@"%@app/getTroubleSite?page=%ld&pagesize=%ld",BASE_URL,page,pagesize];
  956. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  957. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  958. // //申明返回的结果是json类型
  959. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  960. // 申明请求的数据是json类型
  961. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  962. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  963. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strURl parameters:nil error:nil];
  964. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  965. //获取Token
  966. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  967. NSString *token = [tokenid objectForKey:@"token"];
  968. //将Token作为请求头上传
  969. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  970. //改为get请求
  971. [manager GET:strURl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  972. NSLog(@"----测试数据%@",responseObject);
  973. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  974. NSArray *placeArray = [responseObject objectForKey:@"data"];
  975. NSMutableArray *infoArr =[NSMutableArray array];
  976. for (NSDictionary *dic in placeArray) {
  977. troubleSiteModel *info = [troubleSiteModel parserWithDic:dic];
  978. [infoArr addObject:info];
  979. }
  980. block (infoArr);
  981. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  982. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  983. [alert show];
  984. [AppDelegate LoginRootViewController];
  985. }else{
  986. NSString *str = [responseObject objectForKey:@"msg"];
  987. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  988. [alert show];
  989. }
  990. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  991. }];
  992. }
  993. +(void)deleteSiteWithUrlSiteID:(NSString *)siteID completionBlock:(RequestBlock)block{
  994. //创建JsonURL
  995. NSString *strUrl = [NSString stringWithFormat:@"%@app/deleteSite?ids=%@",BASE_URL,siteID];
  996. //创建manager
  997. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  998. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  999. // //申明返回的结果是json类型
  1000. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1001. // 申明请求的数据是json类型
  1002. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  1003. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  1004. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  1005. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  1006. //获取Token
  1007. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  1008. NSString *token = [tokenid objectForKey:@"token"];
  1009. //将Token作为请求头上传
  1010. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  1011. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  1012. [param setValue:siteID forKey:@"ids"];
  1013. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  1014. NSLog(@"这是删除场所返回的数据%@",responseObject);
  1015. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  1016. block(responseObject);
  1017. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  1018. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1019. [alert show];
  1020. [AppDelegate LoginRootViewController];
  1021. }else{
  1022. NSString *str = [responseObject objectForKey:@"msg"];
  1023. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1024. [alert show];
  1025. }
  1026. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  1027. }];
  1028. }
  1029. +(void)updatePhonePushWithURlSiteID:(NSString *)siteID ISTel:(NSString *)isTel ISMsg:(NSString *)isMsg completionBlock:(RequestBlock)block{
  1030. //创建JsonURL
  1031. NSString *strUrl = [NSString stringWithFormat:@"%@app/updatePhonePush?siteId=%@&isTel=%@&isMsg=%@",BASE_URL,siteID,isTel,isMsg];
  1032. //创建manager
  1033. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  1034. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  1035. // //申明返回的结果是json类型
  1036. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1037. // 申明请求的数据是json类型
  1038. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  1039. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  1040. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  1041. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  1042. //获取Token
  1043. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  1044. NSString *token = [tokenid objectForKey:@"token"];
  1045. //将Token作为请求头上传
  1046. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  1047. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  1048. NSLog(@"这是删除场所返回的数据%@",responseObject);
  1049. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  1050. block(responseObject);
  1051. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  1052. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1053. [alert show];
  1054. [AppDelegate LoginRootViewController];
  1055. }else{
  1056. NSString *str = [responseObject objectForKey:@"msg"];
  1057. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1058. [alert show];
  1059. }
  1060. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  1061. }];
  1062. }
  1063. #pragma mark----联系人相关
  1064. /**
  1065. 添加联系人
  1066. */
  1067. +(void)addlinkmanWithUrlSiteId:(NSString *)siteId Name:(NSString *)name Phone:(NSString *)phone completionBlock:(RequestBlock)block{
  1068. //创建JsonURL
  1069. NSString *strUrl = [NSString stringWithFormat:@"%@app/insertLinkMan",BASE_URL];
  1070. //创建manager
  1071. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  1072. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  1073. // //申明返回的结果是json类型
  1074. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1075. // 申明请求的数据是json类型
  1076. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  1077. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  1078. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST"URLString:strUrl parameters:nil error:nil];
  1079. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  1080. //获取Token
  1081. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  1082. NSString *token = [tokenid objectForKey:@"token"];
  1083. //将Token作为请求头上传
  1084. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  1085. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  1086. [param setValue:siteId forKey:@"siteid"];
  1087. [param setValue:name forKey:@"name"];
  1088. [param setValue:phone forKey:@"phone"];
  1089. [manager POST:strUrl parameters:param progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  1090. NSLog(@"添加联系人数据%@",responseObject);
  1091. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  1092. block(responseObject);
  1093. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  1094. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1095. [alert show];
  1096. [AppDelegate LoginRootViewController];
  1097. }else{
  1098. NSString *str = [responseObject objectForKey:@"msg"];
  1099. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1100. [alert show];
  1101. }
  1102. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  1103. }];
  1104. }
  1105. /**
  1106. 获取联系人
  1107. */
  1108. +(void)getlinkmanWithUrlSiteId:(NSString *)siteId completionBlock:(ArrayBlock)block{
  1109. //创建JsonURL
  1110. NSString *strUrl = [NSString stringWithFormat:@"%@app/getLinkman?siteid=%@",BASE_URL,siteId];
  1111. //创建manager
  1112. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  1113. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  1114. // //申明返回的结果是json类型
  1115. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1116. // 申明请求的数据是json类型
  1117. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  1118. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  1119. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  1120. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  1121. //获取Token
  1122. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  1123. NSString *token = [tokenid objectForKey:@"token"];
  1124. //将Token作为请求头上传
  1125. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  1126. NSMutableDictionary *param = [[NSMutableDictionary alloc]init];
  1127. [param setValue:siteId forKey:@"siteid"];
  1128. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  1129. NSLog(@"获取联系人数据%@",responseObject);
  1130. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  1131. NSArray *listArray = [responseObject objectForKey:@"data"];
  1132. NSMutableArray *personArr =[NSMutableArray array];
  1133. for (NSDictionary *dic in listArray) {
  1134. contactModel *info = [contactModel parserWithDic:dic];
  1135. [personArr addObject:info];
  1136. }
  1137. block (personArr);
  1138. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  1139. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1140. [alert show];
  1141. [AppDelegate LoginRootViewController];
  1142. }else{
  1143. NSString *str = [responseObject objectForKey:@"msg"];
  1144. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1145. [alert show];
  1146. }
  1147. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  1148. }];
  1149. }
  1150. /**
  1151. 删除联系人
  1152. */
  1153. +(void)deletelinkmanWithUrlId:(NSString *)Id completionBlock:(RequestBlock)block{
  1154. //创建JsonURL
  1155. NSString *strUrl = [NSString stringWithFormat:@"%@app/deleteLinkman?id=%@",BASE_URL,Id];
  1156. //创建manager
  1157. AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
  1158. manager.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];//不设置会报-1016或者会有编码问题
  1159. // //申明返回的结果是json类型
  1160. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  1161. // 申明请求的数据是json类型
  1162. manager.requestSerializer=[AFJSONRequestSerializer serializer];
  1163. [manager.responseSerializer setAcceptableContentTypes:[NSSet setWithObjects:@"application/json",@"text/json", @"text/javascript",@"text/html",@"text/plain",nil]];
  1164. NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"GET"URLString:strUrl parameters:nil error:nil];
  1165. [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];
  1166. //获取Token
  1167. NSUserDefaults *tokenid = [NSUserDefaults standardUserDefaults];
  1168. NSString *token = [tokenid objectForKey:@"token"];
  1169. //将Token作为请求头上传
  1170. [manager.requestSerializer setValue:token forHTTPHeaderField:@"token"];
  1171. [manager GET:strUrl parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
  1172. NSLog(@"删除联系人数据%@",responseObject);
  1173. if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(0)]) {
  1174. block(responseObject);
  1175. }else if ([[responseObject objectForKey:@"code"]isEqualToNumber:@(10002)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10003)]||[[responseObject objectForKey:@"code"]isEqualToNumber:@(10001)]){
  1176. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"该账号在其他人登录" delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1177. [alert show];
  1178. [AppDelegate LoginRootViewController];
  1179. }else{
  1180. NSString *str = [responseObject objectForKey:@"msg"];
  1181. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:str delegate:self cancelButtonTitle:@"好的" otherButtonTitles:nil, nil];
  1182. [alert show];
  1183. }
  1184. } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
  1185. }];
  1186. }
  1187. @end