KSNetworkingManager.m 84 KB

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