KSNetworkingManager.m 99 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279
  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 "UserInfoManager.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. NSInteger tenantId = [UserDefaultObjectForKey(TENANT_ID) integerValue];
  71. if (tenantId > 0) {
  72. [[VoNetworking sharedManager] addHttpHeader:[NSString stringWithFormat:@"%zd", tenantId] forKey:@"coopId"];
  73. }
  74. }
  75. + (NSString *)returnNoContainGroupId:(NSString *)groupId {
  76. if (![NSString isEmptyString:groupId]) {
  77. if ([groupId containsString:@"S"] || [groupId containsString:@"I"]) {
  78. groupId = [groupId substringFromIndex:1];
  79. }
  80. }
  81. return groupId;
  82. }
  83. /**
  84. * 封装网络请求
  85. */
  86. + (void)request:(NSString *)post andWithUrl:(NSString *)myUrl and:(id)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  87. __block NSDictionary *dic;
  88. NSLog(@"----url ------%@",myUrl);
  89. #pragma mark ----- 签名
  90. // parm = [NSString signToMD5:parm];
  91. NSLog(@"%@",[parm mj_JSONString]);
  92. // post
  93. if ([post isEqualToString:KS_POST]) {
  94. [[VoNetworking sharedManager] postWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  95. // NSLog(@"%lld--%lld",bytesRead,totalBytes);
  96. } successBlock:^(id response) {
  97. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  98. NSLog(@"-------resonse -- %@", dic);
  99. if ([dic ks_integerValueForKey:@"code"] == 403) { // token验证失败
  100. [self logOutWithType:YES];
  101. [dic setValue:@"" forKey:@"msg"];
  102. success(dic);
  103. return;
  104. }
  105. else if ([dic ks_integerValueForKey:@"code"] == 401) {
  106. [self logOutWithType:NO];
  107. [dic setValue:@"" forKey:@"msg"];
  108. success(dic);
  109. return ;
  110. }
  111. success(dic);
  112. return ;
  113. } failBlock:^(NSError *error) {
  114. NSLog(@"%@",error.description);
  115. faliure(error);
  116. if (error.code == -1001) {
  117. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络请求超时"];
  118. }
  119. else if (error.code != -999) {
  120. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"];
  121. }
  122. }];
  123. }
  124. // get
  125. else {
  126. [[VoNetworking sharedManager] getWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  127. // NSLog(@"%lld--%lld",bytesRead,totalBytes);
  128. } successBlock:^(id response) {
  129. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  130. NSLog(@"-------resonse -- %@", dic);
  131. if ([dic ks_integerValueForKey:@"code"] == 403) { // token验证失败
  132. [self logOutWithType:YES];
  133. [dic setValue:@"" forKey:@"msg"];
  134. success(dic);
  135. return;
  136. }
  137. else if ([dic ks_integerValueForKey:@"code"] == 401) {
  138. [self logOutWithType:NO];
  139. [dic setValue:@"" forKey:@"msg"];
  140. success(dic);
  141. return;
  142. }
  143. success(dic);
  144. return ;
  145. } failBlock:^(NSError *error) {
  146. NSLog(@"%@",error.description);
  147. faliure(error);
  148. #warning 忽略首页错误提示
  149. if (![myUrl containsString:@"/api-student/index/summary"]) {
  150. if (error.code == -1001) {
  151. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络请求超时"];
  152. }
  153. else if (error.code != -999) {
  154. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"];
  155. }
  156. }
  157. }];
  158. }
  159. }
  160. + (void)logOutWithType:(BOOL)isDisable {
  161. NSString *tipsMessage = @"";
  162. if (isDisable) {
  163. tipsMessage = @"登录过期,请重新登录";
  164. }
  165. else {
  166. tipsMessage = @"未认证";
  167. }
  168. [self logoutActionWithMsg:tipsMessage];
  169. }
  170. + (void)logoutActionWithMsg:(NSString *)msg {
  171. [APPLOGIN_MANAGER logoutActionWithMsg:msg];
  172. }
  173. /// 移除所以当前请求
  174. + (void)cancelAllRequest {
  175. [[VoNetworking sharedManager] cancleAllRequest];
  176. }
  177. // 多文件上传
  178. + (void)uploadMultiFileWithFileArray:(NSArray *)datas
  179. andWithUrl:(NSString *)myUrl
  180. parameters:(NSDictionary *)parameters
  181. type:(NSString *)type
  182. name:(NSString *)name
  183. mimeType:(NSString *)mimeType
  184. progress:(void(^)(NSProgress * _Nonnull uploadProgress))progress
  185. success:(void(^)(NSMutableArray *dics))success
  186. faliure:(void(^)(NSError *error))faliure {
  187. __block NSMutableArray *dics = [NSMutableArray array];
  188. [[VoNetworking sharedManager] uploadMultFileWithUrl:myUrl parameters:parameters fileDatas:datas type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  189. } successBlock:^(NSArray *responses) {
  190. for (id response in responses) {
  191. NSDictionary *subDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  192. [dics addObject:subDic];
  193. }
  194. success(dics);
  195. } failBlock:^(NSArray *errors) {
  196. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"];
  197. faliure([errors lastObject]);
  198. }];
  199. }
  200. // 单文件上传
  201. + (void)uploadFileWithFileData:(NSData *)data
  202. andWithUrl:(NSString *)myUrl
  203. parameters:(NSDictionary *)parameters
  204. type:(NSString *)type
  205. name:(NSString *)name
  206. mimeType:(NSString *)mimeType
  207. progress:(void(^)(int64_t bytesWritten,
  208. int64_t totalBytes))progress
  209. success:(void(^)(NSDictionary *dic))success
  210. faliure:(void(^)(NSError *error))faliure {
  211. __block NSDictionary *dic;
  212. [[VoNetworking sharedManager] uploadFileWithUrl:myUrl parameters:parameters fileData:data type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) {
  213. if (progress) {
  214. progress(bytesWritten, totalBytes);
  215. }
  216. } successBlock:^(id response) {
  217. dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil];
  218. success(dic);
  219. return ;
  220. } failBlock:^(NSError *error) {
  221. faliure(error);
  222. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"];
  223. }];
  224. }
  225. // 下载
  226. + (void)downloadTaskWithUrl:(NSString *)myUrl
  227. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  228. success:(void(^)(NSURL *fileUrl))success
  229. faliure:(void(^)(NSError *error))faliure {
  230. [[VoNetworking sharedManager] downloadWithUrl:myUrl progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  231. if (progress) {
  232. progress(bytesRead, totalBytes);
  233. }
  234. } successBlock:^(NSURL * _Nullable url) {
  235. if (success) {
  236. success(url);
  237. }
  238. } failBlock:^(NSError * _Nonnull error) {
  239. if (faliure) {
  240. faliure(error);
  241. }
  242. }];
  243. }
  244. // 多文件下载
  245. + (void)mutilDownTaskWithUrl:(NSArray *)urlArray
  246. progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress
  247. successBlock:(void(^)(NSMutableArray *dics))success
  248. failBlock:(void(^)(NSError *error))faliure {
  249. [[VoNetworking sharedManager] downloadMutilFileWithUrl:urlArray progressBlock:^(int64_t bytesRead, int64_t totalBytes) {
  250. } successBlock:^(NSArray * _Nonnull responses) {
  251. NSMutableArray *result = [NSMutableArray arrayWithArray:responses];
  252. success(result);
  253. } failBlock:^(NSArray * _Nonnull errors) {
  254. [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"];
  255. faliure([errors lastObject]);
  256. }];
  257. }
  258. #pragma mark -------- CLASS REQUEST
  259. + (void)classroomRequest:(NSString *)method url:(NSString *)url parms:(NSDictionary *)parms success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  260. if ([method isEqualToString:KS_POST]) {
  261. [self configRequestMethodJSON];
  262. }
  263. [self request:method andWithUrl:url and:parms success:success faliure:faliure];
  264. }
  265. #pragma mark -------- LIVE ROOM
  266. + (void)LiveRoomRequest:(NSString *)method url:(NSString *)url parms:(id)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 ----- version
  273. // api-admin/appVersionInfo/queryByPlatform
  274. + (void)appVersionInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  275. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/appVersionInfo/queryByPlatform"];
  276. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  277. [parm setValue:@"ios-student" forKey:@"platform"];
  278. NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
  279. [parm setValue:currentVersion forKey:@"localVersion"];
  280. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  281. }
  282. #pragma mark ----- 获取上传签名
  283. // 获取上传签名
  284. // /api-student/getUploadSign
  285. + (void)getUploadSignRequest:(NSString *)post fileName:(NSString *)fileName keyName:(NSString *)keyName bucketName:(NSString *)bucketName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  286. [self configRequestMethodJSON];
  287. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/getUploadSign"];
  288. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  289. [parm setValue:bucketName forKey:@"bucketName"];
  290. [parm setValue:fileName forKey:@"fileName"];
  291. [parm setValue:@{@"acl":@"public-read",
  292. @"key" :keyName
  293. } forKey:@"postData"];
  294. [parm setValue:@[] forKey:@"unknowValueField"];
  295. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  296. }
  297. // 获取上传签名
  298. // /api-student/getUploadSign
  299. + (void)getTXCosUploadSignRequest:(NSString *)post fileName:(NSString *)fileName keyName:(NSString *)keyName bucketName:(NSString *)bucketName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  300. [self configRequestMethodJSON];
  301. NSString *url = [NSString stringWithFormat:@"%@%@?pluginName=tencent", hostURL, @"/api-student/getUploadSign"];
  302. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  303. [parm setValue:bucketName forKey:@"bucketName"];
  304. [parm setValue:fileName forKey:@"fileName"];
  305. [parm setValue:@{@"acl":@"public-read",
  306. @"key" :keyName
  307. } forKey:@"postData"];
  308. [parm setValue:@[] forKey:@"unknowValueField"];
  309. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  310. }
  311. #pragma mark ---- 文件下载
  312. + (void)downloadFileRequestWithFileUrl:(NSString *)url progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSURL * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  313. [self downloadTaskWithUrl:url progress:progress success:success faliure:faliure];
  314. }
  315. + (void)mutiDownloadFileRequest:(NSArray *)fileUrl progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSArray * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  316. [self mutilDownTaskWithUrl:fileUrl progress:progress successBlock:success failBlock:faliure];
  317. }
  318. #pragma mark ---- 云教练提交反馈
  319. /// 云教练反馈
  320. /// @param post post
  321. /// @param content content
  322. /// @param type type SMART_PRACTICE
  323. /// @param success 成功
  324. /// @param faliure 失败
  325. + (void)cloudFeedbackRequest:(NSString *)post content:(NSString *)content type:(NSString *)type success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  326. [self configRequestMethodForm];
  327. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  328. [parm setValue:@"iOS" forKey:@"clientType"];
  329. [parm setValue:content forKey:@"content"];
  330. [parm setValue:@"SMART_PRACTICE" forKey:@"type"];
  331. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/sysSuggestion/add"];
  332. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  333. }
  334. #pragma mark ----- 登录相关
  335. + (void)LoginRequest:(NSString *)post phone:(NSString *)phone password:(NSString *)password success:(void (^)(NSDictionary * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure {
  336. [self configRequestMethodForm];
  337. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  338. [parm setValue:@"student" forKey:@"clientId"];
  339. [parm setValue:@"student" forKey:@"clientSecret"];
  340. [parm setValue:phone forKey:@"username"];
  341. [parm setValue:password forKey:@"password"];
  342. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  343. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/usernameLogin"];
  344. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  345. }
  346. // /api-auth/smsLogin
  347. /**
  348. 验证码登录/注册
  349. @param post post
  350. @param phone 手机号
  351. @param smsCode 验证码
  352. @param success 成功
  353. @param faliure 失败
  354. */
  355. + (void)smsLoginRequest:(NSString *)post phone:(NSString *)phone smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  356. [self configRequestMethodForm];
  357. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  358. [parm setValue:@"student" forKey:@"clientId"];
  359. [parm setValue:@"student" forKey:@"clientSecret"];
  360. [parm setValue:phone forKey:@"phone"];
  361. [parm setValue:smsCode forKey:@"smsCode"];
  362. [parm setValue:@"IOS" forKey:@"channel"];
  363. [parm setValue:@"true" forKey:@"isSurportRegister"];
  364. [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"];
  365. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/smsLogin"];
  366. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  367. }
  368. // /api-auth/refreshToken
  369. /**
  370. 刷新token的逻辑
  371. @param post post
  372. @param success 成功
  373. @param faliure 失败
  374. */
  375. + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  376. [self configRequestMethodForm];
  377. [self clearRequestHeader];
  378. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  379. [parm setValue:@"student" forKey:@"clientId"];
  380. [parm setValue:@"student" forKey:@"clientSecret"];
  381. [parm setValue:UserDefault(RefreshToken) forKey:@"refreshToken"];
  382. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/refreshToken"];
  383. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  384. }
  385. // /api-auth/checkToken
  386. /// 校验token是否有效
  387. /// @param get get
  388. /// @param success 成功
  389. /// @param faliure 失败
  390. + (void)checkTokenRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  391. [self configRequestMethodForm];
  392. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/checkToken"];
  393. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  394. }
  395. // 接口地址 /api-auth/user/setUsernameAndPassword
  396. /**
  397. 设置密码
  398. @param post post
  399. @param username 用户名
  400. @param password 密码
  401. @param userSex 性别
  402. @param token token
  403. @param success 成功
  404. @param faliure 失败
  405. */
  406. + (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 {
  407. [self configRequestMethodFormWithToken:token];
  408. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  409. [parm setValue:username forKey:@"username"];
  410. [parm setValue:password forKey:@"password"];
  411. [parm setValue:userSex forKey:@"gender"];
  412. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"];
  413. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  414. }
  415. // /api-auth/user/updatePassword
  416. /**
  417. 修改密码
  418. @param post post
  419. @param authCode 验证码
  420. @param mobile 手机号
  421. @param newPassword 新密码
  422. @param success 成功
  423. @param faliure 失败
  424. */
  425. + (void)updatePasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile newPassword:(NSString *)newPassword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  426. [self configRequestMethodForm];
  427. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  428. [parm setValue:mobile forKey:@"mobile"];
  429. [parm setValue:authCode forKey:@"authCode"];
  430. [parm setValue:newPassword forKey:@"newPassword"];
  431. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePassword"];
  432. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  433. }
  434. // /api-auth/user/checkUser
  435. /// 用户信息校验
  436. /// @param get get
  437. /// @param phone 手机号
  438. /// @param password 密码
  439. /// @param success 成功
  440. /// @param faliure 失败
  441. + (void)checkUserRequest:(NSString *)get phone:(NSString *)phone password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  442. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/checkUser"];
  443. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  444. [parm setValue:phone forKey:@"phone"];
  445. [parm setValue:password forKey:@"password"];
  446. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  447. }
  448. // /api-auth/user/updatePhone
  449. /// 修改手机号
  450. /// @param post post
  451. /// @param oldPhone 旧手机号
  452. /// @param authCode 验证码
  453. /// @param newPhone 新手机号码
  454. /// @param success 成功
  455. /// @param faliure 失败
  456. + (void)updatePhoneRequest:(NSString *)post oldPhone:(NSString *)oldPhone authCode:(NSString *)authCode newPhone:(NSString *)newPhone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  457. [self configRequestMethodForm];
  458. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePhone"];
  459. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  460. [parm setValue:oldPhone forKey:@"oldPhone"];
  461. [parm setValue:authCode forKey:@"authCode"];
  462. [parm setValue:newPhone forKey:@"newPhone"];
  463. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  464. }
  465. // /api-auth/user/refreshImToken
  466. /// 刷新IM token
  467. /// @param post post
  468. /// @param success 成功
  469. /// @param faliure 失败
  470. + (void)refreshImTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  471. [self configRequestMethodForm];
  472. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/refreshImToken"];
  473. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  474. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  475. }
  476. // /api-auth/exit
  477. /**
  478. 退出登录
  479. @param get get请求
  480. @param success 成功
  481. @param faliure 失败
  482. */
  483. + (void)logoutRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  484. [self configRequestMethodForm];
  485. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  486. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/exit"];
  487. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  488. }
  489. // 注销账号功能
  490. // /api-auth/user/logoff/{smsCode}
  491. /// 注销账号
  492. /// @param get get
  493. /// @param smsCode 验证码
  494. /// @param success 成功
  495. /// @param faliure 失败
  496. + (void)logoffRequest:(NSString *)get smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  497. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-auth/user/logoff/",smsCode];
  498. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  499. }
  500. // /api-student/subject/subjectSelect
  501. /// 声部信息查询 (树状列表)
  502. /// @param get get
  503. /// @param success 成功
  504. /// @param faliure 失败
  505. + (void)studentQuerySubject:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  506. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/subject/subjectSelect"];
  507. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  508. }
  509. // /api-student/student/setSubject
  510. /// 设置声部
  511. /// @param get get
  512. /// @param subjectIds 声部id
  513. /// @param success 成功
  514. /// @param faliure 失败
  515. + (void)studentSetSubject:(NSString *)get subjectIds:(NSString *)subjectIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  516. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/student/setSubject"];
  517. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  518. [parm setValue:subjectIds forKey:@"subjectIds"];
  519. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  520. }
  521. // /api-student/courseSchedule/selectRoomConfig
  522. /// 获取网络教室进入房间参数
  523. /// @param get get
  524. /// @param success 成功
  525. /// @param faliure 失败
  526. + (void)selectRoomConfigRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  527. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/selectRoomConfig"];
  528. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  529. }
  530. #pragma mark ---- 验证码服务
  531. // /api-student/code/sendSms
  532. /**
  533. 发送短信验证码
  534. @param post post
  535. @param mobile 手机号码
  536. @param type type PASSWD LOGIN BANK PHONE
  537. @param code 图形验证码
  538. @param success 成功
  539. @param faliure 失败
  540. */
  541. + (void)sendSmsRequest:(NSString *)post mobile:(NSString *)mobile type:(NSString *)type code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  542. [self configRequestMethodForm];
  543. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  544. [parm setValue:mobile forKey:@"mobile"];
  545. [parm setValue:type forKey:@"type"];
  546. [parm setValue:code forKey:@"code"];
  547. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/code/sendSmsCode"];
  548. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  549. }
  550. // /api-student/code/verifyImageCode
  551. /**
  552. 图形验证码校验
  553. @param post post
  554. @param phone 手机号
  555. @param code 验证码
  556. @param success 成功
  557. @param faliure 失败
  558. */
  559. + (void)verifyLoginImageRequest:(NSString *)post phone:(NSString *)phone code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  560. [self configRequestMethodForm];
  561. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  562. [parm setValue:phone forKey:@"phone"];
  563. [parm setValue:code forKey:@"code"];
  564. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/code/verifyImageCode"];
  565. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  566. }
  567. // 首页公告查询
  568. // /api-cms/helpCenterContent/list
  569. /// 公告查询
  570. /// @param post post
  571. /// @param success 成功
  572. /// @param faliure 失败
  573. + (void)helpCenterContentListRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  574. [self configRequestMethodJSON];
  575. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/helpCenterContent/list"];
  576. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  577. [parm setValue:@"2" forKey:@"catalogIds"];
  578. [parm setValue:@"STUDENT" forKey:@"catalogType"];
  579. [parm setValue:@(1) forKey:@"status"];
  580. [parm setValue:@(1) forKey:@"page"];
  581. [parm setValue:@(5) forKey:@"rows"];
  582. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  583. }
  584. #pragma mark ----- 查询用户信息
  585. // /api-auth/queryUserInfo
  586. /**
  587. 获取个人信息
  588. @param get get
  589. @param success 成功
  590. @param faliure 失败
  591. */
  592. + (void)queryUserInfo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  593. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/api/queryUserInfo"];
  594. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  595. [parm setValue:@"STUDENT" forKey:@"clientType"];
  596. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  597. }
  598. // /api-student/Student/queryUserInfo
  599. /// 查询学生信息
  600. /// @param get get
  601. /// @param success 成功
  602. /// @param faliure 失败
  603. + (void)queryStudentInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  604. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/student/queryUserInfo"];
  605. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  606. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  607. }
  608. // /api-auth/user/submitSetDetail
  609. /// 修改用户信息
  610. /// @param post post
  611. /// @param avatal 头像
  612. /// @param gender 性别
  613. /// @param username 昵称
  614. /// @param birthdate 生日
  615. /// @param success 成功
  616. /// @param faliure 失败
  617. + (void)modifyUserMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username birthdate:(NSString *)birthdate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  618. [self configRequestMethodJSON];
  619. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/submitSetDetail"];
  620. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  621. [parm setValue:avatal forKey:@"avatar"];
  622. [parm setValue:gender forKey:@"gender"];
  623. [parm setValue:username forKey:@"username"];
  624. [parm setValue:birthdate forKey:@"birthdate"];
  625. [parm setValue:@"STUDENT" forKey:@"clientType"];
  626. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  627. }
  628. // /api-student/user/realNameAuth
  629. /// 实名认证
  630. /// @param post post
  631. /// @param idCardNo 身份证
  632. /// @param realName 姓名
  633. /// @param success 成功
  634. /// @param faliure 失败
  635. + (void)realNameAuthRequest:(NSString *)post idCardNo:(NSString *)idCardNo realName:(NSString *)realName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  636. [self configRequestMethodJSON];
  637. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/student/realNameAuth"];
  638. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  639. [parm setValue:idCardNo forKey:@"idCardNo"];
  640. [parm setValue:realName forKey:@"realName"];
  641. [parm setValue:@(YES) forKey:@"save"];
  642. [parm setValue:@"1" forKey:@"contract"];
  643. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  644. }
  645. #pragma mark -------- 群组服务
  646. // /api-student/imUserFriend/getMessageUser/CLX_2250235_STUDENT
  647. /// 查询聊天用户信息
  648. /// @param post post
  649. /// @param imUserId 用户imUserId
  650. /// @param success 成功
  651. /// @param faliure 失败
  652. + (void)getMessageUserRequset:(NSString *)post imUserId:(NSString *)imUserId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  653. [self configRequestMethodJSON];
  654. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-student/imUserFriend/getMessageUser",imUserId];
  655. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  656. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  657. }
  658. // /api-student/imUserFriend/queryAll
  659. /// 查询好友列表
  660. /// @param post post
  661. /// @param search 搜索
  662. /// @param success 成功
  663. /// @param faliure 失败
  664. + (void)imUserFriendRequest:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  665. [self configRequestMethodJSON];
  666. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imUserFriend/queryAll"];
  667. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  668. [parm setValue:search forKey:@"search"];
  669. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  670. }
  671. // /api-student/imGroup/queryAll
  672. /// 查询群组列表
  673. /// @param post post
  674. /// @param search 搜索
  675. /// @param success 成功
  676. /// @param faliure 失败
  677. + (void)imGroupQueryPage:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  678. [self configRequestMethodJSON];
  679. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imGroup/queryAll"];
  680. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  681. [parm setValue:search forKey:@"search"];
  682. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  683. }
  684. // /api-student/imGroup/getDetail/{groupId}
  685. /// 获取群信息
  686. /// @param post post
  687. /// @param groupId 群id
  688. /// @param success 成功
  689. /// @param faliure 失败
  690. + (void)queryGroupDetail:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  691. [self configRequestMethodJSON];
  692. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-student/imGroup/getDetail",groupId];
  693. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  694. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  695. }
  696. // 获取群成员列表
  697. // /api-student/imGroupMember/queryAll
  698. /// 查询群成员列表
  699. /// @param post post
  700. /// @param groupId 群id
  701. /// @param success 成功
  702. /// @param faliure 失败
  703. + (void)imGroupMemberAllRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  704. [self configRequestMethodJSON];
  705. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imGroupMember/queryAll"];
  706. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  707. [parm setValue:groupId forKey:@"groupId"];
  708. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  709. }
  710. // 查询群成员
  711. // /api-student/imGroupMember/getUserDetail
  712. /// 查询群成员信息
  713. /// @param post post
  714. /// @param groupId 群id
  715. /// @param userId 用户id
  716. /// @param success 成功
  717. /// @param faliure 失败
  718. + (void)imGroupMemberQueryUser:(NSString *)post groupId:(NSString *)groupId userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  719. [self configRequestMethodJSON];
  720. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imGroupMember/getUserDetail"];
  721. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  722. [parm setValue:groupId forKey:@"groupId"];
  723. [parm setValue:userId forKey:@"userId"];
  724. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  725. }
  726. // 获取IM好友详情
  727. // /api-student/imUserFriend/getDetail/{userId}
  728. /// 获取好友详情
  729. /// @param post post
  730. /// @param userId 用户id
  731. /// @param success 成功
  732. /// @param faliure 失败
  733. + (void)imUserFriendQueryDetail:(NSString *)post userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  734. [self configRequestMethodJSON];
  735. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-student/imUserFriend/getDetail",userId];
  736. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  737. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  738. }
  739. // /api-student/imGroupMemberAudit/queryPage
  740. /// 申请入群列表
  741. /// @param post post
  742. /// @param groupId 群id
  743. /// @param success 成功
  744. /// @param faliure 失败
  745. + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  746. [self configRequestMethodJSON];
  747. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imGroupMemberAudit/queryPage"];
  748. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  749. [parm setValue:groupId forKey:@"groupId"];
  750. [parm setValue:@(1) forKey:@"page"];
  751. [parm setValue:@(200) forKey:@"rows"];
  752. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  753. }
  754. // 退出群组
  755. // /api-student/imGroup/quit/{groupId}
  756. /// 退出群组
  757. /// @param post post
  758. /// @param groupId 群组id
  759. /// @param success 成功
  760. /// @param faliure 失败
  761. + (void)quitImGroupRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  762. [self configRequestMethodJSON];
  763. NSString *url = [NSString stringWithFormat:@"%@%@%@",hostURL, @"/api-student/imGroup/quit/",groupId];
  764. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  765. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  766. }
  767. // 群组投诉
  768. // sysImComplaint/add
  769. /// 聊天投诉
  770. /// @param post post form
  771. /// @param type /** 投诉对象类型 GROUP,PERSON*/
  772. /// @param fileUrl 图片凭证
  773. /// @param memo 描述
  774. /// @param targetId 目标id
  775. /// @param success 成功
  776. /// @param faliure 失败
  777. + (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 {
  778. [self configRequestMethodJSON];
  779. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/sysImComplaint/add"];
  780. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  781. [parm setValue:type forKey:@"type"];
  782. [parm setValue:fileUrl forKey:@"url"];
  783. [parm setValue:memo forKey:@"memo"];
  784. [parm setValue:targetId forKey:@"targetId"];
  785. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  786. }
  787. // imGroupMember/allowPrivateChat
  788. /// 是否群成员发送私聊
  789. /// @param get get
  790. /// @param groupId 群ID
  791. /// @param allowPrivateChatFlag 是否允许私聊
  792. /// @param success 成功
  793. /// @param faliure 失败
  794. + (void)imGroupMemberAllowPrivateChatRequest:(NSString *)get groupId:(NSString *)groupId allowPrivateChatFlag:(BOOL)allowPrivateChatFlag success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  795. [self configRequestMethodJSON];
  796. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-student",@"/imGroupMember/allowPrivateChat"];
  797. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  798. [parm setValue:groupId forKey:@"groupId"];
  799. [parm setValue:@(allowPrivateChatFlag) forKey:@"allowPrivateChatFlag"];
  800. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  801. }
  802. #pragma mark ---- 群公告
  803. // /api-student/imGroupNotice/queryPage
  804. /// 群公告列表查询
  805. /// @param post post
  806. /// @param groupId 群组id
  807. /// @param page 分页
  808. /// @param rows 条数
  809. /// @param success 成功
  810. /// @param faliure 失败
  811. + (void)queryNoticeListRequest:(NSString *)post groupId:(NSString *)groupId page:(NSString *)page rows:(NSString *)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  812. [self configRequestMethodJSON];
  813. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/imGroupNotice/queryPage"];
  814. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  815. [parm setValue:groupId forKey:@"groupId"];
  816. [parm setValue:page forKey:@"page"];
  817. [parm setValue:rows forKey:@"rows"];
  818. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  819. }
  820. // api-student/imGroupNotice/get
  821. /// 群公告详情
  822. /// @param get get
  823. /// @param noticeId 公告ID
  824. /// @param success 成功
  825. /// @param faliure 失败
  826. + (void)imGroupNoticeDetailRequest:(NSString *)get noticeId:(NSString *)noticeId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  827. NSString *url = [NSString stringWithFormat:@"%@%@/%@", hostURL, @"/api-student/imGroupNotice/get", noticeId];
  828. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  829. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  830. }
  831. #pragma mark ----- 直播相关
  832. // 进入直播房间
  833. // /api-student/liveRoom/joinRoom
  834. /// 进入房间
  835. /// @param get get
  836. /// @param roomUid 直播房间号
  837. /// @param success 成功
  838. /// @param faliure 失败
  839. + (void)liveRoomJoinRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  840. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/liveRoom/joinRoom"];
  841. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  842. [parm setValue:roomUid forKey:@"roomUid"];
  843. [parm setValue:UserDefault(UIDKey) forKey:@"userId"];
  844. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  845. }
  846. // 退出直播间通知
  847. // /api-student/liveRoom/syncUserStatus
  848. /// 退出直播间
  849. /// @param post post json
  850. /// @param success 成功
  851. /// @param faliure 失败
  852. + (void)LiveroomQuit:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  853. [self configRequestMethodJSON];
  854. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/liveRoom/syncUserStatus"];
  855. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  856. [parm setValue:@"iOS" forKey:@"os"];
  857. [parm setValue:@"3" forKey:@"status"];
  858. [parm setValue:UserDefault(UIDKey) forKey:@"userid"];
  859. [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
  860. }
  861. #pragma mark ----- 课表
  862. // /api-student/courseSchedule/queryCourseScheduleStudent
  863. /// 课表日历
  864. /// @param post post
  865. /// @param classMonth 月份
  866. /// @param success 成功
  867. /// @param faliure 失败
  868. + (void)queryCourseSchedule:(NSString *)post classMonth:(NSString *)classMonth success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  869. [self configRequestMethodJSON];
  870. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryCourseScheduleStudent"];
  871. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  872. [parm setValue:classMonth forKey:@"classMonth"];
  873. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  874. }
  875. // /api-student/courseSchedule/queryCourseTeacher
  876. /// 查询日期课程
  877. /// @param post post
  878. /// @param classDate 日期
  879. /// @param success 成功
  880. /// @param faliure 失败
  881. + (void)queryCourseForDay:(NSString *)post classDate:(NSString *)classDate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  882. [self configRequestMethodJSON];
  883. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryCourseTeacher"];
  884. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  885. [parm setValue:classDate forKey:@"classDate"];
  886. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  887. }
  888. // /api-student/student/querySubjectItem
  889. /// 获取声部搜索下拉框
  890. /// @param post post
  891. /// @param success 成功
  892. /// @param faliure 失败
  893. + (void)querySubjectItemRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  894. [self configRequestMethodJSON];
  895. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/student/querySubjectItem"];
  896. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  897. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  898. }
  899. #pragma mark ------ 趣纠课评价
  900. // /api-student/courseSchedule/selectReplied
  901. /// 查询评价详情
  902. /// @param post post
  903. /// @param courseGroupId 课程组编号
  904. /// @param courseScheduleId 课程编号
  905. /// @param success 成功
  906. /// @param faliure 失败
  907. + (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  908. [self configRequestMethodJSON];
  909. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/selectReplied"];
  910. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  911. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  912. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  913. [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
  914. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  915. }
  916. // /api-student/courseSchedule/replied
  917. /// 评价趣纠课
  918. /// @param post post
  919. /// @param courseScheduleId 课程编号
  920. /// @param courseGroupId 课程组编号
  921. /// @param studentReplied 评价内容
  922. /// @param score 评分
  923. /// @param success 成功
  924. /// @param faliure 失败
  925. + (void)accompanyCourseRepliedRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId courseGroupId:(NSString *)courseGroupId studentReplied:(NSString *)studentReplied score:(NSInteger)score success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  926. [self configRequestMethodJSON];
  927. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/replied"];
  928. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  929. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  930. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  931. [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
  932. [parm setValue:studentReplied forKey:@"studentReplied"];
  933. [parm setValue:@(score) forKey:@"score"];
  934. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  935. }
  936. #pragma mark ----- 课后作业
  937. // /api-student/homework/list
  938. /// 课后作业列表
  939. /// @param post post
  940. /// @param date 年月 格式:yyyy-MM
  941. /// @param submit 作业提交状态 0:否,1:是
  942. /// @param searchKey 搜索
  943. /// @param page 页数
  944. /// @param rows 条数
  945. /// @param success 成功
  946. /// @param faliure 失败
  947. + (void)homeworkListRequest:(NSString *)post date:(NSString *)date submit:(NSInteger)submit searchKey:(NSString *)searchKey page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  948. [self configRequestMethodJSON];
  949. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/homework/list"];
  950. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  951. [parm setValue:date forKey:@"date"];
  952. [parm setValue:@(submit) forKey:@"submit"];
  953. [parm setValue:searchKey forKey:@"search"];
  954. [parm setValue:@(page) forKey:@"page"];
  955. [parm setValue:@(rows) forKey:@"rows"];
  956. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  957. }
  958. // /api-student/homework/detail/{courseId}
  959. /// 趣纠课课后作业信息详情
  960. /// @param get get
  961. /// @param courseId 课程信息
  962. /// @param success 成功
  963. /// @param faliure 失败
  964. + (void)homeworkDetailRequest:(NSString *)get courseId:(NSString *)courseId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  965. NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-student/homework/detail",courseId];
  966. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  967. }
  968. // /api-student/homework/submit
  969. /// 作业提交
  970. /// @param post post
  971. /// @param courseScheduleId 作业提交
  972. /// @param attachment 作业内容
  973. /// @param success 成功
  974. /// @param faliure 失败
  975. + (void)homeSubmitAction:(NSString *)post courseScheduleId:(NSString *)courseScheduleId attachment:(NSString *)attachment success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  976. [self configRequestMethodJSON];
  977. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/homework/submit"];
  978. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  979. [parm setValue:courseScheduleId forKey:@"courseScheduleId"];
  980. [parm setValue:attachment forKey:@"submit"];
  981. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  982. }
  983. #pragma mark ----- 我的课程
  984. // /api-student/courseSchedule/queryStudentPracticeCourse
  985. /// 我的课程-趣纠课
  986. /// @param post post
  987. /// @param classMonth 月份 yyyy-MM
  988. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  989. /// @param subjectId 声部id
  990. /// @param page 页数
  991. /// @param rows 条数
  992. /// @param success 成功
  993. /// @param faliure 失败
  994. + (void)queryStudentPracticeCourse:(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 {
  995. [self configRequestMethodJSON];
  996. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryStudentPracticeCourse"];
  997. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  998. [parm setValue:classMonth forKey:@"classMonth"];
  999. [parm setValue:status forKey:@"status"];
  1000. [parm setValue:subjectId forKey:@"subjectId"];
  1001. [parm setValue:@(page) forKey:@"page"];
  1002. [parm setValue:@(rows) forKey:@"rows"];
  1003. [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
  1004. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1005. }
  1006. // /api-student/courseSchedule/queryStudentLiveCourse
  1007. /// 我的课程-直播课
  1008. /// @param post post
  1009. /// @param courseType LIVE | GROUP
  1010. /// @param classDate 月份 yyyy-MM
  1011. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  1012. /// @param subjectId 声部id
  1013. /// @param search 搜索
  1014. /// @param page 页数
  1015. /// @param rows 条数
  1016. /// @param success 成功
  1017. /// @param faliure 失败
  1018. + (void)queryMyLiveCourse:(NSString *)post courseType:(NSString *)courseType classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId search:(NSString *)search page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1019. [self configRequestMethodJSON];
  1020. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryStudentLiveCourse"];
  1021. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1022. [parm setValue:courseType forKey:@"courseType"];
  1023. [parm setValue:classDate forKey:@"classDate"];
  1024. [parm setValue:status forKey:@"courseState"];
  1025. [parm setValue:subjectId forKey:@"subjectId"];
  1026. [parm setValue:search forKey:@"search"];
  1027. [parm setValue:@(page) forKey:@"page"];
  1028. [parm setValue:@(rows) forKey:@"rows"];
  1029. [parm setValue:UserDefault(UIDKey) forKey:@"studentId"];
  1030. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1031. }
  1032. // /api-student/videoLesson/selectMyGroup
  1033. /// 视频课列表查询
  1034. /// @param post post
  1035. /// @param lessonSubject 声部
  1036. /// @param search 搜索
  1037. /// @param page 分页
  1038. /// @param rows 条数
  1039. /// @param success 成功
  1040. /// @param faliure 失败
  1041. + (void)videoLessonGroupRequest:(NSString *)post lessonSubject:(NSString *)lessonSubject search:(NSString *)search page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1042. [self configRequestMethodJSON];
  1043. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/videoLesson/selectMyGroup"];
  1044. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1045. [parm setValue:lessonSubject forKey:@"lessonSubject"];
  1046. [parm setValue:search forKey:@"search"];
  1047. [parm setValue:@(page) forKey:@"page"];
  1048. [parm setValue:@(rows) forKey:@"rows"];
  1049. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1050. }
  1051. // /api-student/courseSchedule/queryPianoClass
  1052. /// 我的课程-琴房课
  1053. /// @param post post
  1054. /// @param classMonth 月份 yyyy-MM
  1055. /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
  1056. /// @param subjectId 声部id
  1057. /// @param page 页数
  1058. /// @param rows 跳树
  1059. /// @param success 成功
  1060. /// @param faliure 失败
  1061. + (void)queryPianoClassRequest:(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 {
  1062. [self configRequestMethodJSON];
  1063. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/courseSchedule/queryPianoClass"];
  1064. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1065. [parm setValue:classMonth forKey:@"classMonth"];
  1066. [parm setValue:status forKey:@"status"];
  1067. [parm setValue:subjectId forKey:@"subjectId"];
  1068. [parm setValue:@(page) forKey:@"page"];
  1069. [parm setValue:@(rows) forKey:@"rows"];
  1070. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1071. }
  1072. #pragma mark ---- 首页-老师风采
  1073. // /api-student/teacher/stylePage
  1074. /// 首页获取老师风采
  1075. /// @param post post
  1076. /// @param page 分页
  1077. /// @param rows 条数
  1078. /// @param version version
  1079. /// @param success 成功
  1080. /// @param faliure 失败
  1081. + (void)homeQueryTeacherStyle:(NSString *)post page:(NSInteger)page rows:(NSInteger)rows version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1082. [self configRequestMethodJSON];
  1083. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/teacher/stylePage"];
  1084. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1085. [parm setValue:@(page) forKey:@"page"];
  1086. [parm setValue:@(rows) forKey:@"rows"];
  1087. [parm setValue:version forKey:@"version"];
  1088. [parm setValue:@"ios-student" forKey:@"platform"];
  1089. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1090. }
  1091. // /api-student/courseSchedule/queryLiveAndVideo
  1092. /// 首页-直播课&视频课
  1093. /// @param get get
  1094. /// @param success 成功
  1095. /// @param faliure 失败
  1096. + (void)homeQueryLiveAndVideo:(NSString *)get version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1097. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/queryLiveAndVideo"];
  1098. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1099. [parm setValue:version forKey:@"version"];
  1100. [parm setValue:@"ios-student" forKey:@"platform"];
  1101. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1102. }
  1103. // /api-student/music/album/list
  1104. /// 首页热门专辑
  1105. /// @param post post
  1106. /// @param page 分页
  1107. /// @param rows 条数
  1108. /// @param success 成功
  1109. /// @param faliure 失败
  1110. + (void)HomeHotAlbumRequest:(NSString *)post page:(NSInteger)page rows:(NSInteger)rows version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1111. [self configRequestMethodJSON];
  1112. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/album/list"];
  1113. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1114. [parm setValue:@(1) forKey:@"albumStatus"];
  1115. [parm setValue:@(page) forKey:@"page"];
  1116. [parm setValue:@(rows) forKey:@"rows"];
  1117. [parm setValue:version forKey:@"version"];
  1118. [parm setValue:@"ios-student" forKey:@"platform"];
  1119. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1120. }
  1121. // /api-cms/news/app/home
  1122. // 首页资讯
  1123. /// 首页banner、按钮、资讯
  1124. /// @param post post
  1125. /// @param version version
  1126. /// @param success 成功
  1127. /// @param faliure 失败
  1128. + (void)homeNewsList:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1129. [self configRequestMethodJSON];
  1130. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/news/app/home"];
  1131. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1132. [parm setValue:version forKey:@"version"];
  1133. [parm setValue:@"ios-student" forKey:@"platform"];
  1134. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1135. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1136. }
  1137. // /api-student/music/sheet/list
  1138. /// 首页精品曲目查询
  1139. /// @param post post
  1140. /// @param version version
  1141. /// @param success 成功
  1142. /// @param faliure 失败
  1143. + (void)homeQualityMusicListRequest:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1144. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/sheet/list"];
  1145. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1146. [parm setValue:@(NO) forKey:@"myself"];
  1147. [parm setValue:@"PASS" forKey:@"auditStatus"];
  1148. [parm setValue:@(1) forKey:@"page"];
  1149. [parm setValue:@(20) forKey:@"rows"];
  1150. [parm setValue:version forKey:@"version"];
  1151. [parm setValue:@"ios-student" forKey:@"platform"];
  1152. [parm setValue:@(1) forKey:@"exquisiteFlag"];
  1153. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1154. }
  1155. // /api-student/music/sheet/list
  1156. /// 首页推荐曲谱查询
  1157. /// @param post post
  1158. /// @param version version
  1159. /// @param success 成功
  1160. /// @param faliure 失败
  1161. + (void)homeMusicListRequest:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1162. [self configRequestMethodJSON];
  1163. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/sheet/list"];
  1164. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1165. [parm setValue:@(NO) forKey:@"myself"];
  1166. [parm setValue:@"PASS" forKey:@"auditStatus"];
  1167. [parm setValue:@(1) forKey:@"page"];
  1168. [parm setValue:@(21) forKey:@"rows"];
  1169. [parm setValue:version forKey:@"version"];
  1170. [parm setValue:@"ios-student" forKey:@"platform"];
  1171. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1172. }
  1173. // /api-student/music/sheet/appMusicSheet
  1174. /// 首页曲目数据
  1175. /// @param post post
  1176. /// @param version version
  1177. /// @param success 成功
  1178. /// @param faliure 失败
  1179. + (void)homeAppMusicSheetRequest:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1180. [self configRequestMethodJSON];
  1181. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/sheet/appMusicSheet"];
  1182. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1183. [parm setValue:@(NO) forKey:@"myself"];
  1184. [parm setValue:@"PASS" forKey:@"auditStatus"];
  1185. [parm setValue:@(1) forKey:@"page"];
  1186. [parm setValue:@(21) forKey:@"rows"];
  1187. [parm setValue:version forKey:@"version"];
  1188. [parm setValue:@"ios-student" forKey:@"platform"];
  1189. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1190. }
  1191. // /api-student/teacher/queryHotTeacherList
  1192. /// 推荐老师列表
  1193. /// @param get get
  1194. /// @param success 成功
  1195. /// @param faliure 失败
  1196. + (void)queryHotTeacherListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1197. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/teacher/queryHotTeacherList"];
  1198. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1199. }
  1200. // liveRoom/queryTeacherLivingList
  1201. /// 查询临时直播老师列表
  1202. /// @param get get
  1203. /// @param success 成功
  1204. /// @param faliure 失败
  1205. + (void)queryTeacherLivingListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1206. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/liveRoom/queryTeacherLivingList"];
  1207. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1208. }
  1209. // /api-cms/news/page
  1210. /// 资讯分页查询
  1211. /// @param post post
  1212. /// @param page 页数
  1213. /// @param rows 条数
  1214. /// @param version version
  1215. /// @param success 成功
  1216. /// @param faliure 失败
  1217. + (void)informationListRequest:(NSString *)post page:(NSInteger)page rows:(NSInteger)rows version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1218. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/news/page"];
  1219. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1220. [parm setValue:@"STUDENT" forKey:@"platformType"];
  1221. [parm setValue:@"1" forKey:@"type"];
  1222. [parm setValue:@"1" forKey:@"status"];
  1223. [parm setValue:version forKey:@"version"];
  1224. [parm setValue:@"ios-student" forKey:@"platform"];
  1225. [parm setValue:@(page) forKey:@"page"];
  1226. [parm setValue:@(rows) forKey:@"rows"];
  1227. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1228. }
  1229. #pragma mark ---- 地址服务
  1230. // /api-mall-portal/member/address/list
  1231. /// 获取收货地址
  1232. /// @param get get
  1233. /// @param success 成功
  1234. /// @param faliure 失败
  1235. + (void)companyAddressListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1236. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/list"];
  1237. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1238. }
  1239. // /api-mall-portal/member/address/add
  1240. /// 添加收货地址
  1241. /// @param post post
  1242. /// @param name 收货人名称
  1243. /// @param phoneNumber 电话号码
  1244. /// @param defaultStatus 是否默认收货地址
  1245. /// @param detailAddress 详细地址
  1246. /// @param province 省份
  1247. /// @param city 城市
  1248. /// @param region 区
  1249. /// @param postCode 邮编
  1250. /// @param success 成功
  1251. /// @param faliure 失败
  1252. + (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 {
  1253. [self configRequestMethodJSON];
  1254. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/add"];
  1255. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1256. [parm setValue:name forKey:@"name"];
  1257. [parm setValue:phoneNumber forKey:@"phoneNumber"];
  1258. [parm setValue:@(defaultStatus) forKey:@"defaultStatus"];
  1259. [parm setValue:detailAddress forKey:@"detailAddress"];
  1260. [parm setValue:province forKey:@"province"];
  1261. [parm setValue:city forKey:@"city"];
  1262. [parm setValue:region forKey:@"region"];
  1263. [parm setValue:postCode forKey:@"postCode"];
  1264. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1265. }
  1266. // /api-mall-portal/member/address/{id}
  1267. /// 获取地址详情
  1268. /// @param get get
  1269. /// @param addressId 地址id
  1270. /// @param success 成功
  1271. /// @param faliure 失败
  1272. + (void)queryAddressDetailRequst:(NSString *)get addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure; {
  1273. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/",addressId];
  1274. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1275. }
  1276. // 修改收货地址
  1277. // /mall-portal-server/member/address/update/{id}
  1278. /// 修改收货地址
  1279. /// @param post post
  1280. /// @param addressId 地址id
  1281. /// @param name 收货人名称
  1282. /// @param phoneNumber 电话号码
  1283. /// @param defaultStatus 是否默认收货地址
  1284. /// @param detailAddress 详细地址
  1285. /// @param province 省份
  1286. /// @param city 城市
  1287. /// @param region 区
  1288. /// @param postCode 邮编
  1289. /// @param success 成功
  1290. /// @param faliure 失败
  1291. + (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 {
  1292. [self configRequestMethodJSON];
  1293. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/update/",addressId];
  1294. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1295. [parm setValue:name forKey:@"name"];
  1296. [parm setValue:phoneNumber forKey:@"phoneNumber"];
  1297. [parm setValue:@(defaultStatus) forKey:@"defaultStatus"];
  1298. [parm setValue:detailAddress forKey:@"detailAddress"];
  1299. [parm setValue:province forKey:@"province"];
  1300. [parm setValue:city forKey:@"city"];
  1301. [parm setValue:region forKey:@"region"];
  1302. [parm setValue:postCode forKey:@"postCode"];
  1303. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1304. }
  1305. // /api-mall-portal/member/address/delete/{id}
  1306. /// 删除收货地址
  1307. /// @param post post
  1308. /// @param addressId 地址id
  1309. /// @param success 成功
  1310. /// @param faliure 失败
  1311. + (void)deleteAddressRequest:(NSString *)post addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1312. [self configRequestMethodJSON];
  1313. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/delete/",addressId];
  1314. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1315. }
  1316. #pragma mark ------- 消息中心
  1317. // /api-student/sysMessage/list
  1318. /// 消息列表
  1319. /// @param post post
  1320. /// @param group 消息组 SYSTEM:系统消息 COURSE:课程信息 NOTICE:公告
  1321. /// @param page 分页
  1322. /// @param rows 条数
  1323. /// @param success 成功
  1324. /// @param faliure 失败
  1325. + (void)sysMessageListRequest:(NSString *)post group:(NSString *)group page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1326. [self configRequestMethodJSON];
  1327. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/sysMessage/list"];
  1328. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1329. [parm setValue:group forKey:@"group"];
  1330. [parm setValue:@(page) forKey:@"page"];
  1331. [parm setValue:@(rows) forKey:@"rows"];
  1332. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1333. }
  1334. // /api-student/sysMessage/queryCountOfUnread
  1335. /// 获取未读消息条数
  1336. /// @param get get
  1337. /// @param success 成功
  1338. /// @param faliure 失败
  1339. + (void)queryCountOfUnreadRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1340. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/sysMessage/queryCountOfUnread"];
  1341. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1342. }
  1343. // /api-student/sysMessage/setRead/{id}
  1344. /// 设置消息已读
  1345. /// @param post post
  1346. /// @param messageId 消息id
  1347. /// @param success 成功
  1348. /// @param faliure 失败
  1349. + (void)setReadMessage:(NSString *)post messageId:(NSString *)messageId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1350. [self configRequestMethodJSON];
  1351. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-student/sysMessage/setRead/",messageId];
  1352. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1353. }
  1354. // /api-student/sysMessage/batchSetRead
  1355. /// 消息一键已读
  1356. /// @param post post
  1357. /// @param success 成功
  1358. /// @param faliure 失败
  1359. + (void)batchSetReadRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1360. [self configRequestMethodJSON];
  1361. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/sysMessage/batchSetRead"];
  1362. [self request:post andWithUrl:url and:nil success:success faliure:faliure];
  1363. }
  1364. #pragma mark ------ 网络教室相关改造
  1365. // /room/join
  1366. /// 加入网络教室
  1367. /// @param post post
  1368. /// @param roomId roomId
  1369. /// @param success 成功
  1370. /// @param faliure 失败
  1371. + (void)roomJoinRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1372. [self configRequestMethodJSON];
  1373. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/join"];
  1374. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1375. [parm setValue:roomId forKey:@"roomId"];
  1376. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1377. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1378. }
  1379. // /room/joinRoomFailure
  1380. /// 加入网络教室失败回调
  1381. /// @param post post
  1382. /// @param roomId roomId
  1383. /// @param success 成功
  1384. /// @param faliure 失败
  1385. + (void)joinRoomFailureRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1386. [self configRequestMethodJSON];
  1387. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/joinRoomFailure"];
  1388. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1389. [parm setValue:roomId forKey:@"roomId"];
  1390. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1391. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1392. }
  1393. // /room/leave
  1394. /// 退出网络教室
  1395. /// @param post post
  1396. /// @param roomId roomID
  1397. /// @param success 成功
  1398. /// @param faliure 失败
  1399. + (void)roomLeaveRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1400. [self configRequestMethodJSON];
  1401. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/leave"];
  1402. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1403. [parm setValue:roomId forKey:@"roomId"];
  1404. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1405. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1406. }
  1407. // /room/device/approve
  1408. /// 学员同意打开,麦克风、摄像头等设备
  1409. /// @param post post json
  1410. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT
  1411. /// @param roomId roomId
  1412. /// @param success 成功
  1413. /// @param faliure 失败
  1414. + (void)deviceApprove:(NSString *)post deviceType:(NSString *)deviceType roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1415. [self configRequestMethodJSON];
  1416. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/approve"];
  1417. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1418. [parm setValue:roomId forKey:@"roomId"];
  1419. [parm setValue:deviceType forKey:@"deviceType"];
  1420. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1421. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1422. }
  1423. // /room/device/reject
  1424. /// 学员同意打开,麦克风、摄像头等设备
  1425. /// @param post post json
  1426. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT
  1427. /// @param roomId roomId
  1428. /// @param success 成功
  1429. /// @param faliure 失败
  1430. + (void)deviceReject:(NSString *)post deviceType:(NSString *)deviceType roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1431. [self configRequestMethodJSON];
  1432. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/reject"];
  1433. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1434. [parm setValue:roomId forKey:@"roomId"];
  1435. [parm setValue:deviceType forKey:@"deviceType"];
  1436. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1437. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1438. }
  1439. // /room/musicSheetDownNotify
  1440. /// 学员伴奏下载状态回调
  1441. /// @param post post
  1442. /// @param roomId roomId
  1443. /// @param status 伴奏下载状态(1下载成功0下载中2下载失败)
  1444. /// @param accompanimentId 伴奏编号
  1445. /// @param success 成功
  1446. /// @param faliure 失败
  1447. + (void)musicSheetDownNotifyRequest:(NSString *)post roomId:(NSString *)roomId status:(NSString *)status accompanimentId:(NSString *)accompanimentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1448. [self configRequestMethodJSON];
  1449. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/musicSheetDownNotify"];
  1450. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1451. [parm setValue:roomId forKey:@"roomId"];
  1452. [parm setValue:status forKey:@"status"];
  1453. [parm setValue:accompanimentId forKey:@"accompanimentId"];
  1454. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1455. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1456. }
  1457. // /room/device/sync
  1458. /// 设备状态同步
  1459. /// @param post post
  1460. /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP
  1461. /// @param roomId roomId
  1462. /// @param enable 是否开启
  1463. /// @param success 成功
  1464. /// @param faliure 失败
  1465. + (void)roomDeviceSync:(NSString *)post deviceType:(NSString *)deviceType roomId:(NSString *)roomId enable:(BOOL)enable success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1466. [self configRequestMethodJSON];
  1467. NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/sync"];
  1468. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1469. [parm setValue:roomId forKey:@"roomId"];
  1470. [parm setValue:deviceType forKey:@"deviceType"];
  1471. [parm setValue:@(enable) forKey:@"enable"];
  1472. [parm setValue:@"STUDENT" forKey:@"clientType"];
  1473. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1474. }
  1475. // 获取白板房间数据
  1476. /// 获取白板房间信息
  1477. /// @param post post
  1478. /// @param url url
  1479. /// @param parm 参数
  1480. /// @param success 成功
  1481. /// @param faliure 失败
  1482. + (void)getWhiteBoardRoomMessage:(NSString *)post url:(NSString *)url parm:(NSDictionary *)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1483. [self configRequestMethodForm];
  1484. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1485. }
  1486. // /api-student/teacher/starOrUnStar
  1487. /// 关注/取消关注
  1488. /// @param get get
  1489. /// @param userId 老师ID
  1490. /// @param starStatus 状态 0 取消关注 1 关注
  1491. /// @param success 成功
  1492. /// @param faliure 失败
  1493. + (void)starOrUnStarRequest:(NSString *)get userId:(NSString *)userId starStatus:(NSString *)starStatus success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1494. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/teacher/starOrUnStar"];
  1495. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1496. [parm setValue:userId forKey:@"userId"];
  1497. [parm setValue:starStatus forKey:@"starStatus"];
  1498. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1499. }
  1500. // /api-student/sysConfig/queryByParamName
  1501. /// 查询配置参数
  1502. /// @param get get
  1503. /// @param paramName 参数
  1504. /// @param success 成功
  1505. /// @param faliure 失败
  1506. + (void)queryByParamName:(NSString *)get paramName:(NSString *)paramName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1507. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/sysConfig/queryByParamName"];
  1508. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1509. [parm setValue:paramName forKey:@"paramName"];
  1510. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1511. }
  1512. // /api-student/activity/checkReceiveReward
  1513. /// 查询是否reword弹窗
  1514. /// @param get get
  1515. /// @param success 成功
  1516. /// @param faliure 失败
  1517. + (void)checkReceiveRewardRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1518. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/activity/checkReceiveReward"];
  1519. [self request:get andWithUrl:url and:nil success:success faliure:faliure];
  1520. }
  1521. // api-student/student/queryUserById 参数 rongCloudUserId
  1522. /// 查询指定学员信息-融云token
  1523. /// @param get get
  1524. /// @param rongCloudUserId rongCloudUserId
  1525. /// @param success 成功
  1526. /// @param faliure 失败
  1527. + (void)queryUserById:(NSString *)get rongCloudUserId:(NSString *)rongCloudUserId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1528. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/student/queryUserById"];
  1529. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1530. [parm setValue:rongCloudUserId forKey:@"rongCloudUserId"];
  1531. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1532. }
  1533. // /api-student/music/sheet/user/practice
  1534. /// 查看指定最近练习记录
  1535. /// @param get get
  1536. /// @param userId 用户id
  1537. /// @param success 成功
  1538. /// @param faliure 失败
  1539. + (void)queryUserRecentRequest:(NSString *)get userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1540. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/music/sheet/user/practice"];
  1541. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1542. [parm setValue:userId forKey:@"userId"];
  1543. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1544. }
  1545. // ticket 查询
  1546. // /api-student/tenantActivationCode/page
  1547. /// 查询ticket
  1548. /// @param post post
  1549. /// @param success 成功
  1550. /// @param faliure 失败
  1551. + (void)tenantActivationCodeRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1552. [self configRequestMethodJSON];
  1553. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/tenantActivationCode/page"];
  1554. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1555. [parm setValue:@(1) forKey:@"page"];
  1556. [parm setValue:@(10) forKey:@"rows"];
  1557. [parm setValue:@(NO) forKey:@"activationStatus"];
  1558. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1559. }
  1560. // tenantGroupAlbum/albumList
  1561. /// 查询学生可购买专辑信息
  1562. /// @param get get
  1563. /// @param success 成功
  1564. /// @param faliure 失败
  1565. + (void)userTenantAlbumListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1566. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/tenantGroupAlbum/albumList"];
  1567. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1568. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1569. }
  1570. // /api-student/tenantGroupAlbum/buyAlbumInfoDetail
  1571. /// 查询专辑详情
  1572. /// @param get get
  1573. /// @param tenantAlbumId 专辑id
  1574. /// @param success 成功
  1575. /// @param faliure 失败
  1576. + (void)userBuyAlbumInfoDetailRequest:(NSString *)get tenantAlbumId:(NSString *)tenantAlbumId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1577. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/tenantGroupAlbum/buyAlbumInfoDetail"];
  1578. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1579. [parm setValue:tenantAlbumId forKey:@"tenantAlbumId"];
  1580. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1581. }
  1582. // userTenantAlbumRecord/lastRecord
  1583. /// 查询专辑记录
  1584. /// @param get get
  1585. /// @param success 成功
  1586. /// @param faliure 失败
  1587. + (void)userTenantAlbumRecordRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1588. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/userTenantAlbumRecord/lastRecord"];
  1589. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1590. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1591. }
  1592. /// 查询配置客服电话和手机号
  1593. /// @param post post
  1594. /// @param success 成功
  1595. /// @param faliure 失败
  1596. + (void)queryConfigRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1597. [self configRequestMethodJSON];
  1598. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/queryConfig"];
  1599. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1600. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1601. }
  1602. #pragma mark ---- 修改密码新交互
  1603. // /aip-auth/user/checkPassword
  1604. /// 校验密码
  1605. /// @param post psot
  1606. /// @param password password
  1607. /// @param success 成功
  1608. /// @param faliure 失败
  1609. + (void)checkPasswordRequest:(NSString *)post password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1610. [self configRequestMethodJSON];
  1611. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/checkPassword"];
  1612. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1613. [parm setValue:password forKey:@"password"];
  1614. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1615. }
  1616. // user/checkVerityCode
  1617. /// 校验验证码
  1618. /// @param post post
  1619. /// @param code code
  1620. /// @param success 成功
  1621. /// @param faliure 失败
  1622. + (void)checkVerityCodeRequest:(NSString *)post code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1623. [self configRequestMethodJSON];
  1624. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/checkVerityCode"];
  1625. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1626. [parm setValue:code forKey:@"code"];
  1627. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1628. }
  1629. // user/setPassword
  1630. /// 设置用户密码
  1631. /// @param post post
  1632. /// @param password password
  1633. /// @param code code
  1634. /// @param success 成功
  1635. /// @param faliure 失败
  1636. + (void)setPasswordRequest:(NSString *)post password:(NSString *)password code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1637. [self configRequestMethodForm];
  1638. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1639. [parm setValue:password forKey:@"password"];
  1640. [parm setValue:UserDefault(UIDKey) forKey:@"id"];
  1641. [parm setValue:code forKey:@"code"];
  1642. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setPassword"];
  1643. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1644. }
  1645. #pragma mark ------ 草稿
  1646. // 测评记录查询详情
  1647. // userMusic/musicPracticeRecord
  1648. /// 根据测评记录查询作品相关信息
  1649. /// @param get get
  1650. /// @param recordId 测评记录ID
  1651. /// @param success 成功
  1652. /// @param faliure 失败
  1653. + (void)musicPracticeRecordRequest:(NSString *)get recordId:(NSString *)recordId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1654. NSString *url = [NSString stringWithFormat:@"%@%@%@/%@", hostURL,@"/api-student", @"/userMusic/musicPracticeRecord",recordId];
  1655. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1656. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1657. }
  1658. // edu-app/userMusic/save
  1659. /// 保存草稿、发布作品
  1660. /// @param post post
  1661. /// @param jsonConfig json参数
  1662. /// @param img 图片url
  1663. /// @param videoUrl 附件地址
  1664. /// @param accompanyUrl 伴奏地址
  1665. /// @param desc 描述
  1666. /// @param type 草稿 DRAFT 作品FORMAL,
  1667. /// @param musicPracticeRecordId 云教练id
  1668. /// @param videoImg 视频封面
  1669. /// @param success 成功
  1670. /// @param faliure 失败
  1671. + (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 {
  1672. [self configRequestMethodJSON];
  1673. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/userMusic/save"];
  1674. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1675. [parm setValue:jsonConfig forKey:@"jsonConfig"];
  1676. [parm setValue:img forKey:@"img"];
  1677. [parm setValue:videoUrl forKey:@"videoUrl"];
  1678. [parm setValue:accompanyUrl forKey:@"accompanyUrl"];
  1679. [parm setValue:desc forKey:@"desc"];
  1680. [parm setValue:type forKey:@"type"];
  1681. [parm setValue:videoImg forKey:@"videoImg"];
  1682. [parm setValue:musicPracticeRecordId forKey:@"musicPracticeRecordId"];
  1683. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1684. }
  1685. // edu-app/userMusic/page
  1686. /// 我的作品分页查询
  1687. /// @param post post json
  1688. /// @param type 草稿 DRAFT 作品FORMAL
  1689. /// @param keyword 关键字
  1690. /// @param fileType 文件类型
  1691. /// @param page 分页
  1692. /// @param rows 条数
  1693. /// @param success 成功
  1694. /// @param faliure 失败
  1695. + (void)userMusicPageRequest:(NSString *)post type:(NSString *)type keyword:(NSString *)keyword fileType:(NSString *)fileType page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1696. [self configRequestMethodJSON];
  1697. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/userMusic/page"];
  1698. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1699. [parm setValue:@(page) forKey:@"page"];
  1700. [parm setValue:@(rows) forKey:@"rows"];
  1701. [parm setValue:type forKey:@"type"];
  1702. [parm setValue:keyword forKey:@"keyword"];
  1703. [parm setValue:fileType forKey:@"fileType"];
  1704. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1705. }
  1706. // edu-app/userMusic/remove
  1707. /// 作品删除
  1708. /// @param post post form
  1709. /// @param musicId 作品id
  1710. /// @param success 成功
  1711. /// @param faliure 失败
  1712. + (void)userMusicRemoveRequest:(NSString *)post musicId:(NSString *)musicId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1713. [self configRequestMethodForm];
  1714. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/userMusic/remove"];
  1715. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1716. [parm setValue:musicId forKey:@"id"];
  1717. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1718. }
  1719. /// 更新极光推送设备id
  1720. /// @param post post
  1721. /// @param pushDeviceId 推送id
  1722. /// @param access_token token
  1723. /// @param success 成功
  1724. /// @param faliure 失败
  1725. + (void)updateRemotePushInfoRequest:(NSString *)post pushDeviceId:(NSString *)pushDeviceId access_token:(NSString *)access_token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1726. [self configRequestMethodJSONWithToken:access_token];
  1727. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-student", @"/user/updateImUserInfo"];
  1728. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1729. [parm setValue:pushDeviceId forKey:@"imDeviceId"];
  1730. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1731. }
  1732. #pragma mark --- 意见反馈
  1733. // api-student/sysSuggestionV2/save
  1734. /**
  1735. 意见反馈
  1736. @param post post
  1737. @param content 内容
  1738. @param attachmentUrls 附件
  1739. @param success 成功
  1740. @param faliure 失败
  1741. */
  1742. + (void)suggestionAddRequest:(NSString *)post content:(NSString *)content attachmentUrls:(NSString *)attachmentUrls suggestionTypeId:(NSString *)suggestionTypeId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1743. [self configRequestMethodJSON];
  1744. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1745. [parm setValue:content forKey:@"content"];
  1746. [parm setValue:UserDefault(PHONEKEY) forKey:@"mobileNo"];
  1747. [parm setValue:attachmentUrls forKey:@"attachmentUrls"];
  1748. [parm setValue:suggestionTypeId forKey:@"suggestionTypeId"];
  1749. [parm setValue:@"APP" forKey:@"type"];
  1750. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/sysSuggestionV2/save"];
  1751. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1752. }
  1753. // /sysSuggestionType/page
  1754. /// 查询平台反馈意见类型
  1755. /// @param post post
  1756. /// @param success 成功
  1757. /// @param faliure 失败
  1758. + (void)sysSuggestionTypeRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1759. [self configRequestMethodJSON];
  1760. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/sysSuggestionType/page"];
  1761. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1762. [parm setValue:@(1) forKey:@"page"];
  1763. [parm setValue:@(100) forKey:@"rows"];
  1764. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1765. }
  1766. // /sysSuggestionV2/page
  1767. /// 反馈列表
  1768. /// @param post post
  1769. /// @param suggestionType 建议类型
  1770. /// @param startTime 开始时间
  1771. /// @param endTime 结束时间
  1772. /// @param page page
  1773. /// @param rows row
  1774. /// @param success 成功
  1775. /// @param faliure 失败
  1776. + (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 {
  1777. [self configRequestMethodJSON];
  1778. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/sysSuggestionV2/page"];
  1779. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1780. [parm setValue:@(page) forKey:@"page"];
  1781. [parm setValue:@(rows) forKey:@"rows"];
  1782. [parm setValue:suggestionType forKey:@"suggestionTypeId"];
  1783. [parm setValue:startTime forKey:@"startTime"];
  1784. [parm setValue:endTime forKey:@"endTime"];
  1785. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1786. }
  1787. #pragma mark ----- Log 上报功能
  1788. // sysExceptionLog/save
  1789. /// Log日志上报
  1790. /// @param post post
  1791. /// @param access_token token
  1792. /// @param logArray 上报内容
  1793. /// @param success 成功
  1794. /// @param faliure 失败
  1795. + (void)sysExceptionLogUpdate:(NSString *)post token:(NSString *)access_token logArray:(NSMutableArray *)logArray success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1796. [self configRequestMethodJSONWithToken:access_token];
  1797. NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL,@"/api-auth", @"/sysExceptionLog/save"];
  1798. [self request:post andWithUrl:url and:logArray success:success faliure:faliure];
  1799. }
  1800. // 客服相关
  1801. // GET /api-student/student/updateUserCustomerService
  1802. /// 查询客服ID
  1803. /// @param get get
  1804. /// @param success 成功
  1805. /// @param faliure 失败
  1806. + (void)updateUserCustomerServiceRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1807. NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-student/student/updateUserCustomerService"];
  1808. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1809. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1810. }
  1811. #pragma mark ----- 约课
  1812. // /api-student/open/subject/queryPage
  1813. /// 查询声部信息
  1814. /// @param get get
  1815. /// @param success 成功
  1816. /// @param faliure 失败
  1817. + (void)subjectQueryPageRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1818. [self configRequestHeader];
  1819. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/open/subject/queryPage"];
  1820. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1821. [parm setValue:@"list" forKey:@"queryType"];
  1822. [parm setValue:@(1) forKey:@"page"];
  1823. [parm setValue:@(9999) forKey:@"rows"];
  1824. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1825. }
  1826. // courseSchedule/teacherList
  1827. /// 约课老师列表
  1828. /// @param post post json
  1829. /// @param courseType 课程类型 VIP / PRACTICE
  1830. /// @param subjectId 声部ID
  1831. /// @param search 搜索
  1832. /// @param recentFree 是否最近30天有空
  1833. /// @param sortField 排序类型
  1834. /// @param sortRule 规则
  1835. /// @param page 分页
  1836. /// @param rows 条数
  1837. /// @param success 成功
  1838. /// @param faliure 失败
  1839. + (void)findTeacherList:(NSString *)post courseType:(NSString *)courseType subjectId:(NSString *)subjectId search:(NSString *)search recentFree:(BOOL)recentFree sortField:(NSString *)sortField sortRule:(NSString *)sortRule page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1840. [self configRequestMethodJSON];
  1841. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/queryTeacherList"];
  1842. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1843. [parm setValue:@(page) forKey:@"page"];
  1844. [parm setValue:@(rows) forKey:@"rows"];
  1845. [parm setValue:courseType forKey:@"courseType"];
  1846. [parm setValue:subjectId forKey:@"subjectId"];
  1847. [parm setValue:search forKey:@"search"];
  1848. [parm setValue:sortField forKey:@"sortField"];
  1849. [parm setValue:sortRule forKey:@"sortRule"];
  1850. if (recentFree) {
  1851. [parm setValue:@(recentFree) forKey:@"recentFreeTime"];
  1852. }
  1853. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1854. }
  1855. // api-student/videoLesson/selectGroup
  1856. /// 视频课列表查询
  1857. /// @param post post
  1858. /// @param lessonSubject 课程声部
  1859. /// @param search 搜索
  1860. /// @param page 分页
  1861. /// @param rows 条数
  1862. /// @param success 成功
  1863. /// @param faliure 失败
  1864. + (void)videoLessonSelectGroupRequest:(NSString *)post lessonSubject:(NSString *)lessonSubject search:(NSString *)search page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1865. [self configRequestMethodJSON];
  1866. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/videoLesson/selectGroup"];
  1867. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1868. [parm setValue:@(page) forKey:@"page"];
  1869. [parm setValue:@(rows) forKey:@"rows"];
  1870. [parm setValue:search forKey:@"search"];
  1871. [parm setValue:lessonSubject forKey:@"lessonSubject"];
  1872. [parm setValue:@"ios-student" forKey:@"platform"];
  1873. NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
  1874. [parm setValue:currentVersion forKey:@"version"];
  1875. [parm setValue:@(NO) forKey:@"myself"];
  1876. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1877. }
  1878. // /courseGroup/queryPageCourseGroup
  1879. /// 查询直播课
  1880. /// @param post post
  1881. /// @param courseType LIVE、GROUP
  1882. /// @param search 搜索
  1883. /// @param subjectId 声部ID
  1884. /// @param page 分页
  1885. /// @param rows 条数
  1886. /// @param success 成功
  1887. /// @param faliure 失败
  1888. + (void)queryLiveCourseGroupRequest:(NSString *)post courseType:(NSString *)courseType search:(NSString *)search subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1889. [self configRequestMethodJSON];
  1890. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseGroup/queryPageCourseGroup"];
  1891. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1892. [parm setValue:courseType forKey:@"courseType"];
  1893. [parm setValue:search forKey:@"search"];
  1894. [parm setValue:@(page) forKey:@"page"];
  1895. [parm setValue:@(rows) forKey:@"rows"];
  1896. [parm setValue:search forKey:@"search"];
  1897. [parm setValue:subjectId forKey:@"subjectId"];
  1898. [parm setValue:@"APPLY" forKey:@"groupStatus"];
  1899. [parm setValue:@"ios-student" forKey:@"platform"];
  1900. NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
  1901. [parm setValue:currentVersion forKey:@"version"];
  1902. [parm setValue:@(NO) forKey:@"myself"];
  1903. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1904. }
  1905. #pragma mark ---- 我的课程组
  1906. // courseGroup/myCourseGroup
  1907. /// 我的课程组
  1908. /// @param post post
  1909. /// @param courseType 课程类型 VIP、PRACTICE
  1910. /// @param search 搜索关键字
  1911. /// @param subjectId 声部ID
  1912. /// @param status 课程组状态
  1913. /// @param success 成功
  1914. /// @param faliure 失败
  1915. + (void)myCourseGroupRequest:(NSString *)post courseType:(NSString *)courseType search:(NSString *)search subjectId:(NSString *)subjectId status:(NSString *)status success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1916. [self configRequestMethodJSON];
  1917. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseGroup/myCourseGroup"];
  1918. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1919. [parm setValue:courseType forKey:@"courseType"];
  1920. [parm setValue:search forKey:@"search"];
  1921. [parm setValue:subjectId forKey:@"subjectId"];
  1922. [parm setValue:status forKey:@"status"];
  1923. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1924. }
  1925. // courseGroup/getCourseGroup
  1926. /// 查询课程组详情
  1927. /// @param post post
  1928. /// @param courseGroupId 课程组编号
  1929. /// @param success 成功
  1930. /// @param faliure 失败
  1931. + (void)getCourseGroupDetailRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1932. [self configRequestMethodForm];
  1933. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseGroup/getCourseGroup"];
  1934. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1935. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  1936. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1937. }
  1938. // courseGroup/queryCourseInfo
  1939. /// 查询课程详情头部信息
  1940. /// @param get get
  1941. /// @param courseGroupId 课程组详情
  1942. /// @param success 成功
  1943. /// @param faliure 失败
  1944. + (void)getCourseGroupInfoRequest:(NSString *)get courseGroupId:(NSString *)courseGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1945. [self configRequestHeader];
  1946. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseGroup/queryCourseInfo"];
  1947. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1948. [parm setValue:courseGroupId forKey:@"groupId"];
  1949. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1950. }
  1951. // /courseSchedule/list
  1952. /// 查询课程组关联课程
  1953. /// @param post post
  1954. /// @param courseGroupId 课程组编号
  1955. /// @param classMonth 年月
  1956. /// @param attendanceStatus 考勤状态
  1957. /// @param status 课程状态
  1958. /// @param success 成功
  1959. /// @param faliure 失败
  1960. + (void)courseScheduleListRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId classMonth:(NSString *)classMonth attendanceStatus:(NSString *)attendanceStatus courseStatus:(NSString *)status success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1961. [self configRequestMethodJSON];
  1962. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseSchedule/list"];
  1963. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1964. [parm setValue:courseGroupId forKey:@"courseGroupId"];
  1965. [parm setValue:classMonth forKey:@"classMonth"];
  1966. [parm setValue:attendanceStatus forKey:@"attendanceStatus"];
  1967. [parm setValue:status forKey:@"status"];
  1968. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1969. }
  1970. // /courseGroup/queryStudentByGroupId
  1971. /// 查询课程组关联学生
  1972. /// @param post post
  1973. /// @param courseGroupId 课程组ID
  1974. /// @param success 成功
  1975. /// @param faliure 失败
  1976. + (void)queryStudentByGroupIdRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1977. [self configRequestMethodForm];
  1978. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/courseGroup/queryStudentByGroupId"];
  1979. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1980. [parm setValue:courseGroupId forKey:@"groupId"];
  1981. [self request:post andWithUrl:url and:parm success:success faliure:faliure];
  1982. }
  1983. // index/summary
  1984. /// 首页统计信息查询
  1985. /// @param get get
  1986. /// @param success 成功
  1987. /// @param faliure 失败
  1988. + (void)homeSummaryRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
  1989. [self configRequestHeader];
  1990. NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-student/index/summary"];
  1991. NSMutableDictionary *parm = [NSMutableDictionary dictionary];
  1992. [self request:get andWithUrl:url and:parm success:success faliure:faliure];
  1993. }
  1994. @end