KSNetworkingManager.m 104 KB

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