KSNetworkingManager.m 120 KB

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