KSNetworkingManager.m 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247
  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/setUsernameAndPassword
  376. /**
  377. 设置密码
  378. @param post post
  379. @param username 用户名
  380. @param password 密码
  381. @param token token
  382. @param success 成功
  383. @param faliure 失败
  384. */
  385. + (void)setPasswordRequest:(NSString *)post username:(NSString *)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  386. [self configRequestMethodFormWithToken:token];
  387. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  388. [parm setValue:username forKey:@"username"];
  389. [parm setValue:password forKey:@"password"];
  390. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"];
  391. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  392. }
  393. // /api-auth/user/updatePassword
  394. /**
  395. 修改密码
  396. @param post post
  397. @param authCode 验证码
  398. @param mobile 手机号
  399. @param newPassword 新密码
  400. @param success 成功
  401. @param faliure 失败
  402. */
  403. + (void)updatePasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile newPassword:(NSString *)newPassword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  404. [self configRequestMethodForm];
  405. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  406. [parm setValue:mobile forKey:@"mobile"];
  407. [parm setValue:authCode forKey:@"authCode"];
  408. [parm setValue:newPassword forKey:@"newPassword"];
  409. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePassword"];
  410. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  411. }
  412. // /api-auth/user/checkUser
  413. /// 用户信息校验
  414. /// @param get get
  415. /// @param phone 手机号
  416. /// @param password 密码
  417. /// @param success 成功
  418. /// @param faliure 失败
  419. + (void)checkUserRequest:(NSString *)get phone:(NSString *)phone password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  420. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/checkUser"];
  421. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  422. [parm setValue:phone forKey:@"phone"];
  423. [parm setValue:password forKey:@"password"];
  424. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  425. }
  426. // /api-auth/user/updatePhone
  427. /// 修改手机号
  428. /// @param post post
  429. /// @param oldPhone 旧手机号
  430. /// @param authCode 验证码
  431. /// @param newPhone 新手机号码
  432. /// @param success 成功
  433. /// @param faliure 失败
  434. + (void)updatePhoneRequest:(NSString *)post oldPhone:(NSString *)oldPhone authCode:(NSString *)authCode newPhone:(NSString *)newPhone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  435. [self configRequestMethodForm];
  436. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePhone"];
  437. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  438. [parm setValue:oldPhone forKey:@"oldPhone"];
  439. [parm setValue:authCode forKey:@"authCode"];
  440. [parm setValue:newPhone forKey:@"newPhone"];
  441. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  442. }
  443. // /api-auth/user/refreshImToken
  444. /// 刷新IM token
  445. /// @param post post
  446. /// @param success 成功
  447. /// @param faliure 失败
  448. + (void)refreshImTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  449. [self configRequestMethodForm];
  450. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/refreshImToken"];
  451. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  452. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  453. }
  454. // /api-auth/exit
  455. /**
  456. 退出登录
  457. @param post 请求
  458. @param success 成功
  459. @param faliure 失败
  460. */
  461. + (void)logoutRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  462. [self configRequestMethodForm];
  463. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  464. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/exit"];
  465. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  466. }
  467. #pragma mark ---- 验证码服务
  468. // /api-teacher/code/sendSms
  469. /**
  470. 发送短信验证码
  471. @param post post
  472. @param mobile 手机号码
  473. @param success 成功
  474. @param faliure 失败
  475. */
  476. + (void)sendSmsRequest:(NSString *)post mobile:(NSString *)mobile success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  477. [self configRequestMethodForm];
  478. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  479. [parm setValue:mobile forKey:@"mobile"];
  480. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/sendSmsCode"];
  481. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  482. }
  483. // /api-teacher/code/verifyImageCode
  484. /**
  485. 图形验证码校验
  486. @param post post
  487. @param phone 手机号
  488. @param code 验证码
  489. @param success 成功
  490. @param faliure 失败
  491. */
  492. + (void)verifyLoginImageRequest:(NSString *)post phone:(NSString *)phone code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  493. [self configRequestMethodForm];
  494. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  495. [parm setValue:phone forKey:@"phone"];
  496. [parm setValue:code forKey:@"code"];
  497. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/verifyImageCode"];
  498. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  499. }
  500. #pragma mark ----- 查询用户信息
  501. // /api-auth/queryUserInfo
  502. /**
  503. 获取个人信息
  504. @param get get
  505. @param success 成功
  506. @param faliure 失败
  507. */
  508. + (void)queryUserInfo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  509. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/api/queryUserInfo"];
  510. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  511. }
  512. // /api-teacher/teacher/queryUserInfo
  513. /// 查询老师信息
  514. /// @param get get
  515. /// @param success 成功
  516. /// @param faliure 失败
  517. + (void)queryTeacherInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  518. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryUserInfo"];
  519. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  520. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  521. }
  522. // /api-auth/user/submitSetDetail
  523. /// 修改用户信息
  524. /// @param post post
  525. /// @param avatal 头像
  526. /// @param gender 性别
  527. /// @param username 昵称
  528. /// @param success 成功
  529. /// @param faliure 失败
  530. + (void)modifyTeacherMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  531. [self configRequestMethodJSON];
  532. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/submitSetDetail"];
  533. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  534. [parm setValue:avatal forKey:@"avatar"];
  535. [parm setValue:gender forKey:@"gender"];
  536. [parm setValue:username forKey:@"username"];
  537. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  538. }
  539. // /api-teacher/teacher/queryTeacherStyle
  540. /// 个人风采查询
  541. /// @param get get
  542. /// @param success 成功
  543. /// @param faliure 失败
  544. + (void)queryTeacherStyleRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  545. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryTeacherStyle"];
  546. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  547. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  548. }
  549. // /api-teacher/teacher/saveTeacherStyle
  550. /// 个人风采设置
  551. /// @param post post
  552. /// @param styleVideo 视频
  553. /// @param subjectId 声部id
  554. /// @param subjectName 声部名
  555. /// @param introduction 介绍
  556. /// @param success 成功
  557. /// @param faliure 失败
  558. + (void)saveTeacherStyleRequest:(NSString *)post styleVideo:(NSMutableArray *)styleVideo subjectId:(NSString *)subjectId subjectName:(NSString *)subjectName introduction:(NSString *)introduction success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  559. [self configRequestMethodJSON];
  560. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/saveTeacherStyle"];
  561. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  562. [parm setValue:styleVideo forKey:@"styleVideo"];
  563. [parm setValue:subjectId forKey:@"subjectId"];
  564. [parm setValue:subjectName forKey:@"subjectName"];
  565. [parm setValue:introduction forKey:@"introduction"];
  566. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  567. }
  568. // /api-teacher/subject/subjectSelect
  569. /// 获取老师可授课声部列表
  570. /// @param get get
  571. /// @param success 成功
  572. /// @param faliure 失败
  573. + (void)querySubjectAllRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  574. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/subject/subjectSelect"];
  575. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  576. }
  577. #pragma mark -------- 群组服务
  578. // /api-teacher/imUserFriend/queryAll
  579. /// 查询好友列表
  580. /// @param post post
  581. /// @param search 搜索
  582. /// @param success 成功
  583. /// @param faliure 失败
  584. + (void)imUserFriendRequest:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  585. [self configRequestMethodJSON];
  586. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imUserFriend/queryAll"];
  587. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  588. [parm setValue:search forKey:@"search"];
  589. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  590. }
  591. // /api-teacher/imGroup/queryAll
  592. /// 查询老师群组列表
  593. /// @param post post
  594. /// @param search 搜索
  595. /// @param success 成功
  596. /// @param faliure 失败
  597. + (void)imGroupQueryPage:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  598. [self configRequestMethodJSON];
  599. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryAll"];
  600. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  601. [parm setValue:search forKey:@"search"];
  602. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  603. }
  604. // /api-teacher/imGroup/create
  605. /// 创建粉丝群
  606. /// @param post post
  607. /// @param name 群名称
  608. /// @param introduce 群简介
  609. /// @param success 成功
  610. /// @param faliure 失败
  611. + (void)imGroupCreate:(NSString *)post name:(NSString *)name introduce:(NSString *)introduce success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  612. [self configRequestMethodJSON];
  613. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/create"];
  614. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  615. [parm setValue:name forKey:@"name"];
  616. [parm setValue:introduce forKey:@"introduce"];
  617. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  618. }
  619. // /api-teacher/imGroup/dismiss/{groupId}
  620. /// 解散群聊
  621. /// @param post post
  622. /// @param groupId 群id
  623. /// @param success 成功
  624. /// @param faliure 失败
  625. + (void)imGroupDismiss:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  626. [self configRequestMethodJSON];
  627. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/dismiss",groupId];
  628. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  629. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  630. }
  631. // /api-teacher/imGroup/getDetail/{groupId}
  632. /// 获取群信息
  633. /// @param post post
  634. /// @param groupId 群id
  635. /// @param success 成功
  636. /// @param faliure 失败
  637. + (void)queryGroupDetail:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  638. [self configRequestMethodJSON];
  639. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/getDetail",groupId];
  640. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  641. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  642. }
  643. // 获取群成员列表
  644. // /api-teacher/imGroupMember/queryAll
  645. /// 查询群成员列表
  646. /// @param post post
  647. /// @param groupId 群id
  648. /// @param success 成功
  649. /// @param faliure 失败
  650. + (void)imGroupMemberAllRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  651. [self configRequestMethodJSON];
  652. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/queryAll"];
  653. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  654. [parm setValue:groupId forKey:@"groupId"];
  655. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  656. }
  657. // 查询群成员
  658. // /api-teacher/imGroupMember/getUserDetail
  659. /// 查询群成员信息
  660. /// @param post post
  661. /// @param groupId 群id
  662. /// @param userId 用户id
  663. /// @param success 成功
  664. /// @param faliure 失败
  665. + (void)imGroupMemberQueryUser:(NSString *)post groupId:(NSString *)groupId userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  666. [self configRequestMethodJSON];
  667. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/getUserDetail"];
  668. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  669. [parm setValue:groupId forKey:@"groupId"];
  670. [parm setValue:userId forKey:@"userId"];
  671. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  672. }
  673. // 获取IM好友详情
  674. // /api-teacher/imUserFriend/getDetail/{userId}
  675. /// 获取好友详情
  676. /// @param post post
  677. /// @param userId 用户id
  678. /// @param success 成功
  679. /// @param faliure 失败
  680. + (void)imUserFriendQueryDetail:(NSString *)post userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  681. [self configRequestMethodJSON];
  682. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imUserFriend/getDetail",userId];
  683. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  684. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  685. }
  686. // /api-teacher/imGroupMemberAudit/queryAll
  687. /// 申请入群列表
  688. /// @param post post
  689. /// @param groupId 群id
  690. /// @param success 成功
  691. /// @param faliure 失败
  692. + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  693. [self configRequestMethodJSON];
  694. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/queryAll"];
  695. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  696. [parm setValue:groupId forKey:@"groupId"];
  697. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  698. }
  699. // /api-teacher/imGroupMemberAudit/applyAudit
  700. /// 群申请审核
  701. /// @param post post
  702. /// @param groupId 群id
  703. /// @param status 审核状态
  704. /// @param auditIds 申请id
  705. /// @param success 成功
  706. /// @param faliure 失败
  707. + (void)imGroupMemberAuditRequest:(NSString *)post groupId:(NSString *)groupId auditStatus:(BOOL)status auditIds:(NSString *)auditIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  708. [self configRequestMethodJSON];
  709. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/applyAudit"];
  710. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  711. [parm setValue:groupId forKey:@"groupId"];
  712. [parm setValue:auditIds forKey:@"auditIds"];
  713. NSString *statusEnum = status ? @"OPEN" : @"REJECT";
  714. [parm setValue:statusEnum forKey:@"auditStatus"];
  715. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  716. }
  717. // /api-teacher/imGroup/update
  718. /// 修改群名称
  719. /// @param post post
  720. /// @param name 名称
  721. /// @param groupId 群id
  722. /// @param success 成功
  723. /// @param faliure 失败
  724. + (void)imGroupModify:(NSString *)post name:(NSString *)name groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  725. [self configRequestMethodJSON];
  726. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/update"];
  727. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  728. [parm setValue:groupId forKey:@"id"];
  729. [parm setValue:name forKey:@"name"];
  730. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  731. }
  732. #pragma mark ---- 群公告
  733. // /api-teacher/imGroupNotice/queryPage
  734. /// 群公告列表查询
  735. /// @param post post
  736. /// @param groupId 群组id
  737. /// @param page 分页
  738. /// @param rows 条数
  739. /// @param success 成功
  740. /// @param faliure 失败
  741. + (void)queryNoticeListRequest:(NSString *)post groupId:(NSString *)groupId page:(NSString *)page rows:(NSString *)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  742. [self configRequestMethodJSON];
  743. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/queryPage"];
  744. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  745. [parm setValue:groupId forKey:@"groupId"];
  746. [parm setValue:page forKey:@"page"];
  747. [parm setValue:rows forKey:@"rows"];
  748. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  749. }
  750. // /api-teacher/imGroupNotice/create
  751. /// 创建群公告
  752. /// @param post post
  753. /// @param groupId 群编号
  754. /// @param title 标题
  755. /// @param content 内容
  756. /// @param isTop 是否置顶
  757. /// @param success 成功
  758. /// @param faliure 失败
  759. + (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 {
  760. [self configRequestMethodJSON];
  761. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/create"];
  762. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  763. [parm setValue:groupId forKey:@"groupId"];
  764. [parm setValue:title forKey:@"title"];
  765. [parm setValue:isTop forKey:@"topFlag"];
  766. [parm setValue:content forKey:@"content"];
  767. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  768. }
  769. // /api-teacher/imGroupNotice/update
  770. /// 编辑群公告
  771. /// @param post post
  772. /// @param groupId 群编号
  773. /// @param title 标题
  774. /// @param content 内容
  775. /// @param isTop 是否置顶
  776. /// @param noticeID noticeID
  777. /// @param success 成功
  778. /// @param faliure 失败
  779. + (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 {
  780. [self configRequestMethodJSON];
  781. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/update"];
  782. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  783. [parm setValue:groupId forKey:@"groupId"];
  784. [parm setValue:noticeID forKey:@"id"];
  785. [parm setValue:title forKey:@"title"];
  786. [parm setValue:isTop forKey:@"topFlag"];
  787. [parm setValue:content forKey:@"content"];
  788. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  789. }
  790. // /api-teacher/imGroupNotice/del
  791. /// 删除群公告
  792. /// @param post post
  793. /// @param noticeID noticeID
  794. /// @param success 成功
  795. /// @param faliure 失败
  796. + (void)imGroupNoticeDelRequest:(NSString *)post noticeID:(NSString *)noticeID success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  797. [self configRequestMethodJSON];
  798. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroupNotice/del",noticeID];
  799. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  800. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  801. }
  802. #pragma mark ----- 视频课相关
  803. // /api-teacher/videoLessonGroup/page
  804. /// 视频课列表查询
  805. /// @param post post
  806. /// @param lessonSubject 课程声部
  807. /// @param auditStatus 审核状态 (0:待审核;1:通过;2:未通过)
  808. /// @param pageNo 分页
  809. /// @param pageSize 条数
  810. /// @param success 成功
  811. /// @param faliure 失败
  812. + (void)videoLessonListRequest:(NSString *)post lessonSubject:(NSString *)lessonSubject auditStatus:(NSString *)auditStatus pageNo:(NSInteger)pageNo pageSize:(NSInteger)pageSize success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  813. [self configRequestMethodJSON];
  814. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/videoLessonGroup/page"];
  815. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  816. [parm setValue:lessonSubject forKey:@"lessonSubject"];
  817. [parm setValue:auditStatus forKey:@"auditStatus"];
  818. [parm setValue:@(pageNo) forKey:@"page"];
  819. [parm setValue:@(pageSize) forKey:@"rows"];
  820. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  821. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  822. }
  823. #pragma mark ---- 老师曲谱列表查询
  824. // /api-admin/music/sheet/list
  825. + (void)musicListRequest:(NSString *)post auditStatus:(NSString *)auditStatus pageNo:(NSInteger)pageNo pageSize:(NSInteger)pageSize success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  826. [self configRequestMethodJSON];
  827. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/music/sheet/list"];
  828. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  829. [parm setValue:auditStatus forKey:@"auditStatus"];
  830. [parm setValue:@(pageNo) forKey:@"pageNo"];
  831. [parm setValue:@(pageSize) forKey:@"pageSize"];
  832. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  833. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  834. }
  835. #pragma mark ----- 直播房间与课程的关系表
  836. // /api-teacher/liveRoom/createTempLiveRoom
  837. /// 创建直播 (临时开播)
  838. /// @param post post
  839. /// @param coverPic 封面图
  840. /// @param liveRemark 直播内容(200以内)
  841. /// @param roomTitle 房间标题
  842. /// @param success 成功
  843. /// @param faliure 失败
  844. + (void)liveRoomCreateTempLiveRoom:(NSString *)post coverPic:(NSString *)coverPic liveRemark:(NSString *)liveRemark roomTitle:(NSString *)roomTitle success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  845. [self configRequestMethodJSON];
  846. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/createTempLiveRoom"];
  847. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  848. [parm setValue:coverPic forKey:@"coverPic"];
  849. [parm setValue:liveRemark forKey:@"liveRemark"];
  850. [parm setValue:roomTitle forKey:@"roomTitle"];
  851. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  852. }
  853. // 进入直播房间
  854. // /api-teacher/liveRoom/joinRoom
  855. /// 进入房间
  856. /// @param get get
  857. /// @param roomUid 直播房间号
  858. /// @param success 成功
  859. /// @param faliure 失败
  860. + (void)liveRoomJoinRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  861. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/joinRoom"];
  862. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  863. [parm setValue:roomUid forKey:@"roomUid"];
  864. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  865. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  866. }
  867. // 退出直播间
  868. // /api-teacher/liveRoom/syncUserStatus
  869. /// 退出直播间
  870. /// @param post post json
  871. /// @param success 成功
  872. /// @param faliure 失败
  873. + (void)LiveroomQuit:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  874. [self configRequestMethodJSON];
  875. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncUserStatus"];
  876. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  877. [parm setValue:@"iOS" forKey:@"os"];
  878. [parm setValue:@"3" forKey:@"status"];
  879. [parm setValue:UserDefault(UIDKey) forKey:@"userid"];
  880. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  881. }
  882. // 直播课程组查询
  883. // /api-teacher/courseGroup/queryPageCourseGroup
  884. /// 直播课程组查询
  885. /// @param post post
  886. /// @param groupStatus 课程组状态 ING(进行中) NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)
  887. /// @param page 页数
  888. /// @param rows 条数
  889. /// @param success 成功
  890. /// @param faliure 失败
  891. + (void)LiveCourseGroupRequest:(NSString *)post groupStatus:(NSString *)groupStatus page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  892. [self configRequestMethodJSON];
  893. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseGroup/queryPageCourseGroup"];
  894. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  895. [parm setValue:groupStatus forKey:@"groupStatus"];
  896. [parm setValue:@(page) forKey:@"page"];
  897. [parm setValue:@(rows) forKey:@"rows"];
  898. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  899. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  900. }
  901. #pragma mark ----- 课程查询
  902. // /api-teacher/courseSchedule/queryTeacherPracticeCourse
  903. /// 我的课程-陪练课
  904. /// @param post post
  905. /// @param classMonth 月份 yyyy-MM
  906. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  907. /// @param subjectId 声部id
  908. /// @param page 页数
  909. /// @param rows 条数
  910. /// @param success 成功
  911. /// @param faliure 失败
  912. + (void)accompanyCourseRequest:(NSString *)post classMonth:(NSString *)classMonth status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  913. [self configRequestMethodJSON];
  914. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"];
  915. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  916. [parm setValue:classMonth forKey:@"classMonth"];
  917. [parm setValue:status forKey:@"status"];
  918. [parm setValue:subjectId forKey:@"subjectId"];
  919. [parm setValue:@(page) forKey:@"page"];
  920. [parm setValue:@(rows) forKey:@"rows"];
  921. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  922. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  923. }
  924. // /api-teacher/courseSchedule/queryTeacherLiveCourse
  925. /// 我的课程-直播课
  926. /// @param post post
  927. /// @param classDate 月份 yyyy-MM
  928. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  929. /// @param subjectId 声部id
  930. /// @param page 页数
  931. /// @param rows 条数
  932. /// @param success 成功
  933. /// @param faliure 失败
  934. + (void)queryTeacherLiveCourse:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  935. [self configRequestMethodJSON];
  936. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherLiveCourse"];
  937. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  938. [parm setValue:classDate forKey:@"classDate"];
  939. [parm setValue:status forKey:@"status"];
  940. [parm setValue:subjectId forKey:@"subjectId"];
  941. [parm setValue:@(page) forKey:@"page"];
  942. [parm setValue:@(rows) forKey:@"rows"];
  943. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  944. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  945. }
  946. #pragma mark ------- 陪练课评价
  947. // /api-teacher/courseSchedule/queryTeacherPracticeCourse
  948. /// 课后评价
  949. /// @param post post
  950. /// @param classMonth yyyy-MM
  951. /// @param replied 0:未评价 1:已评价
  952. /// @param studentName 学生名称
  953. /// @param page 页数
  954. /// @param rows 条数
  955. /// @param success 成功
  956. /// @param faliure 失败
  957. + (void)courseRepliedListRequest:(NSString *)post classMonth:(NSString *)classMonth replied:(NSInteger)replied studentName:(NSString *)studentName page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  958. [self configRequestMethodJSON];
  959. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"];
  960. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  961. [parm setValue:classMonth forKey:@"classMonth"];
  962. [parm setValue:@(replied) forKey:@"replied"];
  963. [parm setValue:studentName forKey:@"studentName"];
  964. [parm setValue:@(page) forKey:@"page"];
  965. [parm setValue:@(rows) forKey:@"rows"];
  966. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  967. }
  968. // /api-teacher/courseReplied/selectReplied
  969. /// 查询评价详情
  970. /// @param post post
  971. /// @param courseGroupId 课程组编号
  972. /// @param courseScheduleId 课程编号
  973. /// @param studentId 学员编号
  974. /// @param success 成功
  975. /// @param faliure 失败
  976. + (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId studentId:(NSString *)studentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
  977. {
  978. [self configRequestMethodJSON];
  979. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/selectReplied"];
  980. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  981. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  982. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  983. [parm setValue:studentId forKey:@"studentId"];
  984. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  985. }
  986. // /api-teacher/courseReplied/replied
  987. /// 评价陪练课
  988. /// @param post post
  989. /// @param courseScheduleId 课程编号
  990. /// @param courseGroupId 课程组编号
  991. /// @param studentId 学员编号
  992. /// @param teacherReplied 评价内容
  993. /// @param success 成功
  994. /// @param faliure 失败
  995. + (void)teacherCourseRepliedRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId courseGroupId:(NSString *)courseGroupId studentId:(NSString *)studentId teacherReplied:(NSString *)teacherReplied success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  996. [self configRequestMethodJSON];
  997. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/replied"];
  998. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  999. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1000. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  1001. [parm setValue:studentId forKey:@"studentId"];
  1002. [parm setValue:teacherReplied forKey:@"teacherReplied"];
  1003. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1004. }
  1005. #pragma mark ----- 课后作业
  1006. // /api-teacher/homework/list
  1007. /// 课后作业列表
  1008. /// @param post post
  1009. /// @param date 年月 格式:yyyy-MM
  1010. /// @param decorate 布置作业状态 0:否,1:是
  1011. /// @param page 页数
  1012. /// @param rows 条数
  1013. /// @param success 成功
  1014. /// @param faliure 失败
  1015. + (void)homeworkListRequest:(NSString *)post date:(NSString *)date decorate:(NSInteger)decorate page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1016. [self configRequestMethodJSON];
  1017. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/list"];
  1018. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1019. [parm setValue:date forKey:@"date"];
  1020. [parm setValue:@(decorate) forKey:@"decorate"];
  1021. [parm setValue:@(page) forKey:@"page"];
  1022. [parm setValue:@(rows) forKey:@"rows"];
  1023. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1024. }
  1025. // /api-teacher/homework/detail/{courseId}
  1026. /// 陪练课课后作业信息详情
  1027. /// @param get get
  1028. /// @param courseId 课程信息
  1029. /// @param success 成功
  1030. /// @param faliure 失败
  1031. + (void)homeworkDetailRequest:(NSString *)get courseId:(NSString *)courseId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1032. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/homework/detail",courseId];
  1033. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1034. }
  1035. // /api-teacher/homework/decorate
  1036. /// 布置作业
  1037. /// @param post post
  1038. /// @param content 作业内容
  1039. /// @param courseScheduleId 课程编号
  1040. /// @param success 成功
  1041. /// @param faliure 失败
  1042. + (void)homeworkDecorateRequest:(NSString *)post content:(NSString *)content courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1043. [self configRequestMethodJSON];
  1044. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/decorate"];
  1045. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1046. [parm setValue:content forKey:@"content"];
  1047. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1048. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1049. }
  1050. // /api-teacher/homework/review
  1051. /// 作业点评
  1052. /// @param post post
  1053. /// @param courseScheduleId 课程编号
  1054. /// @param review 点评内容
  1055. /// @param success 成功
  1056. /// @param faliure 失败
  1057. + (void)homeworkReviewRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId review:(NSString *)review success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1058. [self configRequestMethodJSON];
  1059. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/review"];
  1060. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1061. [parm setValue:review forKey:@"review"];
  1062. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1063. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1064. }
  1065. #pragma mark ----- 课表相关
  1066. // /api-teacher/courseSchedule/queryCourseSchedule
  1067. /// 课表日历
  1068. /// @param post post
  1069. /// @param classMonth 月份
  1070. /// @param success 成功
  1071. /// @param faliure 失败
  1072. + (void)queryCourseSchedule:(NSString *)post classMonth:(NSString *)classMonth success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1073. [self configRequestMethodJSON];
  1074. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseSchedule"];
  1075. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1076. [parm setValue:classMonth forKey:@"classMonth"];
  1077. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1078. }
  1079. // /api-teacher/courseSchedule/queryCourseUser
  1080. /// 查询日期课程
  1081. /// @param post post
  1082. /// @param classDate 日期
  1083. /// @param success 成功
  1084. /// @param faliure 失败
  1085. + (void)queryCourseForDay:(NSString *)post classDate:(NSString *)classDate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1086. [self configRequestMethodJSON];
  1087. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseUser"];
  1088. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1089. [parm setValue:classDate forKey:@"classDate"];
  1090. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1091. }
  1092. @end