// // KSNetworkingManager.m // KulexiuForTeacher // // Created by Kyle on 2022/3/17. // #import "KSNetworkingManager.h" #import "KeyChainTools.h" #import "LoginViewController.h" #import "AppDelegate.h" #import "JPUSHService.h" #import "CustomNavViewController.h" @implementation KSNetworkingManager // 认证相关 + (void)configCertConfig { [VoNetworking configCertificatePath:CERT_PATH baseHost:hostURL needAuth:SSL_AUTH]; } + (void)addHeader:(NSString *)headValue forKey:(NSString *)headKey { [[VoNetworking sharedManager] addHttpHeader:headValue forKey:headKey]; } + (void)configRequestHeader { if (![NSString isEmptyString:UserDefault(TokenKey)]) { [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), UserDefault(TokenKey)]}]; } NSInteger tenantId = [UserDefaultObjectForKey(TENANT_ID) integerValue]; if (tenantId > 0) { [[VoNetworking sharedManager] addHttpHeader:[NSString stringWithFormat:@"%zd", tenantId] forKey:@"coopId"]; } } + (void)configRequestFormHeaderWithToken:(NSString *)token { if (![NSString isEmptyString:token]) { [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), token], @"Content-Type":@"application/x-www-form-urlencoded"}]; } else if (![NSString isEmptyString:UserDefault(TokenKey)]) { [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), UserDefault(TokenKey)], @"Content-Type":@"application/x-www-form-urlencoded"}]; } else { [[VoNetworking sharedManager] configHttpHeader:@{@"Content-Type":@"application/x-www-form-urlencoded"}]; } NSInteger tenantId = [UserDefaultObjectForKey(TENANT_ID) integerValue]; if (tenantId > 0) { [[VoNetworking sharedManager] addHttpHeader:[NSString stringWithFormat:@"%zd", tenantId] forKey:@"coopId"]; } } + (void)clearRequestHeader { [[VoNetworking sharedManager] removeHeaderKey]; } // 设置表单提交方式 + (void)configRequestMethodForm { [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer]; [self configRequestFormHeaderWithToken:nil]; } + (void)configRequestMethodFormWithToken:(NSString *)token { [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFHTTPRequestSerializer serializer]; [self configRequestFormHeaderWithToken:token]; } // 设置json提交方式 + (void)configRequestMethodJSON { [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFJSONRequestSerializer serializer]; [[VoNetworking sharedManager] configHttpHeader:@{@"Content-Type":@"application/json"}]; [self configRequestHeader]; } // 设置json提交方式 + (void)configRequestMethodJSONWithToken:(NSString *)token { [VoNetworking sharedManager].httpSessionManager.requestSerializer = [AFJSONRequestSerializer serializer]; [[VoNetworking sharedManager] configHttpHeader:@{@"Content-Type":@"application/json"}]; if (![NSString isEmptyString:token]) { [[VoNetworking sharedManager] configHttpHeader:@{@"Authorization":[NSString stringWithFormat:@"%@ %@", UserDefault(Token_type), token]}]; } } + (NSString *)returnNoContainGroupId:(NSString *)groupId { if (![NSString isEmptyString:groupId]) { if ([groupId containsString:@"S"] || [groupId containsString:@"I"]) { groupId = [groupId substringFromIndex:1]; } } return groupId; } /** * 封装网络请求 */ + (void)request:(NSString *)post andWithUrl:(NSString *)myUrl and:(id)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { __block NSDictionary *dic; NSLog(@"url----%@",myUrl); #pragma mark ----- 签名 // parm = [NSString signToMD5:parm]; NSLog(@"%@",[parm mj_JSONString]); // post if ([post isEqualToString:KS_POST]) { [[VoNetworking sharedManager] postWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) { NSLog(@"%lld--%lld",bytesRead,totalBytes); } successBlock:^(id response) { NSLog(@"success call back---- %@", myUrl); dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil]; // open 不需要校验失效 BOOL isOpenUrl = [myUrl hasPrefix:OPEN_URL]; if (isOpenUrl == NO) { if ([dic ks_integerValueForKey:@"code"] == 403) { // token验证失败 [self logOutWithType:YES]; [dic setValue:@"" forKey:@"msg"]; success(dic); return; } else if ([dic ks_integerValueForKey:@"code"] == 401) { [self logOutWithType:NO]; [dic setValue:@"" forKey:@"msg"]; success(dic); return; } } success(dic); return; } failBlock:^(NSError *error) { NSLog(@"-------requestUrlError %@- %@",myUrl ,error.description); faliure(error); if (error.code == -1001) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络请求超时"]; } else if (error.code != -999) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"]; } }]; } // get else { [[VoNetworking sharedManager] getWithUrl:myUrl refreshRequest:YES cache:NO params:parm progressBlock:^(int64_t bytesRead, int64_t totalBytes) { NSLog(@"%lld--%lld",bytesRead,totalBytes); } successBlock:^(id response) { dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil]; // open 不需要校验失效 BOOL isOpenUrl = [myUrl hasPrefix:OPEN_URL]; if (isOpenUrl == NO) { if ([dic ks_integerValueForKey:@"code"] == 403) { // token验证失败 [self logOutWithType:YES]; [dic setValue:@"" forKey:@"msg"]; success(dic); return; } else if ([dic ks_integerValueForKey:@"code"] == 401) { [self logOutWithType:NO]; [dic setValue:@"" forKey:@"msg"]; success(dic); return; } } success(dic); return ; } failBlock:^(NSError *error) { NSLog(@"%@",error.description); faliure(error); if (error.code == -1001) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络请求超时"]; } else if (error.code != -999) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"]; } }]; } } + (void)logOutWithType:(BOOL)isDisable { NSString *tipsMessage = @""; if (isDisable) { tipsMessage = @"登录过期,请重新登录"; } else { tipsMessage = @"未认证"; } [self logoutActionWithMsg:tipsMessage]; } + (void)logoutActionWithMsg:(NSString *)msg { [APPLOGIN_MANAGER logoutActionWithMsg:msg]; } /// 移除所以当前请求 + (void)cancelAllRequest { [[VoNetworking sharedManager] cancleAllRequest]; } // 多文件上传 + (void)uploadMultiFileWithFileArray:(NSArray *)datas andWithUrl:(NSString *)myUrl parameters:(NSDictionary *)parameters type:(NSString *)type name:(NSString *)name mimeType:(NSString *)mimeType progress:(void(^)(NSProgress * _Nonnull uploadProgress))progress success:(void(^)(NSMutableArray *dics))success faliure:(void(^)(NSError *error))faliure { __block NSMutableArray *dics = [NSMutableArray array]; [[VoNetworking sharedManager] uploadMultFileWithUrl:myUrl parameters:parameters fileDatas:datas type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) { } successBlock:^(NSArray *responses) { for (id response in responses) { NSDictionary *subDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil]; [dics addObject:subDic]; } success(dics); } failBlock:^(NSArray *errors) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"]; faliure([errors lastObject]); }]; } // 单文件上传 + (void)uploadFileWithFileData:(NSData *)data andWithUrl:(NSString *)myUrl parameters:(NSDictionary *)parameters type:(NSString *)type name:(NSString *)name mimeType:(NSString *)mimeType progress:(void(^)(int64_t bytesWritten, int64_t totalBytes))progress success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { __block NSDictionary *dic; [[VoNetworking sharedManager] uploadFileWithUrl:myUrl parameters:parameters fileData:data type:type name:name mimeType:mimeType progressBlock:^(int64_t bytesWritten, int64_t totalBytes) { if (progress) { progress(bytesWritten, totalBytes); } } successBlock:^(id response) { dic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:nil]; success(dic); return ; } failBlock:^(NSError *error) { faliure(error); [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"]; }]; } // 下载 + (void)downloadTaskWithUrl:(NSString *)myUrl progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress success:(void(^)(NSURL *fileUrl))success faliure:(void(^)(NSError *error))faliure { [[VoNetworking sharedManager] downloadWithUrl:myUrl progressBlock:^(int64_t bytesRead, int64_t totalBytes) { if (progress) { progress(bytesRead, totalBytes); } } successBlock:^(NSURL * _Nullable url) { if (success) { success(url); } } failBlock:^(NSError * _Nonnull error) { if (faliure) { faliure(error); } }]; } // 多文件下载 + (void)mutilDownTaskWithUrl:(NSArray *)urlArray progress:(void(^)(int64_t bytesRead, int64_t totalBytes))progress successBlock:(void(^)(NSMutableArray *dics))success failBlock:(void(^)(NSError *error))faliure { [[VoNetworking sharedManager] downloadMutilFileWithUrl:urlArray progressBlock:^(int64_t bytesRead, int64_t totalBytes) { } successBlock:^(NSArray * _Nonnull responses) { NSMutableArray *result = [NSMutableArray arrayWithArray:responses]; success(result); } failBlock:^(NSArray * _Nonnull errors) { [LOADING_MANAGER MBShowAUTOHidingInWindow:@"网络错误,请检查您的网络"]; faliure([errors lastObject]); }]; } #pragma mark -------- CLASS REQUEST + (void)classroomRequest:(NSString *)method url:(NSString *)url parms:(NSDictionary *)parms success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { if ([method isEqualToString:KS_POST]) { [self configRequestMethodJSON]; } [self request:method andWithUrl:url and:parms success:success faliure:faliure]; } #pragma mark -------- LIVE ROOM + (void)LiveRoomRequest:(NSString *)method url:(NSString *)url parms:(id)parms success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { if ([method isEqualToString:KS_POST]) { [self configRequestMethodJSON]; } [self request:method andWithUrl:url and:parms success:success faliure:faliure]; } #pragma mark ----- version // api-admin/appVersionInfo/queryByPlatform + (void)appVersionInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-admin/appVersionInfo/queryByPlatform"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"iOS-teacher" forKey:@"platform"]; NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; [parm setValue:currentVersion forKey:@"localVersion"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 获取上传签名 // 获取上传签名 // /api-teacher/getUploadSign + (void)getUploadSignRequest:(NSString *)post fileName:(NSString *)fileName keyName:(NSString *)keyName bucketName:(NSString *)bucketName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/getUploadSign"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:bucketName forKey:@"bucketName"]; [parm setValue:fileName forKey:@"fileName"]; [parm setValue:@{@"acl":@"public-read", @"key" :keyName } forKey:@"postData"]; [parm setValue:@[] forKey:@"unknowValueField"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取上传签名 // /api-student/getUploadSign + (void)getTXCosUploadSignRequest:(NSString *)post fileName:(NSString *)fileName keyName:(NSString *)keyName bucketName:(NSString *)bucketName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@?pluginName=tencent", hostURL, @"/api-teacher/getUploadSign"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:bucketName forKey:@"bucketName"]; [parm setValue:fileName forKey:@"fileName"]; [parm setValue:@{@"acl":@"public-read", @"key" :keyName } forKey:@"postData"]; [parm setValue:@[] forKey:@"unknowValueField"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 文件下载 + (void)downloadFileRequestWithFileUrl:(NSString *)url progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSURL * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure { [self downloadTaskWithUrl:url progress:progress success:success faliure:faliure]; } + (void)mutiDownloadFileRequest:(NSArray *)fileUrl progress:(void (^)(int64_t, int64_t))progress success:(void (^)(NSArray * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure { [self mutilDownTaskWithUrl:fileUrl progress:progress successBlock:success failBlock:faliure]; } #pragma mark ----- 登录相关 + (void)LoginRequest:(NSString *)post phone:(NSString *)phone password:(NSString *)password success:(void (^)(NSDictionary * _Nonnull))success faliure:(void (^)(NSError * _Nonnull))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"teacher" forKey:@"clientId"]; [parm setValue:@"teacher" forKey:@"clientSecret"]; [parm setValue:phone forKey:@"username"]; [parm setValue:password forKey:@"password"]; [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/usernameLogin"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/smsLogin /** 验证码登录/注册 @param post post @param phone 手机号 @param smsCode 验证码 @param success 成功 @param faliure 失败 */ + (void)smsLoginRequest:(NSString *)post phone:(NSString *)phone smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"teacher" forKey:@"clientId"]; [parm setValue:@"teacher" forKey:@"clientSecret"]; [parm setValue:phone forKey:@"phone"]; [parm setValue:smsCode forKey:@"smsCode"]; [parm setValue:@"IOS" forKey:@"channel"]; [parm setValue:@"true" forKey:@"isSurportRegister"]; [parm setValue:[KeyChainTools getUUID] forKey:@"deviceNum"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL,@"/api-auth/smsLogin"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/refreshToken /** 刷新token的逻辑 @param post post @param success 成功 @param faliure 失败 */ + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; [self clearRequestHeader]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"teacher" forKey:@"clientId"]; [parm setValue:@"teacher" forKey:@"clientSecret"]; [parm setValue:UserDefault(RefreshToken) forKey:@"refreshToken"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/refreshToken"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/checkToken /// 校验token是否有效 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)checkTokenRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/checkToken"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // 接口地址 /api-auth/user/setUsernameAndPassword /** 设置密码 @param post post @param username 用户名 @param password 密码 @param userSex 性别 @param token token @param success 成功 @param faliure 失败 */ + (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 { [self configRequestMethodFormWithToken:token]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:username forKey:@"username"]; [parm setValue:password forKey:@"password"]; [parm setValue:userSex forKey:@"gender"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/user/updatePassword /** 修改密码 @param post post @param authCode 验证码 @param mobile 手机号 @param newPassword 新密码 @param success 成功 @param faliure 失败 */ + (void)updatePasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile newPassword:(NSString *)newPassword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:mobile forKey:@"mobile"]; [parm setValue:authCode forKey:@"authCode"]; [parm setValue:newPassword forKey:@"newPassword"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePassword"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/user/checkUser /// 用户信息校验 /// @param get get /// @param phone 手机号 /// @param password 密码 /// @param success 成功 /// @param faliure 失败 + (void)checkUserRequest:(NSString *)get phone:(NSString *)phone password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/checkUser"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:phone forKey:@"phone"]; [parm setValue:password forKey:@"password"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/user/updatePhone /// 修改手机号 /// @param post post /// @param oldPhone 旧手机号 /// @param authCode 验证码 /// @param newPhone 新手机号码 /// @param success 成功 /// @param faliure 失败 + (void)updatePhoneRequest:(NSString *)post oldPhone:(NSString *)oldPhone authCode:(NSString *)authCode newPhone:(NSString *)newPhone success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/updatePhone"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:oldPhone forKey:@"oldPhone"]; [parm setValue:authCode forKey:@"authCode"]; [parm setValue:newPhone forKey:@"newPhone"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/user/refreshImToken /// 刷新IM token /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)refreshImTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/refreshImToken"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/exit /** 退出登录 @param get get请求 @param success 成功 @param faliure 失败 */ + (void)logoutRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/exit"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // 注销账号功能 // /api-auth/user/logoff/{smsCode} /// 注销账号 /// @param get get /// @param smsCode 验证码 /// @param success 成功 /// @param faliure 失败 + (void)logoffRequest:(NSString *)get smsCode:(NSString *)smsCode success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-auth/user/logoff/",smsCode]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark ---- 验证码服务 // /api-teacher/code/sendSmsCode /** 发送短信验证码 @param post post @param mobile 手机号码 @param type type PASSWD LOGIN BANK PHONE LOGOFF @param code 图形验证码 @param success 成功 @param faliure 失败 */ + (void)sendSmsRequest:(NSString *)post mobile:(NSString *)mobile type:(NSString *)type code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:mobile forKey:@"mobile"]; [parm setValue:type forKey:@"type"]; [parm setValue:code forKey:@"code"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/sendSmsCode"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/code/verifyImageCode /** 图形验证码校验 @param post post @param phone 手机号 @param code 验证码 @param success 成功 @param faliure 失败 */ + (void)verifyLoginImageRequest:(NSString *)post phone:(NSString *)phone code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:phone forKey:@"phone"]; [parm setValue:code forKey:@"code"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/code/verifyImageCode"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 查询用户信息 // /api-auth/queryUserInfo /** 获取个人信息 @param get get @param success 成功 @param faliure 失败 */ + (void)queryUserInfo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/api/queryUserInfo"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/teacher/queryUserInfo /// 查询老师信息 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)queryTeacherInfoRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryUserInfo"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-auth/user/submitSetDetail /// 修改用户信息 /// @param post post /// @param avatal 头像 /// @param gender 性别 /// @param username 昵称 /// @param success 成功 /// @param faliure 失败 + (void)modifyTeacherMessage:(NSString *)post avatal:(NSString *)avatal gender:(NSString *)gender username:(NSString *)username success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/submitSetDetail"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:avatal forKey:@"avatar"]; [parm setValue:gender forKey:@"gender"]; [parm setValue:username forKey:@"username"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/teacher/queryTeacherStyle /// 个人风采查询 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)queryTeacherStyleRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/queryTeacherStyle"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/teacher/saveTeacherStyle /// 个人风采设置 /// @param post post /// @param styleVideo 视频 /// @param subjectId 声部id /// @param subjectName 声部名 /// @param introduction 介绍 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacher/saveTeacherStyle"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:styleVideo forKey:@"styleVideo"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:subjectName forKey:@"subjectName"]; [parm setValue:introduction forKey:@"introduction"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/subject/subjectSelect /// 获取老师可授课声部列表 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)querySubjectAllRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/subject/subjectSelect"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/user/realNameAuth /// 实名认证 /// @param post post /// @param idCardNo 身份证 /// @param realName 姓名 /// @param success 成功 /// @param faliure 失败 + (void)realNameAuthRequest:(NSString *)post idCardNo:(NSString *)idCardNo realName:(NSString *)realName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/teacher/realNameAuth"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:idCardNo forKey:@"idCardNo"]; [parm setValue:realName forKey:@"realName"]; [parm setValue:@(YES) forKey:@"save"]; [parm setValue:@"1" forKey:@"contract"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/home/count /// 首页统计数据 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)homeCountMessage:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/home/count"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // 首页公告查询 // /api-cms/helpCenterContent/list /// 公告查询 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)helpCenterContentListRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/helpCenterContent/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"2" forKey:@"catalogIds"]; [parm setValue:@"TEACHER" forKey:@"catalogType"]; [parm setValue:@(1) forKey:@"status"]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(5) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-cms/news/app/home // 首页按钮 /// 按钮 /// @param post post /// @param version version /// @param success 成功 /// @param faliure 失败 + (void)homeButtonList:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-cms/news/app/home"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:version forKey:@"version"]; [parm setValue:@"ios-teacher" forKey:@"platform"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseSchedule/queryLiveAndVideo /// 首页最近课程 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)queryRecentLiveAndVideo:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryLiveAndVideo"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/teacher/querySubjectItem /// 获取声部搜索下拉框 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)querySubjectItemRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/querySubjectItem"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseSchedule/selectRoomConfig /// 获取网络教室进入房间参数 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)selectRoomConfigRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseSchedule/selectRoomConfig"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark -------- 群组服务 // /api-teacher/imUserFriend/getMessageUser/CLX_2250235_STUDENT /// 查询聊天用户信息 /// @param post post /// @param imUserId 用户imUserId /// @param success 成功 /// @param faliure 失败 + (void)getMessageUserRequset:(NSString *)post imUserId:(NSString *)imUserId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imUserFriend/getMessageUser",imUserId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imUserFriend/queryAll /// 查询好友列表 /// @param post post /// @param search 搜索 /// @param success 成功 /// @param faliure 失败 + (void)imUserFriendRequest:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imUserFriend/queryAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:search forKey:@"search"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/queryAll /// 查询老师群组列表 /// @param post post /// @param search 搜索 /// @param success 成功 /// @param faliure 失败 + (void)imGroupQueryPage:(NSString *)post search:(NSString *)search success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:search forKey:@"search"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/create /// 创建粉丝群 /// @param post post /// @param name 群名称 /// @param introduce 群简介 /// @param success 成功 /// @param faliure 失败 + (void)imGroupCreate:(NSString *)post name:(NSString *)name introduce:(NSString *)introduce success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/create/v2"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:name forKey:@"name"]; [parm setValue:introduce forKey:@"introduce"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/dismiss/{groupId} /// 解散群聊 /// @param post post /// @param groupId 群id /// @param success 成功 /// @param faliure 失败 + (void)imGroupDismiss:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/dismiss",groupId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/create /// 创建粉丝群、机构群 /// @param post post /// @param name 群名称 /// @param introduce 群简介 /// @param studentIdArray 学生列表 /// @param type 群类型 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/create/v2"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:name forKey:@"name"]; [parm setValue:introduce forKey:@"introduce"]; [parm setValue:type forKey:@"type"]; [parm setValue:studentIdArray forKey:@"imUserIdList"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // imGroup/addGroupMember /// 添加群成员 /// @param post post /// @param groupId 群id /// @param studentIdArray 学生列表 /// @param success 成功 /// @param faliure 失败 + (void)tenantImGroupAddMemberRequest:(NSString *)post groupId:(NSString *)groupId studentIdArray:(NSMutableArray *)studentIdArray success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/addGroupMember/v2"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:studentIdArray forKey:@"imUserIdList"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/student/page /// 查询好友列表 /// @param post post /// @param success 成功 /// @param faliure 失败 /// @param subjectId 声部 /// @param tenantGroupId 小组 + (void)tenantImUserFriendRequest:(NSString *)post subjectId:(NSString *)subjectId tenantGroupId:(NSString *)tenantGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/student/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(1) forKey:@"bindTenant"]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(10000) forKey:@"rows"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:tenantGroupId forKey:@"tenantGroupId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/getDetail/{groupId} /// 获取群信息 /// @param post post /// @param groupId 群id /// @param success 成功 /// @param faliure 失败 + (void)queryGroupDetail:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroup/getDetail",groupId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取群成员列表 // /api-teacher/imGroupMember/queryAll /// 查询群成员列表 /// @param post post /// @param groupId 群id /// @param success 成功 /// @param faliure 失败 + (void)imGroupMemberAllRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/queryAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 查询群成员列表(是否禁言) // /api-teacher/imGroupMember/queryAll /// 查询群成员列表 /// @param post post /// @param groupId 群id /// @param groupMute 是否禁言 /// @param keyword 搜索 /// @param success 成功 /// @param faliure 失败 + (void)imGroupMemberMuteRequest:(NSString *)post groupId:(NSString *)groupId groupMute:(BOOL)groupMute keyword:(NSString *_Nullable)keyword success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/queryAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:keyword forKey:@"keyword"]; [parm setValue:@(groupMute) forKey:@"groupMute"]; [parm setValue:@[@"Member"] forKey:@"groupRoleTypes"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 查询群成员 // /api-teacher/imGroupMember/getUserDetail /// 查询群成员信息 /// @param post post /// @param groupId 群id /// @param userId 用户id /// @param success 成功 /// @param faliure 失败 + (void)imGroupMemberQueryUser:(NSString *)post groupId:(NSString *)groupId userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMember/getUserDetail"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:userId forKey:@"userId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取IM好友详情 // /api-teacher/imUserFriend/getDetail/{userId} /// 获取好友详情 /// @param post post /// @param userId 用户id /// @param success 成功 /// @param faliure 失败 + (void)imUserFriendQueryDetail:(NSString *)post userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imUserFriend/getDetail",userId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroupMemberAudit/queryAll /// 申请入群列表 /// @param post post /// @param groupId 群id /// @param success 成功 /// @param faliure 失败 + (void)imGroupMemberAuditListRequest:(NSString *)post groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/queryAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroupMemberAudit/applyAudit /// 群申请审核 /// @param post post /// @param groupId 群id /// @param status 审核状态 /// @param auditIds 申请id /// @param success 成功 /// @param faliure 失败 + (void)imGroupMemberAuditRequest:(NSString *)post groupId:(NSString *)groupId auditStatus:(BOOL)status auditIds:(NSString *)auditIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupMemberAudit/applyAudit"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:auditIds forKey:@"auditIds"]; NSString *statusEnum = status ? @"OPEN" : @"REJECT"; [parm setValue:statusEnum forKey:@"auditStatus"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/update /// 修改群名称 /// @param post post /// @param name 名称 /// @param groupId 群id /// @param success 成功 /// @param faliure 失败 + (void)imGroupModify:(NSString *)post name:(NSString *)name groupId:(NSString *)groupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/update"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"id"]; [parm setValue:name forKey:@"name"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroup/queryTeacherGroup /// 获取老师粉丝群列表 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)queryTeacherGroupRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroup/queryTeacherGroup"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:UserDefault(UIDKey) forKey:@"createUserId"]; [parm setValue:@"FAN" forKey:@"type"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 群组投诉 // sysImComplaint/add /// 聊天投诉 /// @param post post form /// @param type /** 投诉对象类型 GROUP,PERSON*/ /// @param fileUrl 图片凭证 /// @param memo 描述 /// @param targetId 目标id /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysImComplaint/add"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:type forKey:@"type"]; [parm setValue:fileUrl forKey:@"url"]; [parm setValue:memo forKey:@"memo"]; [parm setValue:targetId forKey:@"targetId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /imGroup/muteAll /// 群主禁言操作 /// @param post post /// @param groupId 群ID /// @param muteAll 是否禁言 /// @param success 成功 /// @param faliure 失败 + (void)imGroupMuteAllRequest:(NSString *)post groupId:(NSString *)groupId muteAll:(BOOL)muteAll success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-teacher",@"/imGroup/muteAll"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:@(muteAll) forKey:@"muteAll"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /imGroupMember/groupMute /// 群成员禁言 /// @param post post /// @param groupId 群组ID /// @param userIds 用户id /// @param groupMute 是否禁言 /// @param success 成功 /// @param faliure 失败 + (void)groupMuteRequest:(NSString *)post groupId:(NSString *)groupId userIdArray:(NSMutableArray *)userIds groupMute:(BOOL)groupMute success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-teacher",@"/imGroupMember/groupMute"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:@(groupMute) forKey:@"groupMute"]; [parm setValue:userIds forKey:@"userIds"]; [parm setValue:@(-1) forKey:@"muteTime"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 群公告 // /api-teacher/imGroupNotice/queryPage /// 群公告列表查询 /// @param post post /// @param groupId 群组id /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)queryNoticeListRequest:(NSString *)post groupId:(NSString *)groupId page:(NSString *)page rows:(NSString *)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/queryPage"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:page forKey:@"page"]; [parm setValue:rows forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroupNotice/create /// 创建群公告 /// @param post post /// @param groupId 群编号 /// @param title 标题 /// @param content 内容 /// @param isTop 是否置顶 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/create"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:title forKey:@"title"]; [parm setValue:isTop forKey:@"topFlag"]; [parm setValue:content forKey:@"content"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroupNotice/update /// 编辑群公告 /// @param post post /// @param groupId 群编号 /// @param title 标题 /// @param content 内容 /// @param isTop 是否置顶 /// @param noticeID noticeID /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/imGroupNotice/update"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupId forKey:@"groupId"]; [parm setValue:noticeID forKey:@"id"]; [parm setValue:title forKey:@"title"]; [parm setValue:isTop forKey:@"topFlag"]; [parm setValue:content forKey:@"content"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/imGroupNotice/del /// 删除群公告 /// @param post post /// @param noticeID noticeID /// @param success 成功 /// @param faliure 失败 + (void)imGroupNoticeDelRequest:(NSString *)post noticeID:(NSString *)noticeID success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@",hostURL, @"/api-teacher/imGroupNotice/del",noticeID]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // api-teacher/imGroupNotice/getNotice /// 群公告详情 /// @param get get /// @param noticeId 公告ID /// @param success 成功 /// @param faliure 失败 + (void)imGroupNoticeDetailRequest:(NSString *)get noticeId:(NSString *)noticeId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@/%@", hostURL, @"/api-teacher/imGroupNotice/get", noticeId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 视频课相关 // /api-teacher/videoLessonGroup/page /// 视频课列表查询 /// @param post post /// @param lessonSubject 课程声部 /// @param auditStatus 审核状态 (0:待审核;1:通过;2:未通过) /// @param pageNo 分页 /// @param pageSize 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/videoLessonGroup/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:lessonSubject forKey:@"lessonSubject"]; [parm setValue:auditStatus forKey:@"auditStatus"]; [parm setValue:@(pageNo) forKey:@"page"]; [parm setValue:@(pageSize) forKey:@"rows"]; [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 老师曲谱列表查询 // /api-teacher/music/sheet/my /// 我订阅的曲谱 /// @param post post /// @param page 分页 /// @param rows 条数 /// @param search 搜索 /// @param subjectIds 声部 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/my"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:search forKey:@"idAndName"]; [parm setValue:subjectIds forKey:@"subjectIds"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/music/sheet/list /// 曲谱列表查询 /// @param post post /// @param auditStatus UNPAALY,DOING,PASS,UNPASS /// @param page 分页 /// @param rows 条数 /// @param search 搜索 /// @param subjectIds 声部 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:auditStatus forKey:@"auditStatus"]; [parm setValue:@(YES) forKey:@"myself"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:search forKey:@"idAndName"]; [parm setValue:subjectIds forKey:@"subjectIds"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/music/sheet/list /// 首页精品曲目查询 /// @param post post /// @param version version /// @param success 成功 /// @param faliure 失败 + (void)homeQualityMusicListRequest:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(NO) forKey:@"myself"]; [parm setValue:@"PASS" forKey:@"auditStatus"]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(20) forKey:@"rows"]; [parm setValue:version forKey:@"version"]; [parm setValue:@"ios-teacher" forKey:@"platform"]; [parm setValue:@(1) forKey:@"exquisiteFlag"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/music/sheet/list /// 首页推荐曲谱查询 /// @param post post /// @param version version /// @param success 成功 /// @param faliure 失败 + (void)homeMusicListRequest:(NSString *)post version:(NSString *)version success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(NO) forKey:@"myself"]; [parm setValue:@"PASS" forKey:@"auditStatus"]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(20) forKey:@"rows"]; [parm setValue:version forKey:@"version"]; [parm setValue:@"ios-teacher" forKey:@"platform"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /teacher-server/music/album/list /// 首页热门专辑 /// @param post post /// @param version version /// @param subjectIds 查询声部 /// @param success 成功 /// @param faliure 失败 + (void)HomeHotAlbumRequest:(NSString *)post version:(NSString *)version subjectIds:(NSString *)subjectIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/album/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(10) forKey:@"rows"]; [parm setValue:version forKey:@"version"]; [parm setValue:@"ios-teacher" forKey:@"platform"]; [parm setValue:subjectIds forKey:@"subjectIds"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 分享老师曲谱数据查询 // /api-teacher/music/sheet/share + (void)queryMusicShareMessageRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/share"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // 曲谱下架 // /api-teacher/music/sheet/state/{id} /// 曲谱下架 /// @param post post /// @param musicId 曲目id /// @param success 成功 /// @param faliure 失败 + (void)musicOffRequest:(NSString *)post musicId:(NSString *)musicId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@/%@", hostURL, @"/api-teacher/music/sheet/state",musicId]; [self request:post andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark ----- 直播房间与课程的关系表 // /api-teacher/liveRoom/queryPageRoom // 查询用户关联的临时直播信息 /// 查询直播间 /// @param post post /// @param liveState 房间状态 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)queryPageRoomRequest:(NSString *)post liveState:(NSInteger)liveState page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/queryPageRoom"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(liveState) forKey:@"liveState"]; [parm setValue:@"TEMP" forKey:@"roomType"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/liveRoomVideo/queryVideo /// 查询直播视频 /// @param get get /// @param roomUid 房间号 /// @param success 成功 /// @param faliure 失败 + (void)queryVideoRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoomVideo/queryVideo"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomUid forKey:@"roomUid"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/liveRoom/createTempLiveRoom /// 创建直播 (临时开播) /// @param post post /// @param coverPic 封面图 /// @param liveRemark 直播内容(200以内) /// @param roomTitle 房间标题 /// @param liveTime 直播时长 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/createTempLiveRoom"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:coverPic forKey:@"coverPic"]; [parm setValue:liveRemark forKey:@"liveRemark"]; [parm setValue:roomTitle forKey:@"roomTitle"]; [parm setValue:@(liveTime) forKey:@"liveTime"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/liveRoom/speakerCheckRoomInfo /// 校验房间信息 /// @param get get /// @param roomUid 房间id /// @param success 成功 /// @param faliure 失败 + (void)speakerCheckRoomInfoRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/speakerCheckRoomInfo"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomUid forKey:@"roomUid"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } /// 置是否允许连麦 /// @param get get /// @param roomUid 房间id /// @param whetherMic 是否连麦 0:是 1否 /// @param success 成功 /// @param faliure 失败 + (void)liveRoomSetMicApplyEnable:(NSString *)get roomUid:(NSString *)roomUid whetherMic:(NSInteger)whetherMic success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/whetherMic"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomUid forKey:@"roomUid"]; [parm setValue:@(whetherMic) forKey:@"whetherMic"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // 进入直播房间 // /api-teacher/liveRoom/speakerJoinRoom /// 进入房间 /// @param get get /// @param roomUid 直播房间号 /// @param success 成功 /// @param faliure 失败 + (void)liveRoomJoinRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/speakerJoinRoom"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomUid forKey:@"roomUid"]; [parm setValue:UserDefault(UIDKey) forKey:@"userId"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/liveRoom/syncLike /// 同步点赞数量 /// @param get get /// @param likeNum 点赞数量 /// @param roomUid 房间号 /// @param success 成功 /// @param faliure 失败 + (void)syncLikeRequest:(NSString *)get likeNum:(NSInteger)likeNum roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncLike"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(likeNum) forKey:@"likeNum"]; [parm setValue:roomUid forKey:@"roomUid"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // 退出直播间 // /api-teacher/liveRoom/syncUserStatus /// 退出直播间 /// @param post post json /// @param success 成功 /// @param faliure 失败 + (void)LiveroomQuit:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/syncUserStatus"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"iOS" forKey:@"os"]; [parm setValue:@"3" forKey:@"status"]; [parm setValue:UserDefault(UIDKey) forKey:@"userid"]; [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure]; } // /api-teacher/liveRoom/destroyLiveRoom /// 销毁直播房间 /// @param get get /// @param roomUid 房间号 /// @param success 成功 /// @param faliure 失败 + (void)destroyLiveRoomRequest:(NSString *)get roomUid:(NSString *)roomUid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/liveRoom/destroyLiveRoom"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomUid forKey:@"roomUid"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // 直播课程组查询 // /api-teacher/courseGroup/queryPageCourseGroup /// 直播课程组查询 /// @param post post /// @param groupStatus 课程组状态 ING(进行中) NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成) /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)LiveCourseGroupRequest:(NSString *)post groupStatus:(NSString *)groupStatus page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseGroup/queryPageCourseGroup"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:groupStatus forKey:@"groupStatus"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 课程查询 // /api-teacher/courseSchedule/queryTeacherPracticeCourse /// 我的课程-趣纠课 /// @param post post /// @param classMonth 月份 yyyy-MM /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消) /// @param subjectId 声部id /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classMonth forKey:@"classMonth"]; [parm setValue:status forKey:@"status"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseSchedule/queryTeacherLiveCourse /// 我的课程-直播课 /// @param post post /// @param classDate 月份 yyyy-MM /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消) /// @param subjectId 声部id /// @param search 搜索 /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)queryTeacherLiveCourse:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId search:(NSString *)search page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherLiveCourse"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classDate forKey:@"classDate"]; [parm setValue:status forKey:@"status"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:search forKey:@"search"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 琴房课 // /api-teacher/courseSchedule/selectCourseList /// 琴房课列表 /// @param post post /// @param month 月份 yyyy-MM /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消) /// @param subjectId 声部 /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/selectCourseList"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:month forKey:@"month"]; [parm setValue:status forKey:@"status"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/homework/detail/list /// 获取琴房课详情 /// @param post post /// @param courseId 课程id /// @param success 成功 /// @param faliure 失败 + (void)musicRoomDetailRequest:(NSString *)post courseId:(NSString *)courseId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/detail/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseId forKey:@"courseId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ------- 趣纠课评价 // /api-teacher/courseSchedule/queryTeacherPracticeCourse /// 课后评价 /// @param post post /// @param classMonth yyyy-MM /// @param replied 0:未评价 1:已评价 /// @param studentName 学生名称 /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classMonth forKey:@"classMonth"]; [parm setValue:@(replied) forKey:@"replied"]; [parm setValue:studentName forKey:@"studentName"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseReplied/selectReplied /// 查询评价详情 /// @param post post /// @param courseGroupId 课程组编号 /// @param courseScheduleId 课程编号 /// @param studentId 学员编号 /// @param success 成功 /// @param faliure 失败 + (void)selectRepliedRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId courseScheduleId:(NSString *)courseScheduleId studentId:(NSString *)studentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/selectReplied"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseGroupId forKey:@"courseGroupId"]; [parm setValue:courseScheduleId forKey:@"courseScheduleId"]; [parm setValue:studentId forKey:@"studentId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseReplied/replied /// 评价趣纠课 /// @param post post /// @param courseScheduleId 课程编号 /// @param courseGroupId 课程组编号 /// @param studentId 学员编号 /// @param teacherReplied 评价内容 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/replied"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseScheduleId forKey:@"courseScheduleId"]; [parm setValue:courseGroupId forKey:@"courseGroupId"]; [parm setValue:studentId forKey:@"studentId"]; [parm setValue:teacherReplied forKey:@"teacherReplied"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseReplied/myReplied /// 我收到的评价 /// @param post post /// @param classMonth 上课日期 /// @param search search /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseReplied/myReplied"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classMonth forKey:@"classDate"]; [parm setValue:search forKey:@"studentName"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 课后作业 // /api-teacher/homework/list /// 课后作业列表 /// @param post post /// @param date 年月 格式:yyyy-MM /// @param decorate 布置作业状态 0:否,1:是 /// @param searchKey 搜索 /// @param page 页数 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)homeworkListRequest:(NSString *)post date:(NSString *)date decorate:(NSInteger)decorate searchKey:(NSString *)searchKey page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:date forKey:@"date"]; [parm setValue:@(decorate) forKey:@"decorate"]; [parm setValue:searchKey forKey:@"search"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/homework/detail/{courseId} /// 趣纠课课后作业信息详情 /// @param get get /// @param courseId 课程信息 /// @param success 成功 /// @param faliure 失败 + (void)homeworkDetailRequest:(NSString *)get courseId:(NSString *)courseId studentId:(nonnull NSString *)studentId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@/%@/%@",hostURL, @"/api-teacher/homework/detail",courseId,studentId]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/homework/decorate /// 布置作业 /// @param post post /// @param content 作业内容 /// @param courseScheduleId 课程编号 /// @param success 成功 /// @param faliure 失败 + (void)homeworkDecorateRequest:(NSString *)post content:(NSString *)content courseScheduleId:(NSString *)courseScheduleId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/decorate"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:content forKey:@"content"]; [parm setValue:courseScheduleId forKey:@"courseScheduleId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } /// 作业点评 /// @param post post /// @param courseScheduleId 课程编号 /// @param studentId 学生id /// @param review 点评内容 /// @param success 成功 /// @param faliure 失败 + (void)homeworkReviewRequest:(NSString *)post courseScheduleId:(NSString *)courseScheduleId studentId:(NSString *)studentId review:(NSString *)review success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/homework/review"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:review forKey:@"review"]; [parm setValue:courseScheduleId forKey:@"courseScheduleId"]; [parm setValue:studentId forKey:@"studentId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 课表相关 // /api-teacher/courseSchedule/queryCourseSchedule /// 课表日历 /// @param post post /// @param classMonth 月份 /// @param success 成功 /// @param faliure 失败 + (void)queryCourseSchedule:(NSString *)post classMonth:(NSString *)classMonth success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseSchedule"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classMonth forKey:@"classMonth"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseSchedule/queryCourseUser /// 查询日期课程 /// @param post post /// @param classDate 日期 /// @param success 成功 /// @param faliure 失败 + (void)queryCourseForDay:(NSString *)post classDate:(NSString *)classDate success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryCourseUser"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:classDate forKey:@"classDate"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseSchedule/courseAdjust /// 课时调整 /// @param post post /// @param courseId 课程编号 /// @param classDate 上课日期 /// @param startTime 开始时间 /// @param endTime 结束时间 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/courseAdjust"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseId forKey:@"courseId"]; [parm setValue:classDate forKey:@"classDate"]; [parm setValue:startTime forKey:@"startTime"]; [parm setValue:endTime forKey:@"endTime"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userBankCard/bankCard // 绑卡 /// 绑定银行卡 /// @param post post /// @param name 姓名 /// @param bankCard 银行卡 /// @param bankName 开户行 /// @param bankCode 开户行code /// @param idCardNo 卡号 /// @param phone 预留手机号 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/bankCard"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:name forKey:@"name"]; [parm setValue:phone forKey:@"phone"]; [parm setValue:idCardNo forKey:@"idCardNo"]; [parm setValue:bankCard forKey:@"bankCard"]; [parm setValue:bankName forKey:@"bankName"]; [parm setValue:bankCode forKey:@"bankCode"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取银行列表 // /api-teacher/userBankCard/bankList /// 获取银行 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)queryBankList:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/bankList"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userBankCard/page /// 获取绑定银行卡 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)queryBankCardMessage:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userBankCard/unBind /// 解绑卡 /// @param post post /// @param cardId 卡 id /// @param idCardNo 卡号 /// @param name 姓名 /// @param success 成功 /// @param faliure 失败 + (void)unBindCardRequest:(NSString *)post cardId:(NSString *)cardId idCardNo:(NSString *)idCardNo name:(NSString *)name success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userBankCard/unBind"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:cardId forKey:@"id"]; [parm setValue:idCardNo forKey:@"idCardNo"]; [parm setValue:name forKey:@"name"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 我的收入 // /api-teacher/userAccount/page /// 我的收入 /// @param post post /// @param paymentStatus IN、收入 OUT 支出 /// @param searchDate 查询时间 yyyy-MM /// @param bizType PRACTICE LIVE MUSIC /// @param postStatus 入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:bizType forKey:@"bizType"]; [parm setValue:searchDate forKey:@"searchDate"]; [parm setValue:postStatus forKey:@"postStatus"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:paymentStatus forKey:@"inOrOut"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userAccount/accountTotal /// 收入统计 /// @param post post /// @param dateTime yyyy | yyyy-MM /// @param timeType MONTH YEAR /// @param success 成功 /// @param faliure 失败 + (void)accountTotalRequest:(NSString *)post dateTime:(NSString *)dateTime timeType:(NSString *)timeType success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/accountTotal"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:dateTime forKey:@"dateTime"]; [parm setValue:timeType forKey:@"timeType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userAccount/detail /// 获取account /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)teacherAccountDetail:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userAccount/detail"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark ----- 提现 // 协议查询 /api-teacher/sysUserContractRecord/checkContractSign /// 查询协议 /// @param get get /// @param contractType 业务类型 REGISTER 注册 COURSES 课程购买 PRODUCT 产品 WITHDRAW 结算 /// @param success 成功 /// @param faliure 失败 + (void)checkContractSignRequest:(NSString *)get contractType:(NSString *)contractType success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysUserContractRecord/checkContractSignV2"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:contractType forKey:@"contractType"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userWithdrawal/getWithdrawalInfo /// 查询提现页面信息 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)getWithdrawalInfoRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/getWithdrawalInfo"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userWithdrawal/withdrawal /// 用户提现 /// @param post post /// @param amountWithdrawal 提现金额 /// @param bankCardId 用户银行卡id /// @param success 成功 /// @param faliure 失败 + (void)withdrawalRequest:(NSString *)post amountWithdrawal:(double)amountWithdrawal bankCardId:(NSString *)bankCardId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/withdrawal"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(amountWithdrawal) forKey:@"amountWithdrawal"]; [parm setValue:bankCardId forKey:@"bankCardId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/userWithdrawal/withdrawalPage /// 提现记录 /// @param post post /// @param searchDate yyyy-mm /// @param status DOING PASS UNPASS /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userWithdrawal/withdrawalPage"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:searchDate forKey:@"searchDate"]; [parm setValue:status forKey:@"status"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 地址服务 // /api-mall-portal/member/address/list /// 获取收货地址 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)companyAddressListRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/list"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-mall-portal/member/address/add /// 添加收货地址 /// @param post post /// @param name 收货人名称 /// @param phoneNumber 电话号码 /// @param defaultStatus 是否默认收货地址 /// @param detailAddress 详细地址 /// @param province 省份 /// @param city 城市 /// @param region 区 /// @param postCode 邮编 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-mall-portal/member/address/add"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:name forKey:@"name"]; [parm setValue:phoneNumber forKey:@"phoneNumber"]; [parm setValue:@(defaultStatus) forKey:@"defaultStatus"]; [parm setValue:detailAddress forKey:@"detailAddress"]; [parm setValue:province forKey:@"province"]; [parm setValue:city forKey:@"city"]; [parm setValue:region forKey:@"region"]; [parm setValue:postCode forKey:@"postCode"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-mall-portal/member/address/{id} /// 获取地址详情 /// @param get get /// @param addressId 地址id /// @param success 成功 /// @param faliure 失败 + (void)queryAddressDetailRequst:(NSString *)get addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/",addressId]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // 修改收货地址 // /api-mall-portal/member/address/update/{id} /// 修改收货地址 /// @param post post /// @param addressId 地址id /// @param name 收货人名称 /// @param phoneNumber 电话号码 /// @param defaultStatus 是否默认收货地址 /// @param detailAddress 详细地址 /// @param province 省份 /// @param city 城市 /// @param region 区 /// @param postCode 邮编 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/update/",addressId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:name forKey:@"name"]; [parm setValue:phoneNumber forKey:@"phoneNumber"]; [parm setValue:@(defaultStatus) forKey:@"defaultStatus"]; [parm setValue:detailAddress forKey:@"detailAddress"]; [parm setValue:province forKey:@"province"]; [parm setValue:city forKey:@"city"]; [parm setValue:region forKey:@"region"]; [parm setValue:postCode forKey:@"postCode"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-mall-portal/member/address/delete/{id} /// 删除收货地址 /// @param post post /// @param addressId 地址id /// @param success 成功 /// @param faliure 失败 + (void)deleteAddressRequest:(NSString *)post addressId:(NSString *)addressId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-mall-portal/member/address/delete/",addressId]; [self request:post andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark ------- 消息中心 // /api-teacher/sysMessage/list /// 消息列表 /// @param post post /// @param group 消息组 SYSTEM:系统消息 COURSE:课程信息 NOTICE:公告 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)sysMessageListRequest:(NSString *)post group:(NSString *)group page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:group forKey:@"group"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/sysMessage/queryCountOfUnread /// 获取未读消息条数 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)queryCountOfUnreadRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/queryCountOfUnread"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/sysMessage/setRead/{id} /// 设置消息已读 /// @param post post /// @param messageId 消息id /// @param success 成功 /// @param faliure 失败 + (void)setReadMessage:(NSString *)post messageId:(NSString *)messageId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-teacher/sysMessage/setRead/",messageId]; [self request:post andWithUrl:url and:nil success:success faliure:faliure]; } // /api-teacher/sysMessage/batchSetRead /// 消息一键已读 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)batchSetReadRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysMessage/batchSetRead"]; [self request:post andWithUrl:url and:nil success:success faliure:faliure]; } #pragma mark ------ 网络教室相关改造 // /room/join /// 加入网络教室 /// @param post post /// @param roomId roomId /// @param success 成功 /// @param faliure 失败 + (void)roomJoinRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/join"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/joinRoomFailure /// 加入网络教室失败回调 /// @param post post /// @param roomId roomId /// @param success 成功 /// @param faliure 失败 + (void)joinRoomFailureRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/joinRoomFailure"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/leave /// 退出网络教室 /// @param post post /// @param roomId roomID /// @param success 成功 /// @param faliure 失败 + (void)roomLeaveRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/leave"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/device/batchControl /// 批量控制学员设备开关 /// @param post post /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT /// @param enable 是否可用 /// @param roomId roomId /// @param musicScoreAccompanimentId 伴奏id /// @param soundVolume 音量 /// @param userId 用户id 逗号分隔 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/batchControl"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:deviceType forKey:@"deviceType"]; [parm setValue:@(enable) forKey:@"enable"]; [parm setValue:userId forKey:@"userId"]; // 曲目播放 if ([deviceType isEqualToString:@"MUSIC_SHEET"] || [deviceType isEqualToString:@"ACCOMPANIMENT"]) { [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"]; [parm setValue:@(soundVolume) forKey:@"soundVolume"]; } [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/device/control /// 批量控制学员设备开关 /// @param post post /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP,EXAM_SONG,MUSIC_SHEET,ACCOMPANIMENT /// @param enable 是否可用 /// @param roomId roomId /// @param musicScoreAccompanimentId 伴奏id /// @param soundVolume 音量 /// @param userId 用户id /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/control"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:deviceType forKey:@"deviceType"]; [parm setValue:@(enable) forKey:@"enable"]; [parm setValue:userId forKey:@"userId"]; // 曲目播放 if ([deviceType isEqualToString:@"MUSIC_SHEET"] || [deviceType isEqualToString:@"ACCOMPANIMENT"]) { [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"]; [parm setValue:@(soundVolume) forKey:@"soundVolume"]; } [parm setValue:@"TEACHER" forKey:@"clientType"]; [parm setValue:musicScoreAccompanimentId forKey:@"musicScoreAccompanimentId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/display /// 主屏显示 /// @param post post /// @param roomId roomID /// @param type TEACHER,WHITE_BOARD,SCREEN,NONE,STUDENT /// @param uri display uri /// @param userId display useId /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/display"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:type forKey:@"type"]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:uri forKey:@"uri"]; [parm setObject:userId forKey:@"userId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/pushDownloadMusicSheetMsg /// 老师在网络教室选择完伴奏后、通知学员下载伴奏 /// @param post post /// @param accompanimentId 伴奏编号 /// @param roomId room id /// @param success 成功 /// @param faliure 失败 + (void)pushDownloadMusicSheetMsg:(NSString *)post accompanimentId:(NSString *)accompanimentId roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/pushDownloadMusicSheetMsg"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:accompanimentId forKey:@"accompanimentId"]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/sendImPlayMidiMessage /// 控制学员节拍器 /// @param post post /// @param customType 节拍类型 /// @param enable 是否开启 /// @param playVolume 播放音量 /// @param rate rate /// @param userId 用户id 逗号分隔 /// @param roomId room id /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/sendImPlayMidiMessage"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(customType) forKey:@"customType"]; [parm setValue:@(enable) forKey:@"enable"]; [parm setValue:@(playVolume) forKey:@"playVolume"]; [parm setValue:@(rate) forKey:@"rate"]; [parm setValue:userId forKey:@"userId"]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /room/device/sync /// 设备状态同步 /// @param post post /// @param deviceType MICROPHONE,CAMERA,MUSIC_MODE,HAND_UP /// @param roomId roomId /// @param enable 是否开启 /// @param songId songId /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/device/sync"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:deviceType forKey:@"deviceType"]; [parm setValue:@(enable) forKey:@"enable"]; [parm setValue:@(songId) forKey:@"songId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取未进入成员 /// 获取未进入成员 /// @param post post /// @param roomId room id /// @param success 成功 /// @param faliure 失败 + (void)queryNoJoinStuRequest:(NSString *)post roomId:(NSString *)roomId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", SEALCLASSHOST, @"/room/queryNoJoinStu"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:roomId forKey:@"roomId"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // 获取白板房间数据 /// 获取白板房间信息 /// @param post post /// @param url url /// @param parm 参数 /// @param success 成功 /// @param faliure 失败 + (void)getWhiteBoardRoomMessage:(NSString *)post url:(NSString *)url parm:(NSDictionary *)parm success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/sysConfig/queryByParamNameList /// 查询课程调整时间配置参数 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)queryCourseAdjustTimeLimit:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysConfig/queryByParamNameList"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"course_start_setting,course_end_setting" forKey:@"paramNames"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/sysConfig/queryByParamName /// 查询配置参数 /// @param get get /// @param paramName 参数 /// @param success 成功 /// @param faliure 失败 + (void)queryByParamName:(NSString *)get paramName:(NSString *)paramName success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysConfig/queryByParamName"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:paramName forKey:@"paramName"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/activity/checkReceiveReward /// 查询是否reword弹窗 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)checkReceiveRewardRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/activity/checkReceiveReward"]; [self request:get andWithUrl:url and:nil success:success faliure:faliure]; } // api-teacher/student/queryUserById 参数 rongCloudUserId /// 查询指定学员信息-融云token /// @param get get /// @param rongCloudUserId rongCloudUserId /// @param success 成功 /// @param faliure 失败 + (void)queryUserById:(NSString *)get rongCloudUserId:(NSString *)rongCloudUserId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/student/queryUserById"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:rongCloudUserId forKey:@"rongCloudUserId"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/music/sheet/user/practice /// 查看指定最近练习记录 /// @param get get /// @param userId 用户id /// @param success 成功 /// @param faliure 失败 + (void)queryUserRecentRequest:(NSString *)get userId:(NSString *)userId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/user/practice"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:userId forKey:@"userId"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/music/sheet/appMusicSheet /// 首页曲目数据 /// @param post post /// @param version version /// @param subjectIds 查询声部 /// @param success 成功 /// @param faliure 失败 + (void)homeAppMusicSheetRequest:(NSString *)post version:(NSString *)version subjectIds:(NSString *)subjectIds success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/music/sheet/appMusicSheet"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(NO) forKey:@"myself"]; [parm setValue:@"PASS" forKey:@"auditStatus"]; [parm setValue:subjectIds forKey:@"subjectIds"]; [parm setValue:version forKey:@"version"]; [parm setValue:@"ios-teacher" forKey:@"platform"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/teacher/defaultSubject /// 设置老师默认查询声部 /// @param post post /// @param subjectId 声部id /// @param success 成功 /// @param faliure 失败 + (void)defaultSubjectRequest:(NSString *)post subjectId:(NSString *)subjectId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/defaultSubject"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:subjectId forKey:@"subjectId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 课件相关 // /api-teacher/courseCourseware/page /// 课件查询 /// @param post post /// @param status 是否有效, 0:失效 1:有效 不传查全部 /// @param searchKey 搜索 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseCourseware/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(status) forKey:@"status"]; [parm setValue:searchKey forKey:@"idAndName"]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/courseCourseware/remove /// 批量删除课件 /// @param post post /// @param ids 曲谱id /// @param success 成功 /// @param faliure 失败 + (void)courseCoursewareRemoveRequest:(NSString *)post ids:(NSString *)ids success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseCourseware/remove"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:ids forKey:@"ids"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 机构相关 /// 机构解绑 /// @param post post /// @param reson 原因 /// @param code 验证码 /// @param success 成功 /// @param faliure 失败 + (void)tenantUnbindRequest:(NSString *)post reson:(NSString *)reson code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/unbindTenant"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:reson forKey:@"unbindReason"]; [parm setValue:code forKey:@"code"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /teacher-server/teacher/unbindTenantCancel /// 撤销申请 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)unbindTenantCancelRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/unbindTenantCancel"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /teacher-server/teacher/unbindTenantDetail /// 解绑申请记录 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)unbindTenantDetailRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/unbindTenantDetail"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } /// 查询配置客服电话和手机号 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)queryConfigRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/queryConfig"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 修改密码新交互 // /aip-auth/user/checkPassword /// 校验密码 /// @param post psot /// @param password password /// @param success 成功 /// @param faliure 失败 + (void)checkPasswordRequest:(NSString *)post password:(NSString *)password success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/checkPassword"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:password forKey:@"password"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // user/checkVerityCode /// 校验验证码 /// @param post post /// @param code code /// @param success 成功 /// @param faliure 失败 + (void)checkVerityCodeRequest:(NSString *)post code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-auth/user/checkVerityCode"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:code forKey:@"code"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // user/setPassword /// 设置用户密码 /// @param post post /// @param password password /// @param code code /// @param success 成功 /// @param faliure 失败 + (void)setPasswordRequest:(NSString *)post password:(NSString *)password code:(NSString *)code success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:password forKey:@"password"]; [parm setValue:UserDefault(UIDKey) forKey:@"id"]; [parm setValue:code forKey:@"code"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setPassword"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /api-teacher/open/subject/queryPage /// 查询声部信息 /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)subjectQueryPageRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/open/subject/queryPage"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@"list" forKey:@"queryType"]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(9999) forKey:@"rows"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // 查询小组信息 // tenantGroup/page /// 查询小组信息 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)tenantGroupRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/tenantGroup/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ------ 草稿 // 测评记录查询详情 // userMusic/musicPracticeRecord /// 根据测评记录查询作品相关信息 /// @param get get /// @param recordId 测评记录ID /// @param success 成功 /// @param faliure 失败 + (void)musicPracticeRecordRequest:(NSString *)get recordId:(NSString *)recordId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { NSString *url = [NSString stringWithFormat:@"%@%@%@/%@", hostURL,@"/api-teacher", @"/userMusic/musicPracticeRecord",recordId]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // /userMusic/save /// 保存草稿、发布作品 /// @param post post /// @param jsonConfig json参数 /// @param img 图片url /// @param videoUrl 附件地址 /// @param accompanyUrl 伴奏地址 /// @param desc 描述 /// @param type 草稿 DRAFT 作品FORMAL, /// @param musicPracticeRecordId 云教练id /// @param videoImg 视频封面 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userMusic/save"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:jsonConfig forKey:@"jsonConfig"]; [parm setValue:img forKey:@"img"]; [parm setValue:videoUrl forKey:@"videoUrl"]; [parm setValue:accompanyUrl forKey:@"accompanyUrl"]; [parm setValue:desc forKey:@"desc"]; [parm setValue:type forKey:@"type"]; [parm setValue:videoImg forKey:@"videoImg"]; [parm setValue:musicPracticeRecordId forKey:@"musicPracticeRecordId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // edu-app/userMusic/page /// 我的作品分页查询 /// @param post post json /// @param type 草稿 DRAFT 作品FORMAL /// @param keyword 关键字 /// @param fileType 文件类型 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)userMusicPageRequest:(NSString *)post type:(NSString *)type keyword:(NSString *)keyword fileType:(NSString *)fileType page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userMusic/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:type forKey:@"type"]; [parm setValue:keyword forKey:@"keyword"]; [parm setValue:fileType forKey:@"fileType"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // edu-app/userMusic/remove /// 作品删除 /// @param post post form /// @param musicId 作品id /// @param success 成功 /// @param faliure 失败 + (void)userMusicRemoveRequest:(NSString *)post musicId:(NSString *)musicId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/userMusic/remove"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:musicId forKey:@"id"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } /// 更新极光推送设备id /// @param post post /// @param pushDeviceId 推送id /// @param access_token token /// @param success 成功 /// @param faliure 失败 + (void)updateRemotePushInfoRequest:(NSString *)post pushDeviceId:(NSString *)pushDeviceId access_token:(NSString *)access_token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSONWithToken:access_token]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL, @"/api-teacher", @"/user/updateImUserInfo"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:pushDeviceId forKey:@"imDeviceId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark --- 意见反馈 // api-teacher/sysSuggestionV2/save /** 意见反馈 @param post post @param content 内容 @param attachmentUrls 附件 @param success 成功 @param faliure 失败 */ + (void)suggestionAddRequest:(NSString *)post content:(NSString *)content attachmentUrls:(NSString *)attachmentUrls suggestionTypeId:(NSString *)suggestionTypeId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:content forKey:@"content"]; [parm setValue:UserDefault(PHONEKEY) forKey:@"mobileNo"]; [parm setValue:attachmentUrls forKey:@"attachmentUrls"]; [parm setValue:suggestionTypeId forKey:@"suggestionTypeId"]; [parm setValue:@"APP" forKey:@"type"]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/sysSuggestionV2/save"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /sysSuggestionType/page /// 查询平台反馈意见类型 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)sysSuggestionTypeRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/sysSuggestionType/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(1) forKey:@"page"]; [parm setValue:@(100) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /sysSuggestionV2/page /// 反馈列表 /// @param post post /// @param suggestionType 建议类型 /// @param startTime 开始时间 /// @param endTime 结束时间 /// @param page page /// @param rows row /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/sysSuggestionV2/page"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:@(page) forKey:@"page"]; [parm setValue:@(rows) forKey:@"rows"]; [parm setValue:suggestionType forKey:@"suggestionTypeId"]; [parm setValue:startTime forKey:@"startTime"]; [parm setValue:endTime forKey:@"endTime"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- Log 上报功能 // sysExceptionLog/save /// Log日志上报 /// @param post post /// @param access_token token /// @param logArray 上报内容 /// @param success 成功 /// @param faliure 失败 + (void)sysExceptionLogUpdate:(NSString *)post token:(NSString *)access_token logArray:(NSMutableArray *)logArray success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSONWithToken:access_token]; NSString *url = [NSString stringWithFormat:@"%@%@%@", hostURL,@"/api-auth", @"/sysExceptionLog/save"]; [self request:post andWithUrl:url and:logArray success:success faliure:faliure]; } // 客服相关 // GET /api-teacher/teacher/updateUserCustomerService /// 查询客服ID /// @param get get /// @param success 成功 /// @param faliure 失败 + (void)updateUserCustomerServiceRequest:(NSString *)get success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/updateUserCustomerService"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ----- 二维码 // /open/qrcode/scan /// 扫描二维码事件 /// @param post post /// @param uuid uuid /// @param success 成功 /// @param faliure 失败 + (void)scanQrCodeRequest:(NSString *)post uuid:(NSString *)uuid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSONWithToken:nil]; NSString *url = [NSString stringWithFormat:@"%@%@", OPEN_URL, @"/cbs-app/open/qrcode/scan"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:uuid forKey:@"uuid"]; [parm setValue:@"KLX" forKey:@"appKey"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [parm setValue:UserDefault(TokenKey) forKey:@"token"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /open/qrcode/verify /// 认证二维码 /// @param post post /// @param uuid uuid /// @param success 成功 /// @param faliure 失败 + (void)verifyQrcode:(NSString *)post uuid:(NSString *)uuid success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSONWithToken:nil]; NSString *url = [NSString stringWithFormat:@"%@%@", OPEN_URL, @"/cbs-app/open/qrcode/verify"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:uuid forKey:@"uuid"]; [parm setValue:@"KLX" forKey:@"appKey"]; [parm setValue:@"TEACHER" forKey:@"clientType"]; [parm setValue:UserDefault(TokenKey) forKey:@"token"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ------- 课程方案 // teacherSubjectPrice/list /// 获取老师课程方案列表 /// @param post post /// @param courseType 课程类型 VIP、 /// @param page 分页 /// @param rows 条数 /// @param success 成功 /// @param faliure 失败 + (void)teacherSubjectPriceRequest:(NSString *)post courseType:(NSString *)courseType page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacherSubjectPrice/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseType forKey:@"courseType"]; // [parm setValue:@(page) forKey:@"page"]; // [parm setValue:@(rows) forKey:@"rows"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // teacherSubjectPrice/delete /// 删除课程方案 /// @param post post /// @param programId 方案ID /// @param success 成功 /// @param faliure 失败 + (void)teacherSubjectPriceDeleteRequest:(NSString *)post programId:(NSString *)programId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacherSubjectPrice/delete"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:programId forKey:@"id"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // teacherSubjectPrice/saveOrUpdate /// 保存课程方案 /// @param post post /// @param courseType 课程类型 /// @param subjectName 声部名称 /// @param subjectId 声部ID /// @param subjectPrice 单课程价格 /// @param courseMinutes 课程时长 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/teacherSubjectPrice/saveOrUpdate"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseType forKey:@"courseType"]; [parm setValue:subjectName forKey:@"subjectName"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:subjectPrice forKey:@"subjectPrice"]; [parm setValue:courseMinutes forKey:@"courseMinutes"]; [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure]; } // /teacher-server/sysConfig/queryByParamNameList /// 查询课程调整时间配置参数 /// @param get get /// @param parms 配置参数查询 /// @param success 成功 /// @param faliure 失败 + (void)queryConfigLimit:(NSString *)get parms:(NSString *)parms success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestHeader]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/sysConfig/queryByParamNameList"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:parms forKey:@"paramNames"]; [self request:get andWithUrl:url and:parm success:success faliure:faliure]; } // teacher/querySubject /// 查询老师声部 /// @param post post /// @param success 成功 /// @param faliure 失败 + (void)queryTeacherSubject:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/teacher/querySubject"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } #pragma mark ---- 我的课程组 // courseGroup/myCourseGroup /// 我的课程组 /// @param post post /// @param courseType 课程类型 VIP、PRACTICE /// @param search 搜索关键字 /// @param subjectId 声部ID /// @param status 课程组状态 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseGroup/myCourseGroup"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseType forKey:@"courseType"]; [parm setValue:search forKey:@"search"]; [parm setValue:subjectId forKey:@"subjectId"]; [parm setValue:status forKey:@"status"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // courseGroup/getCourseGroup /// 查询课程组详情 /// @param post post /// @param courseGroupId 课程组编号 /// @param success 成功 /// @param faliure 失败 + (void)getCourseGroupDetailRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseGroup/getCourseGroup"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseGroupId forKey:@"courseGroupId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /courseSchedule/list /// 查询课程组关联课程 /// @param post post /// @param courseGroupId 课程组编号 /// @param classMonth 年月 /// @param attendanceStatus 考勤状态 /// @param status 课程状态 /// @param success 成功 /// @param faliure 失败 + (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 { [self configRequestMethodJSON]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseSchedule/list"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseGroupId forKey:@"courseGroupId"]; [parm setValue:classMonth forKey:@"classMonth"]; [parm setValue:attendanceStatus forKey:@"attendanceStatus"]; [parm setValue:status forKey:@"status"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // /courseGroup/queryStudentByGroupId /// 查询课程组关联学生 /// @param post post /// @param courseGroupId 课程组ID /// @param success 成功 /// @param faliure 失败 + (void)queryStudentByGroupIdRequest:(NSString *)post courseGroupId:(NSString *)courseGroupId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseGroup/queryStudentByGroupId"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseGroupId forKey:@"groupId"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } // courseGroup/updateCoursePlan /// 更新课程规划 /// @param post post /// @param courseGroupId 课程组编号 /// @param coursePlan 课程规划 /// @param success 成功 /// @param faliure 失败 + (void)updateCoursePlanRequset:(NSString *)post courseGroupId:(NSString *)courseGroupId coursePlan:(NSString *)coursePlan success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure { [self configRequestMethodForm]; NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-teacher/courseGroup/updateCoursePlan"]; NSMutableDictionary *parm = [NSMutableDictionary dictionary]; [parm setValue:courseGroupId forKey:@"groupId"]; [parm setValue:coursePlan forKey:@"coursePlan"]; [self request:post andWithUrl:url and:parm success:success faliure:faliure]; } @end