KSNetworkingManager.m 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992
  1. //
  2. // KSNetworkingManager.m
  3. // KulexiuForTeacher
  4. //
  5. // Created by Kyle on 2022/3/17.
  6. //
  7. #import "KSNetworkingManager.h"
  8. #import "KeyChainTools.h"
  9. #import "LoginViewController.h"
  10. #import "AppDelegate.h"
  11. #import <RongIMKit/RongIMKit.h>
  12. #import "JPUSHService.h"
  13. #import "RCConnectionManager.h"
  14. #import "CustomNavViewController.h"
  15. @implementation KSNetworkingManager
  16. + (void)configRequestHeader {
  17. if (![NSString isEmptyString:UserDefault(TokenKey)]) {
  18. [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), UserDefault(TokenKey)]}];
  19. }
  20. }
  21. + (void)configRequestFormHeaderWithToken:(NSString *)token {
  22. if (![NSString isEmptyString:token]) {
  23. [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), token], @"Content-Type":@"application/x-www-form-urlencoded"}];
  24. }
  25. else if (![NSString isEmptyString:UserDefault(TokenKey)]) {
  26. [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), UserDefault(TokenKey)], @"Content-Type":@"application/x-www-form-urlencoded"}];
  27. }
  28. else {
  29. [[VoNetworking sharedManager] configHttpHeader:@{@"Content-Type":@"application/x-www-form-urlencoded"}];
  30. }
  31. }
  32. + (void)clearRequestHeader {
  33. [[VoNetworking sharedManager] removeHeaderKey];
  34. }
  35. // 设置表单提交方式
  36. + (void)configRequestMethodForm {
  37. [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer];
  38. [self configRequestFormHeaderWithToken:nil];
  39. }
  40. + (void)configRequestMethodFormWithToken:(NSString *)token {
  41. [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer];
  42. [self configRequestFormHeaderWithToken:token];
  43. }
  44. // 设置json提交方式
  45. + (void)configRequestMethodJSON {
  46. [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFJSONRequestSerializer serializer];
  47. [self configRequestHeader];
  48. }
  49. + (NSString *)returnNoContainGroupId:(NSString *)groupId {
  50. if (![NSString isEmptyString:groupId]) {
  51. if ([groupId containsString:@"S"] || [groupId containsString:@"I"]) {
  52. groupId = [groupId substringFromIndex:1];
  53. }
  54. }
  55. return groupId;
  56. }
  57. /**
  58. * 封装网络请求
  59. */
  60. + (void)request:(NSString *)post andWithUrl:(NSString *)myUrl and:(id)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  61. __block NSDictionary *dic;
  62. #pragma mark ----- 签名
  63. // parm = [NSString signToMD5:parm];
  64. NSLog(@"%@",[parm mj_JSONString]);
  65. // post
  66. if ([post isEqualToString:KS_POST]) {
  67. [[VoNetworking sharedManager] postWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  68. NSLog(@"%lld--%lld",bytesRead,totalBytes);
  69. } successBlock:^(id response) {
  70. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  71. if ([dic integerValueForKey:@"code"] == 403) { // token验证失败
  72. [self logOutWithType:YES];
  73. return ;
  74. }
  75. else if ([dic integerValueForKey:@"code"] == 401) {
  76. [self logOutWithType:NO];
  77. return ;
  78. }
  79. success(dic);
  80. return ;
  81. } failBlock:^(NSError *error) {
  82. NSLog(@"%@",error.description);
  83. faliure(error);
  84. if (error.code == -1001) {
  85. [self showMessage:@"网络请求超时"];
  86. }
  87. else if (error.code != -999) {
  88. [self showMessage:@"网络或服务器错误,请重试"];
  89. }
  90. }];
  91. }
  92. // get
  93. else {
  94. [[VoNetworking sharedManager] getWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  95. NSLog(@"%lld--%lld",bytesRead,totalBytes);
  96. } successBlock:^(id response) {
  97. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  98. if ([dic integerValueForKey:@"code"] == 403) { // token验证失败
  99. [self logOutWithType:YES];
  100. return;
  101. }
  102. else if ([dic integerValueForKey:@"code"] == 401) {
  103. [self logOutWithType:NO];
  104. return;
  105. }
  106. success(dic);
  107. return ;
  108. } failBlock:^(NSError *error) {
  109. NSLog(@"%@",error.description);
  110. faliure(error);
  111. if (error.code == -1001) {
  112. [self showMessage:@"网络请求超时"];
  113. }
  114. else if (error.code != -999) {
  115. [self showMessage:@"网络或服务器错误,请重试"];
  116. }
  117. }];
  118. }
  119. }
  120. + (void)logOutWithType:(BOOL)isDisable {
  121. // 移除所有的loadView
  122. [[VoNetworking sharedManager] cancleAllRequest];
  123. [MBProgressHUD hideHUD];
  124. if (isDisable) {
  125. [self showMessage:@"登录过期,请重新登录"];
  126. }
  127. else {
  128. [self showMessage:@"未认证"];
  129. }
  130. [self logoutAction];
  131. }
  132. + (void)logoutAction {
  133. [self clearRequestHeader];
  134. // 取消推送别名
  135. [JPUSHService deleteAlias:nil seq:0];
  136. // 清除数据信息
  137. UserDefaultRemoveObjectForKey(TokenKey);
  138. UserDefaultRemoveObjectForKey(RongTokenKey);
  139. [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
  140. [RCConnectionManager shareManager].isNeedJoin = NO;
  141. [RCConnectionManager shareManager].isNeedShowMessage = NO;
  142. [[RCIM sharedRCIM] logout];
  143. // 回到登录界面
  144. UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;
  145. if ([vc.presentedViewController isKindOfClass:NSClassFromString(@"NewClassroomViewController")]) {
  146. [[NSNotificationCenter defaultCenter] postNotificationName:@"classroomLogout" object:nil];
  147. }
  148. else if ([vc isKindOfClass:[UITabBarController class]]) {
  149. UITabBarController *tab = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
  150. CustomNavViewController *ctrl = (CustomNavViewController *)tab.selectedViewController;
  151. [ctrl popToRootViewControllerAnimated:NO];
  152. LoginViewController *logonVC = [[LoginViewController alloc] init];
  153. CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:logonVC];
  154. navCtrl.modalPresentationStyle = UIModalPresentationFullScreen;
  155. [tab.selectedViewController presentViewController:navCtrl animated:YES completion:nil];
  156. }
  157. }
  158. // 提示信息
  159. + (void)showMessage:(NSString *)message {
  160. MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:[[UIApplication sharedApplication].windows lastObject] animated:YES];
  161. hud.removeFromSuperViewOnHide =YES;
  162. hud.mode = MBProgressHUDModeText;
  163. hud.label.text = message;
  164. hud.minSize = CGSizeMake(132.f, 60.0f);
  165. hud.label.textColor = [UIColor whiteColor];
  166. hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
  167. hud.bezelView.backgroundColor = [UIColor colorWithHexString:@"#000000" alpha:0.8];
  168. [hud hideAnimated:YES afterDelay:2];
  169. }
  170. // 多文件上传
  171. + (void)uploadMultiFileWithFileArray:(NSArray *)datas
  172. andWithUrl:(NSString *)myUrl
  173. parameters:(NSDictionary *)parameters
  174. type:(NSString *)type
  175. name:(NSString *)name
  176. mimeType:(NSString *)mimeType
  177. progress:(void(^)(NSProgress * _Nonnull uploadProgress))progress
  178. success:(void(^)(NSMutableArray *dics))success
  179. faliure:(void(^)(NSError *error))faliure {
  180. __block NSMutableArray *dics = [NSMutableArray array];
  181. [[VoNetworking sharedManager] uploadMultFileWithUrl:myUrl parameters:parameters fileDatas:datas type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  182. } successBlock:^(NSArray *responses) {
  183. for (id response in responses) {
  184. NSDictionary *subDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  185. [dics addObject:subDic];
  186. }
  187. success(dics);
  188. } failBlock:^(NSArray *errors) {
  189. [self showMessage:@"网络或服务器错误,请重试"];
  190. faliure([errors lastObject]);
  191. }];
  192. }
  193. // 单文件上传
  194. + (void)uploadFileWithFileData:(NSData *)data
  195. andWithUrl:(NSString *)myUrl
  196. parameters:(NSDictionary *)parameters
  197. type:(NSString *)type
  198. name:(NSString *)name
  199. mimeType:(NSString *)mimeType
  200. progress:(void(^)(int64_t bytesWritten,
  201. int64_t totalBytes))progress
  202. success:(void(^)(NSDictionary *dic))success
  203. faliure:(void(^)(NSError *error))faliure {
  204. __block NSDictionary *dic;
  205. [[VoNetworking sharedManager] uploadFileWithUrl:myUrl parameters:parameters fileData:data type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  206. if (progress) {
  207. progress(bytesWritten, totalBytes);
  208. }
  209. } successBlock:^(id response) {
  210. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  211. success(dic);
  212. return ;
  213. } failBlock:^(NSError *error) {
  214. faliure(error);
  215. [self showMessage:@"网络或服务器错误,请重试"];
  216. }];
  217. }
  218. // 下载
  219. + (void)downloadTaskWithUrl:(NSString *)myUrl
  220. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  221. success:(void(^)(NSURL *fileUrl))success
  222. faliure:(void(^)(NSError *error))faliure {
  223. [self clearRequestHeader];
  224. [[VoNetworking sharedManager] downloadWithUrl:myUrl progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  225. if (progress) {
  226. progress(bytesRead, totalBytes);
  227. }
  228. } successBlock:^(NSURL * _Nullable url) {
  229. [self configRequestHeader];
  230. if (success) {
  231. success(url);
  232. }
  233. } failBlock:^(NSError * _Nonnull error) {
  234. if (faliure) {
  235. faliure(error);
  236. }
  237. [self showMessage:@"网络或服务器错误,请重试"];
  238. [self configRequestHeader];
  239. }];
  240. }
  241. // 多文件下载
  242. + (void)mutilDownTaskWithUrl:(NSArray *)urlArray
  243. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  244. successBlock:(void(^)(NSMutableArray *dics))success
  245. failBlock:(void(^)(NSError *error))faliure {
  246. [self clearRequestHeader];
  247. [[VoNetworking sharedManager] downloadMutilFileWithUrl:urlArray progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  248. } successBlock:^(NSArray * _Nonnull responses) {
  249. [self configRequestHeader];
  250. NSMutableArray *result = [NSMutableArray arrayWithArray:responses];
  251. success(result);
  252. } failBlock:^(NSArray * _Nonnull errors) {
  253. [self showMessage:@"网络或服务器错误,请重试"];
  254. [self configRequestHeader];
  255. faliure([errors lastObject]);
  256. }];
  257. }
  258. #pragma mark ----- version
  259. // api-admin/appVersionInfo/queryByPlatform
  260. + (void)appVersionInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  261. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/appVersionInfo/queryByPlatform"];
  262. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  263. [parm setValue:@"iOS-teacher" forKey:@"platform"];
  264. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  265. }
  266. #pragma mark ---- 图片上传
  267. /**
  268. 图片上传
  269. @param post post
  270. @param pics 图片的数组
  271. @param success 成功
  272. @param faliure 失败
  273. */
  274. + (void)multiImageUpload:(NSString *)post imgDataArray:(NSArray *)pics success:(void(^)(NSArray *dics))success faliure:(void(^)(NSError *error))faliure {
  275. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  276. NSString *type = [UIImage typeForImageData:[pics lastObject]];
  277. [self uploadMultiFileWithFileArray:pics andWithUrl:url parameters:nil type:type name:@"file" mimeType:[NSString stringWithFormat:@"Image/%@",type] progress:nil success:success faliure:faliure];
  278. }
  279. #pragma mark ----- 视频文件上传
  280. /**
  281. 视频文件上传
  282. @param post post
  283. @param fileData 文件data
  284. @param progress 进度
  285. @param success 成功
  286. @param faliure 失败
  287. */
  288. + (void)videoFileUpload:(NSString *)post fileData:(NSData *)fileData progress:(void(^)(int64_t bytesWritten,int64_t totalBytes))progress success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure; {
  289. [self configRequestMethodJSON];
  290. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  291. [self uploadFileWithFileData:fileData andWithUrl:url parameters:nil type:@".mp4" name:@"file" mimeType:[NSString stringWithFormat:@"Image/.mp4"] progress:progress success:success faliure:faliure];
  292. }
  293. #pragma mark --- 其他文件上传
  294. /**
  295. 文件上传
  296. @param post post
  297. @param fileData 文件data
  298. @param suffix 文件后缀
  299. @param success 成功
  300. @param faliure 失败
  301. */
  302. + (void)fileUpload:(NSString *)post fileData:(NSData *)fileData fileSuffix:(NSString *)suffix success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  303. [self configRequestMethodJSON];
  304. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  305. [self uploadFileWithFileData:fileData andWithUrl:url parameters:nil type:suffix name:@"file" mimeType:[NSString stringWithFormat:@"Image/%@",suffix] progress:nil success:success faliure:faliure];
  306. }
  307. #pragma mark ---- 文件下载
  308. + (void)downloadFileRequestWithFileUrl:(NSString *)url progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSURL * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  309. [self downloadTaskWithUrl:url progress:progress success:success faliure:faliure];
  310. }
  311. + (void)mutiDownloadFileRequest:(NSArray *)fileUrl progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSArray * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  312. [self mutilDownTaskWithUrl:fileUrl progress:progress successBlock:success failBlock:faliure];
  313. }
  314. #pragma mark ----- 登录相关
  315. + (void)LoginRequest:(NSString *)post phone:(NSString *)phone password:(NSString *)password success:(void (^)(NSDictionary * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  316. [self configRequestMethodForm];
  317. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  318. [parm setValue:@"teacher" forKey:@"clientId"];
  319. [parm setValue:@"teacher" forKey:@"clientSecret"];
  320. [parm setValue:phone forKey:@"username"];
  321. [parm setValue:password forKey:@"password"];
  322. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  323. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/usernameLogin"];
  324. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  325. }
  326. // /api-auth/smsLogin
  327. /**
  328. 验证码登录/注册
  329. @param post post
  330. @param phone 手机号
  331. @param smsCode 验证码
  332. @param success 成功
  333. @param faliure 失败
  334. */
  335. + (void)smsLoginRequest:(NSString *)post phone:(NSString *)phone smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  336. [self configRequestMethodForm];
  337. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  338. [parm setValue:@"teacher" forKey:@"clientId"];
  339. [parm setValue:@"teacher" forKey:@"clientSecret"];
  340. [parm setValue:phone forKey:@"phone"];
  341. [parm setValue:smsCode forKey:@"smsCode"];
  342. [parm setValue:@"IOS" forKey:@"channel"];
  343. [parm setValue:@"true" forKey:@"isSurportRegister"];
  344. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  345. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/smsLogin"];
  346. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  347. }
  348. // /api-auth/refreshToken
  349. /**
  350. 刷新token的逻辑
  351. @param post post
  352. @param success 成功
  353. @param faliure 失败
  354. */
  355. + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  356. [self configRequestMethodForm];
  357. [self clearRequestHeader];
  358. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  359. [parm setValue:@"teacher" forKey:@"clientId"];
  360. [parm setValue:@"teacher" forKey:@"clientSecret"];
  361. [parm setValue:UserDefault(RefreshToken) forKey:@"refreshToken"];
  362. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/refreshToken"];
  363. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  364. }
  365. // /api-auth/checkToken
  366. /// 校验token是否有效
  367. /// @param get get
  368. /// @param success 成功
  369. /// @param faliure 失败
  370. + (void)checkTokenRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  371. [self configRequestMethodForm];
  372. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/checkToken"];
  373. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  374. }
  375. // 接口地址 /api-auth/user/setPassword
  376. /**
  377. 设置密码
  378. @param post post
  379. @param authCode 验证码
  380. @param mobile 手机号
  381. @param password 密码
  382. @param token token
  383. @param success 成功
  384. @param faliure 失败
  385. */
  386. + (void)setPasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  387. [self configRequestMethodFormWithToken:token];
  388. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  389. [parm setValue:mobile forKey:@"mobile"];
  390. [parm setValue:authCode forKey:@"authCode"];
  391. [parm setValue:password forKey:@"password"];
  392. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setPassword"];
  393. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  394. }
  395. // /api-auth/user/updatePassword
  396. /**
  397. 修改密码
  398. @param post post
  399. @param authCode 验证码
  400. @param mobile 手机号
  401. @param newPassword 新密码
  402. @param success 成功
  403. @param faliure 失败
  404. */
  405. + (void)updatePasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile newPassword:(NSString *)newPassword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  406. [self configRequestMethodForm];
  407. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  408. [parm setValue:mobile forKey:@"mobile"];
  409. [parm setValue:authCode forKey:@"authCode"];
  410. [parm setValue:newPassword forKey:@"newPassword"];
  411. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePassword"];
  412. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  413. }
  414. // /api-auth/user/checkUser
  415. /// 用户信息校验
  416. /// @param get get
  417. /// @param phone 手机号
  418. /// @param password 密码
  419. /// @param success 成功
  420. /// @param faliure 失败
  421. + (void)checkUserRequest:(NSString *)get phone:(NSString *)phone password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  422. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/checkUser"];
  423. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  424. [parm setValue:phone forKey:@"phone"];
  425. [parm setValue:password forKey:@"password"];
  426. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  427. }
  428. // /api-auth/user/updatePhone
  429. /// 修改手机号
  430. /// @param post post
  431. /// @param oldPhone 旧手机号
  432. /// @param authCode 验证码
  433. /// @param newPhone 新手机号码
  434. /// @param success 成功
  435. /// @param faliure 失败
  436. + (void)updatePhoneRequest:(NSString *)post oldPhone:(NSString *)oldPhone authCode:(NSString *)authCode newPhone:(NSString *)newPhone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  437. [self configRequestMethodForm];
  438. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePhone"];
  439. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  440. [parm setValue:oldPhone forKey:@"oldPhone"];
  441. [parm setValue:authCode forKey:@"authCode"];
  442. [parm setValue:newPhone forKey:@"newPhone"];
  443. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  444. }
  445. // /api-auth/user/refreshImToken
  446. /// 刷新IM token
  447. /// @param post post
  448. /// @param success 成功
  449. /// @param faliure 失败
  450. + (void)refreshImTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  451. [self configRequestMethodForm];
  452. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/refreshImToken"];
  453. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  454. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  455. }
  456. // /api-auth/exit
  457. /**
  458. 退出登录
  459. @param post 请求
  460. @param success 成功
  461. @param faliure 失败
  462. */
  463. + (void)logoutRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  464. [self configRequestMethodForm];
  465. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  466. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/exit"];
  467. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  468. }
  469. #pragma mark ---- 验证码服务
  470. // /api-teacher/code/sendSms
  471. /**
  472. 发送短信验证码
  473. @param post post
  474. @param mobile 手机号码
  475. @param success 成功
  476. @param faliure 失败
  477. */
  478. + (void)sendSmsRequest:(NSString *)post mobile:(NSString *)mobile success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  479. [self configRequestMethodForm];
  480. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  481. [parm setValue:mobile forKey:@"mobile"];
  482. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/sendSmsCode"];
  483. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  484. }
  485. // /api-teacher/code/verifyImageCode
  486. /**
  487. 图形验证码校验
  488. @param post post
  489. @param phone 手机号
  490. @param code 验证码
  491. @param success 成功
  492. @param faliure 失败
  493. */
  494. + (void)verifyLoginImageRequest:(NSString *)post phone:(NSString *)phone code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  495. [self configRequestMethodForm];
  496. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  497. [parm setValue:phone forKey:@"phone"];
  498. [parm setValue:code forKey:@"code"];
  499. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/verifyImageCode"];
  500. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  501. }
  502. #pragma mark ----- 查询用户信息
  503. // /api-auth/queryUserInfo
  504. /**
  505. 获取个人信息
  506. @param get get
  507. @param success 成功
  508. @param faliure 失败
  509. */
  510. + (void)queryUserInfo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  511. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/api/queryUserInfo"];
  512. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  513. }
  514. // /api-teacher/teacher/queryUserInfo
  515. /// 查询老师信息
  516. /// @param get get
  517. /// @param success 成功
  518. /// @param faliure 失败
  519. + (void)queryTeacherInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  520. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryUserInfo"];
  521. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  522. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  523. }
  524. // /api-auth/user/submitSetDetail
  525. /// 修改用户信息
  526. /// @param post post
  527. /// @param avatal 头像
  528. /// @param gender 性别
  529. /// @param username 昵称
  530. /// @param success 成功
  531. /// @param faliure 失败
  532. + (void)modifyTeacherMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  533. [self configRequestMethodJSON];
  534. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/submitSetDetail"];
  535. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  536. [parm setValue:avatal forKey:@"avatar"];
  537. [parm setValue:gender forKey:@"gender"];
  538. [parm setValue:username forKey:@"username"];
  539. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  540. }
  541. #pragma mark -------- 群组服务
  542. // /api-teacher/imUserFriend/queryAll
  543. /// 查询好友列表
  544. /// @param post post
  545. /// @param search 搜索
  546. /// @param success 成功
  547. /// @param faliure 失败
  548. + (void)imUserFriendRequest:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  549. [self configRequestMethodJSON];
  550. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imUserFriend/queryAll"];
  551. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  552. [parm setValue:search forKey:@"search"];
  553. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  554. }
  555. // /api-teacher/imGroup/queryAll
  556. /// 查询老师群组列表
  557. /// @param post post
  558. /// @param search 搜索
  559. /// @param success 成功
  560. /// @param faliure 失败
  561. + (void)imGroupQueryPage:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  562. [self configRequestMethodJSON];
  563. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryAll"];
  564. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  565. [parm setValue:search forKey:@"search"];
  566. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  567. }
  568. // /api-teacher/imGroup/create
  569. /// 创建粉丝群
  570. /// @param post post
  571. /// @param name 群名称
  572. /// @param introduce 群简介
  573. /// @param success 成功
  574. /// @param faliure 失败
  575. + (void)imGroupCreate:(NSString *)post name:(NSString *)name introduce:(NSString *)introduce success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  576. [self configRequestMethodJSON];
  577. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/create"];
  578. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  579. [parm setValue:name forKey:@"name"];
  580. [parm setValue:introduce forKey:@"introduce"];
  581. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  582. }
  583. // /api-teacher/imGroup/dismiss/{groupId}
  584. /// 解散群聊
  585. /// @param post post
  586. /// @param groupId 群id
  587. /// @param success 成功
  588. /// @param faliure 失败
  589. + (void)imGroupDismiss:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  590. [self configRequestMethodJSON];
  591. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/dismiss",groupId];
  592. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  593. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  594. }
  595. // /api-teacher/imGroup/getDetail/{groupId}
  596. /// 获取群信息
  597. /// @param post post
  598. /// @param groupId 群id
  599. /// @param success 成功
  600. /// @param faliure 失败
  601. + (void)queryGroupDetail:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  602. [self configRequestMethodJSON];
  603. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/getDetail",groupId];
  604. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  605. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  606. }
  607. // 获取群成员列表
  608. // /api-teacher/imGroupMember/queryAll
  609. /// 查询群成员列表
  610. /// @param post post
  611. /// @param groupId 群id
  612. /// @param success 成功
  613. /// @param faliure 失败
  614. + (void)imGroupMemberAllRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  615. [self configRequestMethodJSON];
  616. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/queryAll"];
  617. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  618. [parm setValue:groupId forKey:@"groupId"];
  619. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  620. }
  621. // 查询群成员
  622. // /api-teacher/imGroupMember/getUserDetail
  623. /// 查询群成员信息
  624. /// @param post post
  625. /// @param groupId 群id
  626. /// @param userId 用户id
  627. /// @param success 成功
  628. /// @param faliure 失败
  629. + (void)imGroupMemberQueryUser:(NSString *)post groupId:(NSString *)groupId userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  630. [self configRequestMethodJSON];
  631. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/getUserDetail"];
  632. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  633. [parm setValue:groupId forKey:@"groupId"];
  634. [parm setValue:userId forKey:@"userId"];
  635. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  636. }
  637. // 获取IM好友详情
  638. // /api-teacher/imUserFriend/getDetail/{userId}
  639. /// 获取好友详情
  640. /// @param post post
  641. /// @param userId 用户id
  642. /// @param success 成功
  643. /// @param faliure 失败
  644. + (void)imUserFriendQueryDetail:(NSString *)post userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  645. [self configRequestMethodJSON];
  646. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imUserFriend/getDetail",userId];
  647. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  648. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  649. }
  650. // /api-teacher/imGroupMemberAudit/queryAll
  651. /// 申请入群列表
  652. /// @param post post
  653. /// @param groupId 群id
  654. /// @param success 成功
  655. /// @param faliure 失败
  656. + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  657. [self configRequestMethodJSON];
  658. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/queryAll"];
  659. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  660. [parm setValue:groupId forKey:@"groupId"];
  661. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  662. }
  663. // /api-teacher/imGroupMemberAudit/applyAudit
  664. /// 群申请审核
  665. /// @param post post
  666. /// @param groupId 群id
  667. /// @param status 审核状态
  668. /// @param auditIds 申请id
  669. /// @param success 成功
  670. /// @param faliure 失败
  671. + (void)imGroupMemberAuditRequest:(NSString *)post groupId:(NSString *)groupId auditStatus:(BOOL)status auditIds:(NSString *)auditIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  672. [self configRequestMethodJSON];
  673. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/applyAudit"];
  674. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  675. [parm setValue:groupId forKey:@"groupId"];
  676. [parm setValue:auditIds forKey:@"auditIds"];
  677. NSString *statusEnum = status ? @"OPEN" : @"REJECT";
  678. [parm setValue:statusEnum forKey:@"auditStatus"];
  679. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  680. }
  681. // /api-teacher/imGroup/update
  682. /// 修改群名称
  683. /// @param post post
  684. /// @param name 名称
  685. /// @param groupId 群id
  686. /// @param success 成功
  687. /// @param faliure 失败
  688. + (void)imGroupModify:(NSString *)post name:(NSString *)name groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  689. [self configRequestMethodJSON];
  690. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/update"];
  691. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  692. [parm setValue:groupId forKey:@"id"];
  693. [parm setValue:name forKey:@"name"];
  694. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  695. }
  696. #pragma mark ---- 群公告
  697. // /api-teacher/imGroupNotice/queryPage
  698. /// 群公告列表查询
  699. /// @param post post
  700. /// @param groupId 群组id
  701. /// @param page 分页
  702. /// @param rows 条数
  703. /// @param success 成功
  704. /// @param faliure 失败
  705. + (void)queryNoticeListRequest:(NSString *)post groupId:(NSString *)groupId page:(NSString *)page rows:(NSString *)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  706. [self configRequestMethodJSON];
  707. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/queryPage"];
  708. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  709. [parm setValue:groupId forKey:@"groupId"];
  710. [parm setValue:page forKey:@"page"];
  711. [parm setValue:rows forKey:@"rows"];
  712. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  713. }
  714. // /api-teacher/imGroupNotice/create
  715. /// 创建群公告
  716. /// @param post post
  717. /// @param groupId 群编号
  718. /// @param title 标题
  719. /// @param content 内容
  720. /// @param isTop 是否置顶
  721. /// @param success 成功
  722. /// @param faliure 失败
  723. + (void)imGroupNoticeCreateRequest:(NSString *)post groupId:(NSString *)groupId title:(NSString *)title content:(NSString *)content isTop:(NSString *)isTop success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  724. [self configRequestMethodJSON];
  725. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/create"];
  726. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  727. [parm setValue:groupId forKey:@"groupId"];
  728. [parm setValue:title forKey:@"title"];
  729. [parm setValue:isTop forKey:@"topFlag"];
  730. [parm setValue:content forKey:@"content"];
  731. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  732. }
  733. // /api-teacher/imGroupNotice/update
  734. /// 编辑群公告
  735. /// @param post post
  736. /// @param groupId 群编号
  737. /// @param title 标题
  738. /// @param content 内容
  739. /// @param isTop 是否置顶
  740. /// @param noticeID noticeID
  741. /// @param success 成功
  742. /// @param faliure 失败
  743. + (void)imGroupNoticeUpdateRequest:(NSString *)post groupId:(NSString *)groupId title:(NSString *)title content:(NSString *)content isTop:(NSString *)isTop noticeID:(NSString *)noticeID success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  744. [self configRequestMethodJSON];
  745. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/update"];
  746. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  747. [parm setValue:groupId forKey:@"groupId"];
  748. [parm setValue:noticeID forKey:@"id"];
  749. [parm setValue:title forKey:@"title"];
  750. [parm setValue:isTop forKey:@"topFlag"];
  751. [parm setValue:content forKey:@"content"];
  752. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  753. }
  754. // /api-teacher/imGroupNotice/del
  755. /// 删除群公告
  756. /// @param post post
  757. /// @param noticeID noticeID
  758. /// @param success 成功
  759. /// @param faliure 失败
  760. + (void)imGroupNoticeDelRequest:(NSString *)post noticeID:(NSString *)noticeID success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  761. [self configRequestMethodJSON];
  762. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroupNotice/del",noticeID];
  763. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  764. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  765. }
  766. #pragma mark ----- 视频课相关
  767. // /api-teacher/videoLessonGroup/page
  768. // 视频课列表查询
  769. /// 视频课列表查询
  770. /// @param post post
  771. /// @param auditStatus 审核状态 (0:待审核;1:通过;2:未通过)
  772. /// @param pageNo 分页
  773. /// @param pageSize 条数
  774. /// @param success 成功
  775. /// @param faliure 失败
  776. + (void)videoLessonListRequest:(NSString *)post auditStatus:(NSString *)auditStatus pageNo:(NSInteger)pageNo pageSize:(NSInteger)pageSize success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  777. [self configRequestMethodJSON];
  778. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/videoLessonGroup/page"];
  779. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  780. [parm setValue:auditStatus forKey:@"auditStatus"];
  781. [parm setValue:@(pageNo) forKey:@"page"];
  782. [parm setValue:@(pageSize) forKey:@"rows"];
  783. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  784. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  785. }
  786. #pragma mark ---- 老师曲谱列表查询
  787. // /api-admin/music/sheet/list
  788. + (void)musicListRequest:(NSString *)post auditStatus:(NSString *)auditStatus pageNo:(NSInteger)pageNo pageSize:(NSInteger)pageSize success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  789. [self configRequestMethodJSON];
  790. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/music/sheet/list"];
  791. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  792. [parm setValue:auditStatus forKey:@"auditStatus"];
  793. [parm setValue:@(pageNo) forKey:@"pageNo"];
  794. [parm setValue:@(pageSize) forKey:@"pageSize"];
  795. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  796. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  797. }
  798. #pragma mark ----- 直播房间与课程的关系表
  799. // /api-teacher/liveRoom/createTempLiveRoom
  800. /// 创建直播 (临时开播)
  801. /// @param post post
  802. /// @param coverPic 封面图
  803. /// @param liveRemark 直播内容(200以内)
  804. /// @param roomTitle 房间标题
  805. /// @param success 成功
  806. /// @param faliure 失败
  807. + (void)liveRoomCreateTempLiveRoom:(NSString *)post coverPic:(NSString *)coverPic liveRemark:(NSString *)liveRemark roomTitle:(NSString *)roomTitle success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  808. [self configRequestMethodJSON];
  809. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/createTempLiveRoom"];
  810. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  811. [parm setValue:coverPic forKey:@"coverPic"];
  812. [parm setValue:liveRemark forKey:@"liveRemark"];
  813. [parm setValue:roomTitle forKey:@"roomTitle"];
  814. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  815. }
  816. // 进入直播房间
  817. // /api-teacher/liveRoom/joinRoom
  818. /// 进入房间
  819. /// @param get get
  820. /// @param roomUid 直播房间号
  821. /// @param success 成功
  822. /// @param faliure 失败
  823. + (void)liveRoomJoinRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  824. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/joinRoom"];
  825. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  826. [parm setValue:roomUid forKey:@"roomUid"];
  827. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  828. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  829. }
  830. // 退出直播间
  831. // /api-teacher/liveRoom/syncUserStatus
  832. /// 退出直播间
  833. /// @param post post json
  834. /// @param success 成功
  835. /// @param faliure 失败
  836. + (void)LiveroomQuit:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  837. [self configRequestMethodJSON];
  838. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncUserStatus"];
  839. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  840. [parm setValue:@"iOS" forKey:@"os"];
  841. [parm setValue:@"3" forKey:@"status"];
  842. [parm setValue:UserDefault(UIDKey) forKey:@"userid"];
  843. [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
  844. }
  845. // 直播课程组查询
  846. // /api-teacher/courseGroup/queryPageCourseGroup
  847. /// 直播课程组查询
  848. /// @param post post
  849. /// @param groupStatus 课程组状态 ING(进行中) NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)
  850. /// @param page 页数
  851. /// @param rows 条数
  852. /// @param success 成功
  853. /// @param faliure 失败
  854. + (void)LiveCourseGroupRequest:(NSString *)post groupStatus:(NSString *)groupStatus page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  855. [self configRequestMethodJSON];
  856. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseGroup/queryPageCourseGroup"];
  857. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  858. [parm setValue:groupStatus forKey:@"groupStatus"];
  859. [parm setValue:@(page) forKey:@"page"];
  860. [parm setValue:@(rows) forKey:@"rows"];
  861. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  862. [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
  863. }
  864. @end