KSNetworkingManager.m 135 KB

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