KSNetworkingManager.m 91 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079
  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. NSLog(@"url----%@",myUrl);
  63. #pragma mark ----- 签名
  64. // parm = [NSString signToMD5:parm];
  65. NSLog(@"%@",[parm mj_JSONString]);
  66. // post
  67. if ([post isEqualToString:KS_POST]) {
  68. [[VoNetworking sharedManager] postWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  69. NSLog(@"%lld--%lld",bytesRead,totalBytes);
  70. } successBlock:^(id response) {
  71. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  72. if ([dic integerValueForKey:@"code"] == 403) { // token验证失败
  73. [self logOutWithType:YES];
  74. return ;
  75. }
  76. else if ([dic integerValueForKey:@"code"] == 401) {
  77. [self logOutWithType:NO];
  78. return ;
  79. }
  80. success(dic);
  81. return ;
  82. } failBlock:^(NSError *error) {
  83. NSLog(@"%@",error.description);
  84. faliure(error);
  85. if (error.code == -1001) {
  86. [self showMessage:@"网络请求超时"];
  87. }
  88. else if (error.code != -999) {
  89. [self showMessage:@"网络或服务器错误,请重试"];
  90. }
  91. }];
  92. }
  93. // get
  94. else {
  95. [[VoNetworking sharedManager] getWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  96. NSLog(@"%lld--%lld",bytesRead,totalBytes);
  97. } successBlock:^(id response) {
  98. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  99. if ([dic integerValueForKey:@"code"] == 403) { // token验证失败
  100. [self logOutWithType:YES];
  101. return;
  102. }
  103. else if ([dic integerValueForKey:@"code"] == 401) {
  104. [self logOutWithType:NO];
  105. return;
  106. }
  107. success(dic);
  108. return ;
  109. } failBlock:^(NSError *error) {
  110. NSLog(@"%@",error.description);
  111. faliure(error);
  112. if (error.code == -1001) {
  113. [self showMessage:@"网络请求超时"];
  114. }
  115. else if (error.code != -999) {
  116. [self showMessage:@"网络或服务器错误,请重试"];
  117. }
  118. }];
  119. }
  120. }
  121. + (void)logOutWithType:(BOOL)isDisable {
  122. // 移除所有的loadView
  123. [[VoNetworking sharedManager] cancleAllRequest];
  124. [MBProgressHUD hideHUD];
  125. if (isDisable) {
  126. [self showMessage:@"登录过期,请重新登录"];
  127. }
  128. else {
  129. [self showMessage:@"未认证"];
  130. }
  131. [self logoutAction];
  132. }
  133. + (void)logoutAction {
  134. [self clearRequestHeader];
  135. // 取消推送别名
  136. [JPUSHService deleteAlias:nil seq:0];
  137. // 清除数据信息
  138. UserDefaultRemoveObjectForKey(TokenKey);
  139. UserDefaultRemoveObjectForKey(RongTokenKey);
  140. [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
  141. [RCConnectionManager shareManager].isNeedJoin = NO;
  142. [RCConnectionManager shareManager].isNeedShowMessage = NO;
  143. [[RCIM sharedRCIM] logout];
  144. // 回到登录界面
  145. UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;
  146. if ([vc.presentedViewController isKindOfClass:NSClassFromString(@"NewClassroomViewController")]) {
  147. [[NSNotificationCenter defaultCenter] postNotificationName:@"classroomLogout" object:nil];
  148. }
  149. else if ([vc isKindOfClass:[UITabBarController class]]) {
  150. if ([vc.presentedViewController isKindOfClass:NSClassFromString(@"CustomNavViewController")]) {
  151. CustomNavViewController *nav = (CustomNavViewController *)vc.presentedViewController;
  152. if ([nav.visibleViewController isKindOfClass:NSClassFromString(@"LiveRoomViewController")]) {
  153. [[NSNotificationCenter defaultCenter] postNotificationName:@"liveroomLogout" object:nil];
  154. return;
  155. }
  156. }
  157. UITabBarController *tab = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
  158. CustomNavViewController *ctrl = (CustomNavViewController *)tab.selectedViewController;
  159. [ctrl popToRootViewControllerAnimated:NO];
  160. LoginViewController *logonVC = [[LoginViewController alloc] init];
  161. CustomNavViewController *navCtrl = [[CustomNavViewController alloc] initWithRootViewController:logonVC];
  162. navCtrl.modalPresentationStyle = UIModalPresentationFullScreen;
  163. [tab.selectedViewController presentViewController:navCtrl animated:YES completion:nil];
  164. }
  165. }
  166. // 提示信息
  167. + (void)showMessage:(NSString *)message {
  168. MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:[[UIApplication sharedApplication].windows lastObject] animated:YES];
  169. hud.removeFromSuperViewOnHide =YES;
  170. hud.mode = MBProgressHUDModeText;
  171. hud.label.text = message;
  172. hud.minSize = CGSizeMake(132.f, 60.0f);
  173. hud.label.textColor = [UIColor whiteColor];
  174. hud.bezelView.style = MBProgressHUDBackgroundStyleSolidColor;
  175. hud.bezelView.backgroundColor = [UIColor colorWithHexString:@"#000000" alpha:0.8];
  176. [hud hideAnimated:YES afterDelay:2];
  177. }
  178. // 多文件上传
  179. + (void)uploadMultiFileWithFileArray:(NSArray *)datas
  180. andWithUrl:(NSString *)myUrl
  181. parameters:(NSDictionary *)parameters
  182. type:(NSString *)type
  183. name:(NSString *)name
  184. mimeType:(NSString *)mimeType
  185. progress:(void(^)(NSProgress * _Nonnull uploadProgress))progress
  186. success:(void(^)(NSMutableArray *dics))success
  187. faliure:(void(^)(NSError *error))faliure {
  188. __block NSMutableArray *dics = [NSMutableArray array];
  189. [[VoNetworking sharedManager] uploadMultFileWithUrl:myUrl parameters:parameters fileDatas:datas type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  190. } successBlock:^(NSArray *responses) {
  191. for (id response in responses) {
  192. NSDictionary *subDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  193. [dics addObject:subDic];
  194. }
  195. success(dics);
  196. } failBlock:^(NSArray *errors) {
  197. [self showMessage:@"网络或服务器错误,请重试"];
  198. faliure([errors lastObject]);
  199. }];
  200. }
  201. // 单文件上传
  202. + (void)uploadFileWithFileData:(NSData *)data
  203. andWithUrl:(NSString *)myUrl
  204. parameters:(NSDictionary *)parameters
  205. type:(NSString *)type
  206. name:(NSString *)name
  207. mimeType:(NSString *)mimeType
  208. progress:(void(^)(int64_t bytesWritten,
  209. int64_t totalBytes))progress
  210. success:(void(^)(NSDictionary *dic))success
  211. faliure:(void(^)(NSError *error))faliure {
  212. __block NSDictionary *dic;
  213. [[VoNetworking sharedManager] uploadFileWithUrl:myUrl parameters:parameters fileData:data type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  214. if (progress) {
  215. progress(bytesWritten, totalBytes);
  216. }
  217. } successBlock:^(id response) {
  218. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  219. success(dic);
  220. return ;
  221. } failBlock:^(NSError *error) {
  222. faliure(error);
  223. [self showMessage:@"网络或服务器错误,请重试"];
  224. }];
  225. }
  226. // 下载
  227. + (void)downloadTaskWithUrl:(NSString *)myUrl
  228. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  229. success:(void(^)(NSURL *fileUrl))success
  230. faliure:(void(^)(NSError *error))faliure {
  231. [self clearRequestHeader];
  232. [[VoNetworking sharedManager] downloadWithUrl:myUrl progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  233. if (progress) {
  234. progress(bytesRead, totalBytes);
  235. }
  236. } successBlock:^(NSURL * _Nullable url) {
  237. [self configRequestHeader];
  238. if (success) {
  239. success(url);
  240. }
  241. } failBlock:^(NSError * _Nonnull error) {
  242. if (faliure) {
  243. faliure(error);
  244. }
  245. [self showMessage:@"网络或服务器错误,请重试"];
  246. [self configRequestHeader];
  247. }];
  248. }
  249. // 多文件下载
  250. + (void)mutilDownTaskWithUrl:(NSArray *)urlArray
  251. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  252. successBlock:(void(^)(NSMutableArray *dics))success
  253. failBlock:(void(^)(NSError *error))faliure {
  254. [self clearRequestHeader];
  255. [[VoNetworking sharedManager] downloadMutilFileWithUrl:urlArray progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  256. } successBlock:^(NSArray * _Nonnull responses) {
  257. [self configRequestHeader];
  258. NSMutableArray *result = [NSMutableArray arrayWithArray:responses];
  259. success(result);
  260. } failBlock:^(NSArray * _Nonnull errors) {
  261. [self showMessage:@"网络或服务器错误,请重试"];
  262. [self configRequestHeader];
  263. faliure([errors lastObject]);
  264. }];
  265. }
  266. #pragma mark ----- version
  267. // api-admin/appVersionInfo/queryByPlatform
  268. + (void)appVersionInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  269. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/appVersionInfo/queryByPlatform"];
  270. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  271. [parm setValue:@"iOS-teacher" forKey:@"platform"];
  272. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  273. }
  274. #pragma mark ----- 获取上传签名
  275. // 获取上传签名
  276. // /api-teacher/getUploadSign
  277. + (void)getUploadSignRequest:(NSString *)post fileName:(NSString *)fileName keyName:(NSString *)keyName bucketName:(NSString *)bucketName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  278. [self configRequestMethodJSON];
  279. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/getUploadSign"];
  280. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  281. [parm setValue:bucketName forKey:@"bucketName"];
  282. [parm setValue:fileName forKey:@"fileName"];
  283. [parm setValue:@{@"acl":@"public-read",
  284. @"key" :keyName
  285. } forKey:@"postData"];
  286. [parm setValue:@[] forKey:@"unknowValueField"];
  287. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  288. }
  289. #pragma mark ---- 图片上传
  290. /**
  291. 图片上传
  292. @param post post
  293. @param pics 图片的数组
  294. @param success 成功
  295. @param faliure 失败
  296. */
  297. + (void)multiImageUpload:(NSString *)post imgDataArray:(NSArray *)pics success:(void(^)(NSArray *dics))success faliure:(void(^)(NSError *error))faliure {
  298. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  299. NSString *type = [UIImage typeForImageData:[pics lastObject]];
  300. [self uploadMultiFileWithFileArray:pics andWithUrl:url parameters:nil type:type name:@"file" mimeType:[NSString stringWithFormat:@"Image/%@",type] progress:nil success:success faliure:faliure];
  301. }
  302. #pragma mark ----- 视频文件上传
  303. /**
  304. 视频文件上传
  305. @param post post
  306. @param fileData 文件data
  307. @param progress 进度
  308. @param success 成功
  309. @param faliure 失败
  310. */
  311. + (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; {
  312. [self configRequestMethodJSON];
  313. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  314. [self uploadFileWithFileData:fileData andWithUrl:url parameters:nil type:@".mp4" name:@"file" mimeType:[NSString stringWithFormat:@"Image/.mp4"] progress:progress success:success faliure:faliure];
  315. }
  316. #pragma mark --- 其他文件上传
  317. /**
  318. 文件上传
  319. @param post post
  320. @param fileData 文件data
  321. @param suffix 文件后缀
  322. @param success 成功
  323. @param faliure 失败
  324. */
  325. + (void)fileUpload:(NSString *)post fileData:(NSData *)fileData fileSuffix:(NSString *)suffix success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  326. [self configRequestMethodJSON];
  327. NSString* url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-teacher/uploadFile"];
  328. [self uploadFileWithFileData:fileData andWithUrl:url parameters:nil type:suffix name:@"file" mimeType:[NSString stringWithFormat:@"Image/%@",suffix] progress:nil success:success faliure:faliure];
  329. }
  330. #pragma mark ---- 文件下载
  331. + (void)downloadFileRequestWithFileUrl:(NSString *)url progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSURL * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  332. [self downloadTaskWithUrl:url progress:progress success:success faliure:faliure];
  333. }
  334. + (void)mutiDownloadFileRequest:(NSArray *)fileUrl progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSArray * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  335. [self mutilDownTaskWithUrl:fileUrl progress:progress successBlock:success failBlock:faliure];
  336. }
  337. #pragma mark ----- 登录相关
  338. + (void)LoginRequest:(NSString *)post phone:(NSString *)phone password:(NSString *)password success:(void (^)(NSDictionary * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  339. [self configRequestMethodForm];
  340. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  341. [parm setValue:@"teacher" forKey:@"clientId"];
  342. [parm setValue:@"teacher" forKey:@"clientSecret"];
  343. [parm setValue:phone forKey:@"username"];
  344. [parm setValue:password forKey:@"password"];
  345. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  346. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/usernameLogin"];
  347. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  348. }
  349. // /api-auth/smsLogin
  350. /**
  351. 验证码登录/注册
  352. @param post post
  353. @param phone 手机号
  354. @param smsCode 验证码
  355. @param success 成功
  356. @param faliure 失败
  357. */
  358. + (void)smsLoginRequest:(NSString *)post phone:(NSString *)phone smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  359. [self configRequestMethodForm];
  360. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  361. [parm setValue:@"teacher" forKey:@"clientId"];
  362. [parm setValue:@"teacher" forKey:@"clientSecret"];
  363. [parm setValue:phone forKey:@"phone"];
  364. [parm setValue:smsCode forKey:@"smsCode"];
  365. [parm setValue:@"IOS" forKey:@"channel"];
  366. [parm setValue:@"true" forKey:@"isSurportRegister"];
  367. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  368. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/smsLogin"];
  369. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  370. }
  371. // /api-auth/refreshToken
  372. /**
  373. 刷新token的逻辑
  374. @param post post
  375. @param success 成功
  376. @param faliure 失败
  377. */
  378. + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  379. [self configRequestMethodForm];
  380. [self clearRequestHeader];
  381. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  382. [parm setValue:@"teacher" forKey:@"clientId"];
  383. [parm setValue:@"teacher" forKey:@"clientSecret"];
  384. [parm setValue:UserDefault(RefreshToken) forKey:@"refreshToken"];
  385. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/refreshToken"];
  386. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  387. }
  388. // /api-auth/checkToken
  389. /// 校验token是否有效
  390. /// @param get get
  391. /// @param success 成功
  392. /// @param faliure 失败
  393. + (void)checkTokenRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  394. [self configRequestMethodForm];
  395. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/checkToken"];
  396. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  397. }
  398. // 接口地址 /api-auth/user/setUsernameAndPassword
  399. /**
  400. 设置密码
  401. @param post post
  402. @param username 用户名
  403. @param password 密码
  404. @param token token
  405. @param success 成功
  406. @param faliure 失败
  407. */
  408. + (void)setPasswordRequest:(NSString *)post username:(NSString *)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  409. [self configRequestMethodFormWithToken:token];
  410. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  411. [parm setValue:username forKey:@"username"];
  412. [parm setValue:password forKey:@"password"];
  413. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"];
  414. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  415. }
  416. // /api-auth/user/updatePassword
  417. /**
  418. 修改密码
  419. @param post post
  420. @param authCode 验证码
  421. @param mobile 手机号
  422. @param newPassword 新密码
  423. @param success 成功
  424. @param faliure 失败
  425. */
  426. + (void)updatePasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile newPassword:(NSString *)newPassword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  427. [self configRequestMethodForm];
  428. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  429. [parm setValue:mobile forKey:@"mobile"];
  430. [parm setValue:authCode forKey:@"authCode"];
  431. [parm setValue:newPassword forKey:@"newPassword"];
  432. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePassword"];
  433. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  434. }
  435. // /api-auth/user/checkUser
  436. /// 用户信息校验
  437. /// @param get get
  438. /// @param phone 手机号
  439. /// @param password 密码
  440. /// @param success 成功
  441. /// @param faliure 失败
  442. + (void)checkUserRequest:(NSString *)get phone:(NSString *)phone password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  443. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/checkUser"];
  444. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  445. [parm setValue:phone forKey:@"phone"];
  446. [parm setValue:password forKey:@"password"];
  447. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  448. }
  449. // /api-auth/user/updatePhone
  450. /// 修改手机号
  451. /// @param post post
  452. /// @param oldPhone 旧手机号
  453. /// @param authCode 验证码
  454. /// @param newPhone 新手机号码
  455. /// @param success 成功
  456. /// @param faliure 失败
  457. + (void)updatePhoneRequest:(NSString *)post oldPhone:(NSString *)oldPhone authCode:(NSString *)authCode newPhone:(NSString *)newPhone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  458. [self configRequestMethodForm];
  459. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePhone"];
  460. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  461. [parm setValue:oldPhone forKey:@"oldPhone"];
  462. [parm setValue:authCode forKey:@"authCode"];
  463. [parm setValue:newPhone forKey:@"newPhone"];
  464. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  465. }
  466. // /api-auth/user/refreshImToken
  467. /// 刷新IM token
  468. /// @param post post
  469. /// @param success 成功
  470. /// @param faliure 失败
  471. + (void)refreshImTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  472. [self configRequestMethodForm];
  473. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/refreshImToken"];
  474. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  475. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  476. }
  477. // /api-auth/exit
  478. /**
  479. 退出登录
  480. @param get get请求
  481. @param success 成功
  482. @param faliure 失败
  483. */
  484. + (void)logoutRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  485. [self configRequestMethodForm];
  486. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  487. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/exit"];
  488. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  489. }
  490. #pragma mark ---- 验证码服务
  491. // /api-teacher/code/sendSmsCode
  492. /**
  493. 发送短信验证码
  494. @param post post
  495. @param mobile 手机号码
  496. @param type type
  497. @param success 成功
  498. @param faliure 失败
  499. */
  500. + (void)sendSmsRequest:(NSString *)post mobile:(NSString *)mobile type:(NSString *)type success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  501. [self configRequestMethodForm];
  502. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  503. [parm setValue:mobile forKey:@"mobile"];
  504. [parm setValue:type forKey:@"type"];
  505. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/sendSmsCode"];
  506. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  507. }
  508. // /api-teacher/code/verifyImageCode
  509. /**
  510. 图形验证码校验
  511. @param post post
  512. @param phone 手机号
  513. @param code 验证码
  514. @param success 成功
  515. @param faliure 失败
  516. */
  517. + (void)verifyLoginImageRequest:(NSString *)post phone:(NSString *)phone code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  518. [self configRequestMethodForm];
  519. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  520. [parm setValue:phone forKey:@"phone"];
  521. [parm setValue:code forKey:@"code"];
  522. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/verifyImageCode"];
  523. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  524. }
  525. #pragma mark ----- 查询用户信息
  526. // /api-auth/queryUserInfo
  527. /**
  528. 获取个人信息
  529. @param get get
  530. @param success 成功
  531. @param faliure 失败
  532. */
  533. + (void)queryUserInfo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  534. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/api/queryUserInfo"];
  535. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  536. }
  537. // /api-teacher/teacher/queryUserInfo
  538. /// 查询老师信息
  539. /// @param get get
  540. /// @param success 成功
  541. /// @param faliure 失败
  542. + (void)queryTeacherInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  543. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryUserInfo"];
  544. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  545. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  546. }
  547. // /api-auth/user/submitSetDetail
  548. /// 修改用户信息
  549. /// @param post post
  550. /// @param avatal 头像
  551. /// @param gender 性别
  552. /// @param username 昵称
  553. /// @param success 成功
  554. /// @param faliure 失败
  555. + (void)modifyTeacherMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  556. [self configRequestMethodJSON];
  557. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/submitSetDetail"];
  558. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  559. [parm setValue:avatal forKey:@"avatar"];
  560. [parm setValue:gender forKey:@"gender"];
  561. [parm setValue:username forKey:@"username"];
  562. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  563. }
  564. // /api-teacher/teacher/queryTeacherStyle
  565. /// 个人风采查询
  566. /// @param get get
  567. /// @param success 成功
  568. /// @param faliure 失败
  569. + (void)queryTeacherStyleRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  570. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryTeacherStyle"];
  571. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  572. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  573. }
  574. // /api-teacher/teacher/saveTeacherStyle
  575. /// 个人风采设置
  576. /// @param post post
  577. /// @param styleVideo 视频
  578. /// @param subjectId 声部id
  579. /// @param subjectName 声部名
  580. /// @param introduction 介绍
  581. /// @param success 成功
  582. /// @param faliure 失败
  583. + (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 {
  584. [self configRequestMethodJSON];
  585. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/saveTeacherStyle"];
  586. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  587. [parm setValue:styleVideo forKey:@"styleVideo"];
  588. [parm setValue:subjectId forKey:@"subjectId"];
  589. [parm setValue:subjectName forKey:@"subjectName"];
  590. [parm setValue:introduction forKey:@"introduction"];
  591. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  592. }
  593. // /api-teacher/subject/subjectSelect
  594. /// 获取老师可授课声部列表
  595. /// @param get get
  596. /// @param success 成功
  597. /// @param faliure 失败
  598. + (void)querySubjectAllRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  599. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/subject/subjectSelect"];
  600. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  601. }
  602. // /api-auth/user/realNameAuth
  603. /// 实名认证
  604. /// @param post post
  605. /// @param idCardNo 身份证
  606. /// @param realName 姓名
  607. /// @param success 成功
  608. /// @param faliure 失败
  609. + (void)realNameAuthRequest:(NSString *)post idCardNo:(NSString *)idCardNo realName:(NSString *)realName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  610. [self configRequestMethodJSON];
  611. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/realNameAuth"];
  612. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  613. [parm setValue:idCardNo forKey:@"idCardNo"];
  614. [parm setValue:realName forKey:@"realName"];
  615. [parm setValue:@(YES) forKey:@"save"];
  616. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  617. }
  618. // /api-teacher/home/count
  619. /// 首页统计数据
  620. /// @param get get
  621. /// @param success 成功
  622. /// @param faliure 失败
  623. + (void)homeCountMessage:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  624. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/home/count"];
  625. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  626. }
  627. // 首页公告查询
  628. // /api-cms/helpCenterContent/list
  629. /// 公告查询
  630. /// @param post post
  631. /// @param success 成功
  632. /// @param faliure 失败
  633. + (void)helpCenterContentListRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  634. [self configRequestMethodJSON];
  635. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/helpCenterContent/list"];
  636. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  637. [parm setValue:@"2" forKey:@"catalogIds"];
  638. [parm setValue:@"TEACHER" forKey:@"catalogType"];
  639. [parm setValue:@(1) forKey:@"page"];
  640. [parm setValue:@(5) forKey:@"rows"];
  641. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  642. }
  643. // /api-teacher/courseSchedule/queryLiveAndVideo
  644. /// 首页最近课程
  645. /// @param get get
  646. /// @param success 成功
  647. /// @param faliure 失败
  648. + (void)queryRecentLiveAndVideo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  649. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryLiveAndVideo"];
  650. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  651. }
  652. // /api-teacher/teacher/querySubjectItem
  653. /// 获取声部搜索下拉框
  654. /// @param post post
  655. /// @param success 成功
  656. /// @param faliure 失败
  657. + (void)querySubjectItemRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  658. [self configRequestMethodJSON];
  659. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/querySubjectItem"];
  660. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  661. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  662. }
  663. // /api-teacher/sysSuggestion/add
  664. /**
  665. 意见反馈
  666. @param post post
  667. @param content 内容
  668. @param mobileNo 手机号
  669. @param success 成功
  670. @param faliure 失败
  671. */
  672. + (void)suggestionAddRequest:(NSString *)post content:(NSString *)content mobileNo:(NSString *)mobileNo success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  673. [self configRequestMethodForm];
  674. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  675. [parm setValue:@"iOS" forKey:@"clientType"];
  676. [parm setValue:content forKey:@"content"];
  677. // [parm setValue:mobileNo forKey:@"mobileNo"];
  678. [parm setValue:@"APP" forKey:@"type"];
  679. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/sysSuggestion/add"];
  680. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  681. }
  682. // /api-teacher/courseSchedule/selectRoomConfig
  683. /// 获取网络教室进入房间参数
  684. /// @param get get
  685. /// @param success 成功
  686. /// @param faliure 失败
  687. + (void)selectRoomConfigRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  688. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseSchedule/selectRoomConfig"];
  689. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  690. }
  691. #pragma mark -------- 群组服务
  692. // /api-teacher/imUserFriend/queryAll
  693. /// 查询好友列表
  694. /// @param post post
  695. /// @param search 搜索
  696. /// @param success 成功
  697. /// @param faliure 失败
  698. + (void)imUserFriendRequest:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  699. [self configRequestMethodJSON];
  700. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imUserFriend/queryAll"];
  701. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  702. [parm setValue:search forKey:@"search"];
  703. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  704. }
  705. // /api-teacher/imGroup/queryAll
  706. /// 查询老师群组列表
  707. /// @param post post
  708. /// @param search 搜索
  709. /// @param success 成功
  710. /// @param faliure 失败
  711. + (void)imGroupQueryPage:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  712. [self configRequestMethodJSON];
  713. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryAll"];
  714. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  715. [parm setValue:search forKey:@"search"];
  716. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  717. }
  718. // /api-teacher/imGroup/create
  719. /// 创建粉丝群
  720. /// @param post post
  721. /// @param name 群名称
  722. /// @param introduce 群简介
  723. /// @param success 成功
  724. /// @param faliure 失败
  725. + (void)imGroupCreate:(NSString *)post name:(NSString *)name introduce:(NSString *)introduce success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  726. [self configRequestMethodJSON];
  727. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/create"];
  728. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  729. [parm setValue:name forKey:@"name"];
  730. [parm setValue:introduce forKey:@"introduce"];
  731. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  732. }
  733. // /api-teacher/imGroup/dismiss/{groupId}
  734. /// 解散群聊
  735. /// @param post post
  736. /// @param groupId 群id
  737. /// @param success 成功
  738. /// @param faliure 失败
  739. + (void)imGroupDismiss:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  740. [self configRequestMethodJSON];
  741. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/dismiss",groupId];
  742. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  743. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  744. }
  745. // /api-teacher/imGroup/getDetail/{groupId}
  746. /// 获取群信息
  747. /// @param post post
  748. /// @param groupId 群id
  749. /// @param success 成功
  750. /// @param faliure 失败
  751. + (void)queryGroupDetail:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  752. [self configRequestMethodJSON];
  753. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/getDetail",groupId];
  754. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  755. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  756. }
  757. // 获取群成员列表
  758. // /api-teacher/imGroupMember/queryAll
  759. /// 查询群成员列表
  760. /// @param post post
  761. /// @param groupId 群id
  762. /// @param success 成功
  763. /// @param faliure 失败
  764. + (void)imGroupMemberAllRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  765. [self configRequestMethodJSON];
  766. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/queryAll"];
  767. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  768. [parm setValue:groupId forKey:@"groupId"];
  769. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  770. }
  771. // 查询群成员
  772. // /api-teacher/imGroupMember/getUserDetail
  773. /// 查询群成员信息
  774. /// @param post post
  775. /// @param groupId 群id
  776. /// @param userId 用户id
  777. /// @param success 成功
  778. /// @param faliure 失败
  779. + (void)imGroupMemberQueryUser:(NSString *)post groupId:(NSString *)groupId userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  780. [self configRequestMethodJSON];
  781. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/getUserDetail"];
  782. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  783. [parm setValue:groupId forKey:@"groupId"];
  784. [parm setValue:userId forKey:@"userId"];
  785. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  786. }
  787. // 获取IM好友详情
  788. // /api-teacher/imUserFriend/getDetail/{userId}
  789. /// 获取好友详情
  790. /// @param post post
  791. /// @param userId 用户id
  792. /// @param success 成功
  793. /// @param faliure 失败
  794. + (void)imUserFriendQueryDetail:(NSString *)post userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  795. [self configRequestMethodJSON];
  796. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imUserFriend/getDetail",userId];
  797. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  798. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  799. }
  800. // /api-teacher/imGroupMemberAudit/queryAll
  801. /// 申请入群列表
  802. /// @param post post
  803. /// @param groupId 群id
  804. /// @param success 成功
  805. /// @param faliure 失败
  806. + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  807. [self configRequestMethodJSON];
  808. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/queryAll"];
  809. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  810. [parm setValue:groupId forKey:@"groupId"];
  811. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  812. }
  813. // /api-teacher/imGroupMemberAudit/applyAudit
  814. /// 群申请审核
  815. /// @param post post
  816. /// @param groupId 群id
  817. /// @param status 审核状态
  818. /// @param auditIds 申请id
  819. /// @param success 成功
  820. /// @param faliure 失败
  821. + (void)imGroupMemberAuditRequest:(NSString *)post groupId:(NSString *)groupId auditStatus:(BOOL)status auditIds:(NSString *)auditIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  822. [self configRequestMethodJSON];
  823. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/applyAudit"];
  824. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  825. [parm setValue:groupId forKey:@"groupId"];
  826. [parm setValue:auditIds forKey:@"auditIds"];
  827. NSString *statusEnum = status ? @"OPEN" : @"REJECT";
  828. [parm setValue:statusEnum forKey:@"auditStatus"];
  829. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  830. }
  831. // /api-teacher/imGroup/update
  832. /// 修改群名称
  833. /// @param post post
  834. /// @param name 名称
  835. /// @param groupId 群id
  836. /// @param success 成功
  837. /// @param faliure 失败
  838. + (void)imGroupModify:(NSString *)post name:(NSString *)name groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  839. [self configRequestMethodJSON];
  840. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/update"];
  841. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  842. [parm setValue:groupId forKey:@"id"];
  843. [parm setValue:name forKey:@"name"];
  844. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  845. }
  846. // /api-teacher/imGroup/queryTeacherGroup
  847. /// 获取老师粉丝群列表
  848. /// @param post post
  849. /// @param success 成功
  850. /// @param faliure 失败
  851. + (void)queryTeacherGroupRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  852. [self configRequestMethodJSON];
  853. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryTeacherGroup"];
  854. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  855. [parm setValue:UserDefault(UIDKey) forKey:@"createUserId"];
  856. [parm setValue:@"FAN" forKey:@"type"];
  857. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  858. }
  859. #pragma mark ---- 群公告
  860. // /api-teacher/imGroupNotice/queryPage
  861. /// 群公告列表查询
  862. /// @param post post
  863. /// @param groupId 群组id
  864. /// @param page 分页
  865. /// @param rows 条数
  866. /// @param success 成功
  867. /// @param faliure 失败
  868. + (void)queryNoticeListRequest:(NSString *)post groupId:(NSString *)groupId page:(NSString *)page rows:(NSString *)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  869. [self configRequestMethodJSON];
  870. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/queryPage"];
  871. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  872. [parm setValue:groupId forKey:@"groupId"];
  873. [parm setValue:page forKey:@"page"];
  874. [parm setValue:rows forKey:@"rows"];
  875. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  876. }
  877. // /api-teacher/imGroupNotice/create
  878. /// 创建群公告
  879. /// @param post post
  880. /// @param groupId 群编号
  881. /// @param title 标题
  882. /// @param content 内容
  883. /// @param isTop 是否置顶
  884. /// @param success 成功
  885. /// @param faliure 失败
  886. + (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 {
  887. [self configRequestMethodJSON];
  888. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/create"];
  889. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  890. [parm setValue:groupId forKey:@"groupId"];
  891. [parm setValue:title forKey:@"title"];
  892. [parm setValue:isTop forKey:@"topFlag"];
  893. [parm setValue:content forKey:@"content"];
  894. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  895. }
  896. // /api-teacher/imGroupNotice/update
  897. /// 编辑群公告
  898. /// @param post post
  899. /// @param groupId 群编号
  900. /// @param title 标题
  901. /// @param content 内容
  902. /// @param isTop 是否置顶
  903. /// @param noticeID noticeID
  904. /// @param success 成功
  905. /// @param faliure 失败
  906. + (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 {
  907. [self configRequestMethodJSON];
  908. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/update"];
  909. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  910. [parm setValue:groupId forKey:@"groupId"];
  911. [parm setValue:noticeID forKey:@"id"];
  912. [parm setValue:title forKey:@"title"];
  913. [parm setValue:isTop forKey:@"topFlag"];
  914. [parm setValue:content forKey:@"content"];
  915. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  916. }
  917. // /api-teacher/imGroupNotice/del
  918. /// 删除群公告
  919. /// @param post post
  920. /// @param noticeID noticeID
  921. /// @param success 成功
  922. /// @param faliure 失败
  923. + (void)imGroupNoticeDelRequest:(NSString *)post noticeID:(NSString *)noticeID success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  924. [self configRequestMethodJSON];
  925. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroupNotice/del",noticeID];
  926. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  927. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  928. }
  929. #pragma mark ----- 视频课相关
  930. // /api-teacher/videoLessonGroup/page
  931. /// 视频课列表查询
  932. /// @param post post
  933. /// @param lessonSubject 课程声部
  934. /// @param auditStatus 审核状态 (0:待审核;1:通过;2:未通过)
  935. /// @param pageNo 分页
  936. /// @param pageSize 条数
  937. /// @param success 成功
  938. /// @param faliure 失败
  939. + (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 {
  940. [self configRequestMethodJSON];
  941. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/videoLessonGroup/page"];
  942. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  943. [parm setValue:lessonSubject forKey:@"lessonSubject"];
  944. [parm setValue:auditStatus forKey:@"auditStatus"];
  945. [parm setValue:@(pageNo) forKey:@"page"];
  946. [parm setValue:@(pageSize) forKey:@"rows"];
  947. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  948. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  949. }
  950. #pragma mark ---- 老师曲谱列表查询
  951. // /api-teacher/music/sheet/list
  952. /// 曲谱列表查询
  953. /// @param post post
  954. /// @param auditStatus UNPAALY,DOING,PASS,UNPASS
  955. /// @param page 分页
  956. /// @param rows 条数
  957. /// @param search 搜索
  958. /// @param success 成功
  959. /// @param faliure 失败
  960. + (void)musicListRequest:(NSString *)post auditStatus:(NSString *)auditStatus page:(NSInteger)page rows:(NSInteger)rows search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  961. [self configRequestMethodJSON];
  962. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/list"];
  963. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  964. [parm setValue:auditStatus forKey:@"auditStatus"];
  965. [parm setValue:@(page) forKey:@"page"];
  966. [parm setValue:@(rows) forKey:@"rows"];
  967. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  968. }
  969. // 分享老师曲谱数据查询
  970. // /api-teacher/music/sheet/share
  971. + (void)queryMusicShareMessageRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  972. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/share"];
  973. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  974. }
  975. #pragma mark ----- 直播房间与课程的关系表
  976. // /api-teacher/liveRoom/createTempLiveRoom
  977. /// 创建直播 (临时开播)
  978. /// @param post post
  979. /// @param coverPic 封面图
  980. /// @param liveRemark 直播内容(200以内)
  981. /// @param roomTitle 房间标题
  982. /// @param success 成功
  983. /// @param faliure 失败
  984. + (void)liveRoomCreateTempLiveRoom:(NSString *)post coverPic:(NSString *)coverPic liveRemark:(NSString *)liveRemark roomTitle:(NSString *)roomTitle success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  985. [self configRequestMethodJSON];
  986. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/createTempLiveRoom"];
  987. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  988. [parm setValue:coverPic forKey:@"coverPic"];
  989. [parm setValue:liveRemark forKey:@"liveRemark"];
  990. [parm setValue:roomTitle forKey:@"roomTitle"];
  991. [parm setValue:@(400) forKey:@"liveTime"];
  992. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  993. }
  994. // /api-teacher/liveRoom/speakerCheckRoomInfo
  995. /// 校验房间信息
  996. /// @param get get
  997. /// @param roomUid 房间id
  998. /// @param success 成功
  999. /// @param faliure 失败
  1000. + (void)speakerCheckRoomInfoRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1001. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/speakerCheckRoomInfo"];
  1002. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1003. [parm setValue:roomUid forKey:@"roomUid"];
  1004. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1005. }
  1006. // 进入直播房间
  1007. // /api-teacher/liveRoom/speakerJoinRoom
  1008. /// 进入房间
  1009. /// @param get get
  1010. /// @param roomUid 直播房间号
  1011. /// @param success 成功
  1012. /// @param faliure 失败
  1013. + (void)liveRoomJoinRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1014. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/speakerJoinRoom"];
  1015. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1016. [parm setValue:roomUid forKey:@"roomUid"];
  1017. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  1018. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1019. }
  1020. // /api-teacher/liveRoom/syncLike
  1021. /// 同步点赞数量
  1022. /// @param get get
  1023. /// @param likeNum 点赞数量
  1024. /// @param roomUid 房间号
  1025. /// @param success 成功
  1026. /// @param faliure 失败
  1027. + (void)syncLikeRequest:(NSString *)get likeNum:(NSInteger)likeNum roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1028. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncLike"];
  1029. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1030. [parm setValue:@(likeNum) forKey:@"likeNum"];
  1031. [parm setValue:roomUid forKey:@"roomUid"];
  1032. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1033. }
  1034. // 退出直播间
  1035. // /api-teacher/liveRoom/syncUserStatus
  1036. /// 退出直播间
  1037. /// @param post post json
  1038. /// @param success 成功
  1039. /// @param faliure 失败
  1040. + (void)LiveroomQuit:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1041. [self configRequestMethodJSON];
  1042. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncUserStatus"];
  1043. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1044. [parm setValue:@"iOS" forKey:@"os"];
  1045. [parm setValue:@"3" forKey:@"status"];
  1046. [parm setValue:UserDefault(UIDKey) forKey:@"userid"];
  1047. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1048. }
  1049. // /api-teacher/liveRoom/destroyLiveRoom
  1050. /// 销毁直播房间
  1051. /// @param get get
  1052. /// @param roomUid 房间号
  1053. /// @param success 成功
  1054. /// @param faliure 失败
  1055. + (void)destroyLiveRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1056. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/destroyLiveRoom"];
  1057. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1058. [parm setValue:roomUid forKey:@"roomUid"];
  1059. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1060. }
  1061. // 直播课程组查询
  1062. // /api-teacher/courseGroup/queryPageCourseGroup
  1063. /// 直播课程组查询
  1064. /// @param post post
  1065. /// @param groupStatus 课程组状态 ING(进行中) NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)
  1066. /// @param page 页数
  1067. /// @param rows 条数
  1068. /// @param success 成功
  1069. /// @param faliure 失败
  1070. + (void)LiveCourseGroupRequest:(NSString *)post groupStatus:(NSString *)groupStatus page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1071. [self configRequestMethodJSON];
  1072. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseGroup/queryPageCourseGroup"];
  1073. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1074. [parm setValue:groupStatus forKey:@"groupStatus"];
  1075. [parm setValue:@(page) forKey:@"page"];
  1076. [parm setValue:@(rows) forKey:@"rows"];
  1077. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  1078. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1079. }
  1080. #pragma mark ----- 课程查询
  1081. // /api-teacher/courseSchedule/queryTeacherPracticeCourse
  1082. /// 我的课程-陪练课
  1083. /// @param post post
  1084. /// @param classMonth 月份 yyyy-MM
  1085. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  1086. /// @param subjectId 声部id
  1087. /// @param page 页数
  1088. /// @param rows 条数
  1089. /// @param success 成功
  1090. /// @param faliure 失败
  1091. + (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 {
  1092. [self configRequestMethodJSON];
  1093. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"];
  1094. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1095. [parm setValue:classMonth forKey:@"classMonth"];
  1096. [parm setValue:status forKey:@"status"];
  1097. [parm setValue:subjectId forKey:@"subjectId"];
  1098. [parm setValue:@(page) forKey:@"page"];
  1099. [parm setValue:@(rows) forKey:@"rows"];
  1100. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  1101. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1102. }
  1103. // /api-teacher/courseSchedule/queryTeacherLiveCourse
  1104. /// 我的课程-直播课
  1105. /// @param post post
  1106. /// @param classDate 月份 yyyy-MM
  1107. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  1108. /// @param subjectId 声部id
  1109. /// @param page 页数
  1110. /// @param rows 条数
  1111. /// @param success 成功
  1112. /// @param faliure 失败
  1113. + (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 {
  1114. [self configRequestMethodJSON];
  1115. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherLiveCourse"];
  1116. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1117. [parm setValue:classDate forKey:@"classDate"];
  1118. [parm setValue:status forKey:@"status"];
  1119. [parm setValue:subjectId forKey:@"subjectId"];
  1120. [parm setValue:@(page) forKey:@"page"];
  1121. [parm setValue:@(rows) forKey:@"rows"];
  1122. [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
  1123. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1124. }
  1125. #pragma mark ----- 琴房课
  1126. // /api-teacher/courseSchedule/selectCourseList
  1127. /// 琴房课列表
  1128. /// @param post post
  1129. /// @param month 月份 yyyy-MM
  1130. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  1131. /// @param subjectId 声部
  1132. /// @param page 页数
  1133. /// @param rows 条数
  1134. /// @param success 成功
  1135. /// @param faliure 失败
  1136. + (void)musicRoomListRequest:(NSString *)post month:(NSString *)month status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1137. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/selectCourseList"];
  1138. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1139. [parm setValue:month forKey:@"month"];
  1140. [parm setValue:status forKey:@"status"];
  1141. [parm setValue:subjectId forKey:@"subjectId"];
  1142. [parm setValue:@(page) forKey:@"page"];
  1143. [parm setValue:@(rows) forKey:@"rows"];
  1144. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1145. }
  1146. // /api-teacher/homework/detail/list
  1147. /// 获取琴房课详情
  1148. /// @param post post
  1149. /// @param courseId 课程id
  1150. /// @param success 成功
  1151. /// @param faliure 失败
  1152. + (void)musicRoomDetailRequest:(NSString *)post courseId:(NSString *)courseId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1153. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/detail/list"];
  1154. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1155. [parm setValue:courseId forKey:@"courseId"];
  1156. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1157. }
  1158. #pragma mark ------- 陪练课评价
  1159. // /api-teacher/courseSchedule/queryTeacherPracticeCourse
  1160. /// 课后评价
  1161. /// @param post post
  1162. /// @param classMonth yyyy-MM
  1163. /// @param replied 0:未评价 1:已评价
  1164. /// @param studentName 学生名称
  1165. /// @param page 页数
  1166. /// @param rows 条数
  1167. /// @param success 成功
  1168. /// @param faliure 失败
  1169. + (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 {
  1170. [self configRequestMethodJSON];
  1171. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"];
  1172. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1173. [parm setValue:classMonth forKey:@"classMonth"];
  1174. [parm setValue:@(replied) forKey:@"replied"];
  1175. [parm setValue:studentName forKey:@"studentName"];
  1176. [parm setValue:@(page) forKey:@"page"];
  1177. [parm setValue:@(rows) forKey:@"rows"];
  1178. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1179. }
  1180. // /api-teacher/courseReplied/selectReplied
  1181. /// 查询评价详情
  1182. /// @param post post
  1183. /// @param courseGroupId 课程组编号
  1184. /// @param courseScheduleId 课程编号
  1185. /// @param studentId 学员编号
  1186. /// @param success 成功
  1187. /// @param faliure 失败
  1188. + (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId studentId:(NSString *)studentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1189. [self configRequestMethodJSON];
  1190. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/selectReplied"];
  1191. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1192. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  1193. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1194. [parm setValue:studentId forKey:@"studentId"];
  1195. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1196. }
  1197. // /api-teacher/courseReplied/replied
  1198. /// 评价陪练课
  1199. /// @param post post
  1200. /// @param courseScheduleId 课程编号
  1201. /// @param courseGroupId 课程组编号
  1202. /// @param studentId 学员编号
  1203. /// @param teacherReplied 评价内容
  1204. /// @param success 成功
  1205. /// @param faliure 失败
  1206. + (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 {
  1207. [self configRequestMethodJSON];
  1208. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/replied"];
  1209. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1210. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1211. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  1212. [parm setValue:studentId forKey:@"studentId"];
  1213. [parm setValue:teacherReplied forKey:@"teacherReplied"];
  1214. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1215. }
  1216. // /api-teacher/courseReplied/myReplied
  1217. /// 我收到的评价
  1218. /// @param post post
  1219. /// @param classDate 上课日期
  1220. /// @param search search
  1221. /// @param page 分页
  1222. /// @param rows 条数
  1223. /// @param success 成功
  1224. /// @param faliure 失败
  1225. + (void) myReceiveRepliedRequest:(NSString *)post classMonth:(NSString *)classMonth search:(NSString *)search page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1226. [self configRequestMethodJSON];
  1227. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/myReplied"];
  1228. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1229. [parm setValue:classMonth forKey:@"classDate"];
  1230. [parm setValue:search forKey:@"studentName"];
  1231. [parm setValue:@(page) forKey:@"page"];
  1232. [parm setValue:@(rows) forKey:@"rows"];
  1233. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1234. }
  1235. #pragma mark ----- 课后作业
  1236. // /api-teacher/homework/list
  1237. /// 课后作业列表
  1238. /// @param post post
  1239. /// @param date 年月 格式:yyyy-MM
  1240. /// @param decorate 布置作业状态 0:否,1:是
  1241. /// @param page 页数
  1242. /// @param rows 条数
  1243. /// @param success 成功
  1244. /// @param faliure 失败
  1245. + (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 {
  1246. [self configRequestMethodJSON];
  1247. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/list"];
  1248. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1249. [parm setValue:date forKey:@"date"];
  1250. [parm setValue:@(decorate) forKey:@"decorate"];
  1251. [parm setValue:@(page) forKey:@"page"];
  1252. [parm setValue:@(rows) forKey:@"rows"];
  1253. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1254. }
  1255. // /api-teacher/homework/detail/{courseId}
  1256. /// 陪练课课后作业信息详情
  1257. /// @param get get
  1258. /// @param courseId 课程信息
  1259. /// @param success 成功
  1260. /// @param faliure 失败
  1261. + (void)homeworkDetailRequest:(NSString *)get courseId:(NSString *)courseId studentId:(nonnull NSString *)studentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1262. NSString *url = [NSString stringWithFormat:@"%@%@/%@/%@",hostURL, @"/api-teacher/homework/detail",courseId,studentId];
  1263. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1264. }
  1265. // /api-teacher/homework/decorate
  1266. /// 布置作业
  1267. /// @param post post
  1268. /// @param content 作业内容
  1269. /// @param courseScheduleId 课程编号
  1270. /// @param success 成功
  1271. /// @param faliure 失败
  1272. + (void)homeworkDecorateRequest:(NSString *)post content:(NSString *)content courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1273. [self configRequestMethodJSON];
  1274. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/decorate"];
  1275. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1276. [parm setValue:content forKey:@"content"];
  1277. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1278. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1279. }
  1280. /// 作业点评
  1281. /// @param post post
  1282. /// @param courseScheduleId 课程编号
  1283. /// @param studentId 学生id
  1284. /// @param review 点评内容
  1285. /// @param success 成功
  1286. /// @param faliure 失败
  1287. + (void)homeworkReviewRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId studentId:(NSString *)studentId review:(NSString *)review success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1288. [self configRequestMethodJSON];
  1289. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/review"];
  1290. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1291. [parm setValue:review forKey:@"review"];
  1292. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  1293. [parm setValue:studentId forKey:@"studentId"];
  1294. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1295. }
  1296. #pragma mark ----- 课表相关
  1297. // /api-teacher/courseSchedule/queryCourseSchedule
  1298. /// 课表日历
  1299. /// @param post post
  1300. /// @param classMonth 月份
  1301. /// @param success 成功
  1302. /// @param faliure 失败
  1303. + (void)queryCourseSchedule:(NSString *)post classMonth:(NSString *)classMonth success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1304. [self configRequestMethodJSON];
  1305. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseSchedule"];
  1306. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1307. [parm setValue:classMonth forKey:@"classMonth"];
  1308. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1309. }
  1310. // /api-teacher/courseSchedule/queryCourseUser
  1311. /// 查询日期课程
  1312. /// @param post post
  1313. /// @param classDate 日期
  1314. /// @param success 成功
  1315. /// @param faliure 失败
  1316. + (void)queryCourseForDay:(NSString *)post classDate:(NSString *)classDate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1317. [self configRequestMethodJSON];
  1318. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseUser"];
  1319. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1320. [parm setValue:classDate forKey:@"classDate"];
  1321. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1322. }
  1323. // /api-teacher/courseSchedule/courseAdjust
  1324. /// 课时调整
  1325. /// @param post post
  1326. /// @param courseId 课程编号
  1327. /// @param classDate 上课日期
  1328. /// @param startTime 开始时间
  1329. /// @param endTime 结束时间
  1330. /// @param success 成功
  1331. /// @param faliure 失败
  1332. + (void)courseAdjustRequst:(NSString *)post courseId:(NSString *)courseId classDate:(NSString *)classDate startTime:(NSString *)startTime endTime:(NSString *)endTime success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1333. [self configRequestMethodJSON];
  1334. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/courseAdjust"];
  1335. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1336. [parm setValue:courseId forKey:@"courseId"];
  1337. [parm setValue:classDate forKey:@"classDate"];
  1338. [parm setValue:startTime forKey:@"startTime"];
  1339. [parm setValue:endTime forKey:@"endTime"];
  1340. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1341. }
  1342. // /api-teacher/userBankCard/bankCard
  1343. // 绑卡
  1344. /// 绑定银行卡
  1345. /// @param post post
  1346. /// @param name 姓名
  1347. /// @param bankCard 银行卡
  1348. /// @param bankName 开户行
  1349. /// @param bankCode 开户行code
  1350. /// @param idCardNo 卡号
  1351. /// @param phone 预留手机号
  1352. /// @param success 成功
  1353. /// @param faliure 失败
  1354. + (void)bankCardRequest:(NSString *)post name:(NSString *)name bankCard:(NSString *)bankCard bankName:(NSString *)bankName bankCode:(NSString *)bankCode idCardNo:(NSString *)idCardNo phone:(NSString *)phone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1355. [self configRequestMethodJSON];
  1356. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/bankCard"];
  1357. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1358. [parm setValue:name forKey:@"name"];
  1359. [parm setValue:phone forKey:@"phone"];
  1360. [parm setValue:idCardNo forKey:@"idCardNo"];
  1361. [parm setValue:bankCard forKey:@"bankCard"];
  1362. [parm setValue:bankName forKey:@"bankName"];
  1363. [parm setValue:bankCode forKey:@"bankCode"];
  1364. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1365. }
  1366. // 获取银行列表
  1367. // /api-teacher/userBankCard/bankList
  1368. /// 获取银行
  1369. /// @param post post
  1370. /// @param success 成功
  1371. /// @param faliure 失败
  1372. + (void)queryBankList:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1373. [self configRequestMethodJSON];
  1374. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/bankList"];
  1375. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1376. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1377. }
  1378. // /api-teacher/userBankCard/page
  1379. /// 获取绑定银行卡
  1380. /// @param post post
  1381. /// @param success 成功
  1382. /// @param faliure 失败
  1383. + (void)queryBankCardMessage:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1384. [self configRequestMethodJSON];
  1385. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/page"];
  1386. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1387. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1388. }
  1389. // /api-teacher/userBankCard/unBind
  1390. /// 解绑卡
  1391. /// @param post post
  1392. /// @param cardId 卡 id
  1393. /// @param idCardNo 卡号
  1394. /// @param name 姓名
  1395. /// @param success 成功
  1396. /// @param faliure 失败
  1397. + (void)unBindCardRequest:(NSString *)post cardId:(NSString *)cardId idCardNo:(NSString *)idCardNo name:(NSString *)name success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1398. [self configRequestMethodJSON];
  1399. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/unBind"];
  1400. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1401. [parm setValue:cardId forKey:@"id"];
  1402. [parm setValue:idCardNo forKey:@"idCardNo"];
  1403. [parm setValue:name forKey:@"name"];
  1404. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1405. }
  1406. #pragma mark ---- 我的收入
  1407. // /api-teacher/userAccount/page
  1408. /// 我的收入
  1409. /// @param post post
  1410. /// @param searchDate 查询时间 yyyy-MM
  1411. /// @param bizType PRACTICE LIVE MUSIC
  1412. /// @param page 分页
  1413. /// @param rows 条数
  1414. /// @param success 成功
  1415. /// @param faliure 失败
  1416. + (void)userAccountPageRequest:(NSString *)post searchDate:(NSString *)searchDate bizType:(NSString *)bizType page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1417. [self configRequestMethodJSON];
  1418. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/page"];
  1419. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1420. [parm setValue:bizType forKey:@"bizType"];
  1421. [parm setValue:searchDate forKey:@"searchDate"];
  1422. [parm setValue:@(page) forKey:@"page"];
  1423. [parm setValue:@(rows) forKey:@"rows"];
  1424. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1425. }
  1426. // /api-teacher/userAccount/accountTotal
  1427. /// 收入统计
  1428. /// @param post post
  1429. /// @param dateTime yyyy | yyyy-MM
  1430. /// @param timeType MONTH YEAR
  1431. /// @param success 成功
  1432. /// @param faliure 失败
  1433. + (void)accountTotalRequest:(NSString *)post dateTime:(NSString *)dateTime timeType:(NSString *)timeType success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1434. [self configRequestMethodJSON];
  1435. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/accountTotal"];
  1436. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1437. [parm setValue:dateTime forKey:@"dateTime"];
  1438. [parm setValue:timeType forKey:@"timeType"];
  1439. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1440. }
  1441. // /api-teacher/userAccount/detail
  1442. /// 获取account
  1443. /// @param get get
  1444. /// @param success 成功
  1445. /// @param faliure 失败
  1446. + (void)teacherAccountDetail:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1447. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/detail"];
  1448. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1449. }
  1450. #pragma mark ----- 提现
  1451. // /api-teacher/userWithdrawal/getWithdrawalInfo
  1452. /// 查询提现页面信息
  1453. /// @param post post
  1454. /// @param success 成功
  1455. /// @param faliure 失败
  1456. + (void)getWithdrawalInfoRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1457. [self configRequestMethodJSON];
  1458. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/getWithdrawalInfo"];
  1459. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1460. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1461. }
  1462. // /api-teacher/userWithdrawal/withdrawal
  1463. /// 用户提现
  1464. /// @param post post
  1465. /// @param amountWithdrawal 提现金额
  1466. /// @param bankCardId 用户银行卡id
  1467. /// @param success 成功
  1468. /// @param faliure 失败
  1469. + (void)withdrawalRequest:(NSString *)post amountWithdrawal:(double)amountWithdrawal bankCardId:(NSString *)bankCardId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1470. [self configRequestMethodJSON];
  1471. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/withdrawal"];
  1472. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1473. [parm setValue:@(amountWithdrawal) forKey:@"amountWithdrawal"];
  1474. [parm setValue:bankCardId forKey:@"bankCardId"];
  1475. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1476. }
  1477. // /api-teacher/userWithdrawal/withdrawalPage
  1478. /// 提现记录
  1479. /// @param post post
  1480. /// @param searchDate yyyy-mm
  1481. /// @param status DOING PASS UNPASS
  1482. /// @param page 分页
  1483. /// @param rows 条数
  1484. /// @param success 成功
  1485. /// @param faliure 失败
  1486. + (void)withdrawalPageRequest:(NSString *)post searchDate:(NSString *)searchDate status:(NSString *)status page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1487. [self configRequestMethodJSON];
  1488. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/withdrawalPage"];
  1489. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1490. [parm setValue:searchDate forKey:@"searchDate"];
  1491. [parm setValue:status forKey:@"status"];
  1492. [parm setValue:@(page) forKey:@"page"];
  1493. [parm setValue:@(rows) forKey:@"rows"];
  1494. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1495. }
  1496. #pragma mark ---- 地址服务
  1497. // /api-mall-portal/member/address/list
  1498. /// 获取收货地址
  1499. /// @param get get
  1500. /// @param success 成功
  1501. /// @param faliure 失败
  1502. + (void)companyAddressListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1503. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/list"];
  1504. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1505. }
  1506. // /api-mall-portal/member/address/add
  1507. /// 添加收货地址
  1508. /// @param post post
  1509. /// @param name 收货人名称
  1510. /// @param phoneNumber 电话号码
  1511. /// @param defaultStatus 是否默认收货地址
  1512. /// @param detailAddress 详细地址
  1513. /// @param province 省份
  1514. /// @param city 城市
  1515. /// @param region 区
  1516. /// @param postCode 邮编
  1517. /// @param success 成功
  1518. /// @param faliure 失败
  1519. + (void)addAddressRequest:(NSString *)post name:(NSString *)name phoneNumber:(NSString *)phoneNumber defaultStatus:(NSInteger)defaultStatus detailAddress:(NSString *)detailAddress province:(NSString *)province city:(NSString *)city region:(NSString *)region postCode:(NSString *)postCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1520. [self configRequestMethodJSON];
  1521. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/add"];
  1522. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1523. [parm setValue:name forKey:@"name"];
  1524. [parm setValue:phoneNumber forKey:@"phoneNumber"];
  1525. [parm setValue:@(defaultStatus) forKey:@"defaultStatus"];
  1526. [parm setValue:detailAddress forKey:@"detailAddress"];
  1527. [parm setValue:province forKey:@"province"];
  1528. [parm setValue:city forKey:@"city"];
  1529. [parm setValue:region forKey:@"region"];
  1530. [parm setValue:postCode forKey:@"postCode"];
  1531. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1532. }
  1533. // /api-mall-portal/member/address/{id}
  1534. /// 获取地址详情
  1535. /// @param get get
  1536. /// @param addressId 地址id
  1537. /// @param success 成功
  1538. /// @param faliure 失败
  1539. + (void)queryAddressDetailRequst:(NSString *)get addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure; {
  1540. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/",addressId];
  1541. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1542. }
  1543. // 修改收货地址
  1544. // /api-mall-portal/member/address/update/{id}
  1545. /// 修改收货地址
  1546. /// @param post post
  1547. /// @param addressId 地址id
  1548. /// @param name 收货人名称
  1549. /// @param phoneNumber 电话号码
  1550. /// @param defaultStatus 是否默认收货地址
  1551. /// @param detailAddress 详细地址
  1552. /// @param province 省份
  1553. /// @param city 城市
  1554. /// @param region 区
  1555. /// @param postCode 邮编
  1556. /// @param success 成功
  1557. /// @param faliure 失败
  1558. + (void)updateAddressRequest:(NSString *)post addressId:(NSString *)addressId name:(NSString *)name phoneNumber:(NSString *)phoneNumber defaultStatus:(NSInteger)defaultStatus detailAddress:(NSString *)detailAddress province:(NSString *)province city:(NSString *)city region:(NSString *)region postCode:(NSString *)postCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1559. [self configRequestMethodJSON];
  1560. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/update/",addressId];
  1561. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1562. [parm setValue:name forKey:@"name"];
  1563. [parm setValue:phoneNumber forKey:@"phoneNumber"];
  1564. [parm setValue:@(defaultStatus) forKey:@"defaultStatus"];
  1565. [parm setValue:detailAddress forKey:@"detailAddress"];
  1566. [parm setValue:province forKey:@"province"];
  1567. [parm setValue:city forKey:@"city"];
  1568. [parm setValue:region forKey:@"region"];
  1569. [parm setValue:postCode forKey:@"postCode"];
  1570. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1571. }
  1572. // /api-mall-portal/member/address/delete/{id}
  1573. /// 删除收货地址
  1574. /// @param post post
  1575. /// @param addressId 地址id
  1576. /// @param success 成功
  1577. /// @param faliure 失败
  1578. + (void)deleteAddressRequest:(NSString *)post addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1579. [self configRequestMethodJSON];
  1580. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/delete/",addressId];
  1581. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1582. }
  1583. #pragma mark ------- 消息中心
  1584. // /api-teacher/sysMessage/list
  1585. /// 消息列表
  1586. /// @param post post
  1587. /// @param group 消息组 SYSTEM:系统消息 COURSE:课程信息 NOTICE:公告
  1588. /// @param page 分页
  1589. /// @param rows 条数
  1590. /// @param success 成功
  1591. /// @param faliure 失败
  1592. + (void)sysMessageListRequest:(NSString *)post group:(NSString *)group page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1593. [self configRequestMethodJSON];
  1594. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/list"];
  1595. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1596. [parm setValue:group forKey:@"group"];
  1597. [parm setValue:@(page) forKey:@"page"];
  1598. [parm setValue:@(rows) forKey:@"rows"];
  1599. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1600. }
  1601. // /api-teacher/sysMessage/queryCountOfUnread
  1602. /// 获取未读消息条数
  1603. /// @param get get
  1604. /// @param success 成功
  1605. /// @param faliure 失败
  1606. + (void)queryCountOfUnreadRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1607. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/queryCountOfUnread"];
  1608. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1609. }
  1610. // /api-teacher/sysMessage/setRead/{id}
  1611. /// 设置消息已读
  1612. /// @param post post
  1613. /// @param messageId 消息id
  1614. /// @param success 成功
  1615. /// @param faliure 失败
  1616. + (void)setReadMessage:(NSString *)post messageId:(NSString *)messageId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1617. [self configRequestMethodJSON];
  1618. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-teacher/sysMessage/setRead/",messageId];
  1619. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1620. }
  1621. // /api-teacher/sysMessage/batchSetRead
  1622. /// 消息一键已读
  1623. /// @param post post
  1624. /// @param success 成功
  1625. /// @param faliure 失败
  1626. + (void)batchSetReadRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1627. [self configRequestMethodJSON];
  1628. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/batchSetRead"];
  1629. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1630. }
  1631. #pragma mark ------ 网络教室相关改造
  1632. // /room/join
  1633. /// 加入网络教室
  1634. /// @param post post
  1635. /// @param roomId roomId
  1636. /// @param success 成功
  1637. /// @param faliure 失败
  1638. + (void)roomJoinRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1639. [self configRequestMethodJSON];
  1640. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/join"];
  1641. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1642. [parm setValue:roomId forKey:@"roomId"];
  1643. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1644. }
  1645. // /room/joinRoomFailure
  1646. /// 加入网络教室失败回调
  1647. /// @param post post
  1648. /// @param roomId roomId
  1649. /// @param success 成功
  1650. /// @param faliure 失败
  1651. + (void)joinRoomFailureRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1652. [self configRequestMethodJSON];
  1653. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/joinRoomFailure"];
  1654. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1655. [parm setValue:roomId forKey:@"roomId"];
  1656. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1657. }
  1658. // /room/leave
  1659. /// 退出网络教室
  1660. /// @param post post
  1661. /// @param roomId roomID
  1662. /// @param success 成功
  1663. /// @param faliure 失败
  1664. + (void)roomLeaveRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1665. [self configRequestMethodJSON];
  1666. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/leave"];
  1667. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1668. [parm setValue:roomId forKey:@"roomId"];
  1669. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1670. }
  1671. // /room/device/batchControl
  1672. /// 批量控制学员设备开关
  1673. /// @param post post
  1674. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT
  1675. /// @param enable 是否可用
  1676. /// @param roomId roomId
  1677. /// @param musicScoreAccompanimentId 伴奏id
  1678. /// @param soundVolume 音量
  1679. /// @param userId 用户id 逗号分隔
  1680. /// @param success 成功
  1681. /// @param faliure 失败
  1682. + (void)deviceBatchControl:(NSString *)post deviceType:(NSString *)deviceType enable:(BOOL)enable roomId:(NSString *)roomId musicScoreAccompanimentId:(NSString *)musicScoreAccompanimentId soundVolume:(NSInteger)soundVolume userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1683. [self configRequestMethodJSON];
  1684. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/batchControl"];
  1685. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1686. [parm setValue:roomId forKey:@"roomId"];
  1687. [parm setValue:deviceType forKey:@"deviceType"];
  1688. [parm setValue:@(enable) forKey:@"enable"];
  1689. [parm setValue:userId forKey:@"userId"];
  1690. // 曲目播放
  1691. if ([deviceType isEqualToString:@"MUSIC_SHEET"] || [deviceType isEqualToString:@"ACCOMPANIMENT"]) {
  1692. [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"];
  1693. [parm setValue:@(soundVolume) forKey:@"soundVolume"];
  1694. }
  1695. [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"];
  1696. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1697. }
  1698. // /room/device/control
  1699. /// 批量控制学员设备开关
  1700. /// @param post post
  1701. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT
  1702. /// @param enable 是否可用
  1703. /// @param roomId roomId
  1704. /// @param musicScoreAccompanimentId 伴奏id
  1705. /// @param soundVolume 音量
  1706. /// @param userId 用户id
  1707. /// @param success 成功
  1708. /// @param faliure 失败
  1709. + (void)deviceControl:(NSString *)post deviceType:(NSString *)deviceType enable:(BOOL)enable roomId:(NSString *)roomId musicScoreAccompanimentId:(NSString *)musicScoreAccompanimentId soundVolume:(NSInteger)soundVolume userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1710. [self configRequestMethodJSON];
  1711. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/control"];
  1712. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1713. [parm setValue:roomId forKey:@"roomId"];
  1714. [parm setValue:deviceType forKey:@"deviceType"];
  1715. [parm setValue:@(enable) forKey:@"enable"];
  1716. [parm setValue:userId forKey:@"userId"];
  1717. // 曲目播放
  1718. if ([deviceType isEqualToString:@"MUSIC_SHEET"] || [deviceType isEqualToString:@"ACCOMPANIMENT"]) {
  1719. [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"];
  1720. [parm setValue:@(soundVolume) forKey:@"soundVolume"];
  1721. }
  1722. [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"];
  1723. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1724. }
  1725. // /room/display
  1726. /// 主屏显示
  1727. /// @param post post
  1728. /// @param roomId roomID
  1729. /// @param type TEACHER,WHITE_BOARD,SCREEN,NONE,STUDENT
  1730. /// @param uri display uri
  1731. /// @param userId display useId
  1732. /// @param success 成功
  1733. /// @param faliure 失败
  1734. + (void)roomDisplay:(NSString *)post roomId:(NSString *)roomId type:(NSString *)type uri:(NSString *)uri userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1735. [self configRequestMethodJSON];
  1736. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/display"];
  1737. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1738. [parm setValue:type forKey:@"type"];
  1739. [parm setValue:roomId forKey:@"roomId"];
  1740. [parm setValue:uri forKey:@"uri"];
  1741. [parm setObject:userId forKey:@"userId"];
  1742. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1743. }
  1744. // /room/pushDownloadMusicSheetMsg
  1745. /// 老师在网络教室选择完伴奏后、通知学员下载伴奏
  1746. /// @param post post
  1747. /// @param accompanimentId 伴奏编号
  1748. /// @param roomId room id
  1749. /// @param success 成功
  1750. /// @param faliure 失败
  1751. + (void)pushDownloadMusicSheetMsg:(NSString *)post accompanimentId:(NSString *)accompanimentId roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1752. [self configRequestMethodJSON];
  1753. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/pushDownloadMusicSheetMsg"];
  1754. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1755. [parm setValue:accompanimentId forKey:@"accompanimentId"];
  1756. [parm setValue:roomId forKey:@"roomId"];
  1757. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1758. }
  1759. // /room/sendImPlayMidiMessage
  1760. /// 控制学员节拍器
  1761. /// @param post post
  1762. /// @param customType 节拍类型
  1763. /// @param enable 是否开启
  1764. /// @param playVolume 播放音量
  1765. /// @param rate rate
  1766. /// @param userId 用户id 逗号分隔
  1767. /// @param roomId room id
  1768. /// @param success 成功
  1769. /// @param faliure 失败
  1770. + (void)sendImPlayMidiMessage:(NSString *)post customType:(NSInteger)customType enable:(BOOL)enable playVolume:(NSInteger)playVolume rate:(NSInteger)rate userId:(NSString *)userId roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1771. [self configRequestMethodJSON];
  1772. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/sendImPlayMidiMessage"];
  1773. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1774. [parm setValue:@(customType) forKey:@"customType"];
  1775. [parm setValue:@(enable) forKey:@"enable"];
  1776. [parm setValue:@(playVolume) forKey:@"playVolume"];
  1777. [parm setValue:@(rate) forKey:@"rate"];
  1778. [parm setValue:userId forKey:@"userId"];
  1779. [parm setValue:roomId forKey:@"roomId"];
  1780. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1781. }
  1782. // /room/device/sync
  1783. /// 设备状态同步
  1784. /// @param post post
  1785. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP
  1786. /// @param roomId roomId
  1787. /// @param enable 是否开启
  1788. /// @param songId songId
  1789. /// @param success 成功
  1790. /// @param faliure 失败
  1791. + (void)roomDeviceSync:(NSString *)post deviceType:(NSString *)deviceType roomId:(NSString *)roomId enable:(BOOL)enable songId:(NSInteger)songId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1792. [self configRequestMethodJSON];
  1793. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/sync"];
  1794. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1795. [parm setValue:roomId forKey:@"roomId"];
  1796. [parm setValue:deviceType forKey:@"deviceType"];
  1797. [parm setValue:@(enable) forKey:@"enable"];
  1798. [parm setValue:@(songId) forKey:@"songId"];
  1799. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1800. }
  1801. // 获取未进入成员
  1802. /// 获取未进入成员
  1803. /// @param post post
  1804. /// @param roomId room id
  1805. /// @param success 成功
  1806. /// @param faliure 失败
  1807. + (void)queryNoJoinStuRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1808. [self configRequestMethodJSON];
  1809. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/queryNoJoinStu"];
  1810. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1811. [parm setValue:roomId forKey:@"roomId"];
  1812. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1813. }
  1814. // 获取白板房间数据
  1815. /// 获取白板房间信息
  1816. /// @param post post
  1817. /// @param url url
  1818. /// @param parm 参数
  1819. /// @param success 成功
  1820. /// @param faliure 失败
  1821. + (void)getWhiteBoardRoomMessage:(NSString *)post url:(NSString *)url parm:(NSDictionary *)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1822. [self configRequestMethodJSON];
  1823. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1824. }
  1825. // /api-teacher/sysConfig/queryByParamName
  1826. /// 查询课程调整时间配置参数
  1827. /// @param get get
  1828. /// @param success 成功
  1829. /// @param faliure 失败
  1830. + (void)queryCourseAdjustTimeLimit:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1831. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysConfig/queryByParamNameList"];
  1832. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1833. [parm setValue:@"course_start_setting,course_end_setting" forKey:@"paramNames"];
  1834. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1835. }
  1836. @end