Files
yinmeng-ios/xplan-ios/Base/MVP/Api/Api.m
2024-03-26 16:46:59 +08:00

123 lines
4.9 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// Api.m
// xplan-ios
//
// Created by zu on 2021/9/6.
//
#import "Api.h"
@implementation Api
+ (void)makeRequest:(NSString *)route method:(HttpRequestHelperMethod)method completion:(HttpRequestHelperCompletion)completion, ... {
va_list arg_lists;
va_start(arg_lists, completion);
// 获取第一个参数 __FUNCTION__ ,然后解析出来 key 。
const char *functionName = va_arg(arg_lists, const char *);
NSString *fn = [[NSString alloc] initWithUTF8String:functionName];
// NSLog 一下 __FUNCTION__ 就知道为什么这么截取了。
NSRange blankRange = [fn rangeOfString:@":"];
NSUInteger start = blankRange.location + 1;
NSUInteger length;
if ((start + 2) < fn.length) {
length = fn.length - start - 2;
} else if ((start + 1) < fn.length) {
length = fn.length -start - 1;
} else {
length = fn.length -start;
}
NSString *fromatParamKeys = [fn substringWithRange:NSMakeRange(start, length)];
// 构造请求的 NSMutableDictionary *params 。
NSMutableDictionary *params = [NSMutableDictionary dictionary];
NSArray *paramKeys = [fromatParamKeys componentsSeparatedByString:@":"];
NSEnumerator *enumerator = [paramKeys objectEnumerator];
NSString *value = nil;
while((value = va_arg(arg_lists, NSString*))){
[params setValue:value forKey:enumerator.nextObject];
};
va_end(arg_lists);
[HttpRequestHelper request:route method:method params:params completion:completion];
}
+ (void)getUserInfo:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
[self makeRequest:@"user/get" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, nil];
}
/// 获取手机号的验证码
/// @param completion 请求完成
/// @param mobile 手机号
/// @param type 类型 请看XPEunm中的枚举
+ (void)phoneSmsCode:(HttpRequestHelperCompletion)completion mobile:(NSString *)mobile type:(NSString *)type {
[self makeRequest:@"sms/getCode" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, mobile, type, nil];
}
/// 校验手机号码
/// @param complection 完成
/// @param mobile 手机号
/// @param code 验证码
/// @param uid 用户的uid
/// @param ticket ticket
+ (void)checkMoblieCode:(HttpRequestHelperCompletion)complection
mobile:(NSString *)mobile
code:(NSString *)code
uid:(NSString *)uid
ticket:(NSString *)ticket {
[self makeRequest:@"sms/verify" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, mobile, code, uid, ticket,nil];
}
/// 补全用户资料
/// @param complection 完成
/// @param userInfo 需要更新的用户信息
+ (void)completeUserInfo:(HttpRequestHelperCompletion)complection
userInfo:(NSDictionary *)userInfo {
[HttpRequestHelper request:@"user/v2/update" method:HttpRequestHelperMethodPOST params:userInfo completion:complection];
}
/// 获取用户钱包余额信息
/// @param complection 完成
/// @param uid 用户uid
/// @param ticket ticketg
+ (void)getUserWalletInfo:(HttpRequestHelperCompletion)complection uid:(NSString *)uid ticket:(NSString *)ticket {
[self makeRequest:@"purse/query" method:HttpRequestHelperMethodGET completion:complection, __FUNCTION__, uid, ticket,nil];
}
/// 批量验证
/// @param complection 完成
/// @param transcationIdStr 需要验证的数据
+ (void)requestCheckTranscationIds:(HttpRequestHelperCompletion)complection
transcationIdStr:(NSString *)transcationIdStr {
[self makeRequest:@"verify/checkIOSChargeRecord" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__,transcationIdStr, nil];
}
/// 锁麦/开麦
/// @param complection 完成
/// @param roomUid 房主的uid
/// @param state 0 开麦 1 锁麦
/// @param position 坑位
/// @param ticket 用户的ticket
/// @param uid uid
+ (void)microMuteCompletion:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid state:(NSString *)state position:(NSString *)position ticket:(NSString *)ticket uid:(NSString *)uid {
[self makeRequest:@"room/mic/lockmic" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, roomUid, state, position, ticket, uid, nil];
}
/// 锁坑/开锁
/// @param complection 完成
/// @param roomUid 房主的uid
/// @param state 1锁坑位0取消锁即取消锁坑位
/// @param position 坑位
/// @param ticket 用户的ticket
/// @param uid uid
+ (void)microLockCompletion:(HttpRequestHelperCompletion)complection roomUid:(NSString *)roomUid state:(NSString *)state position:(NSString *)position ticket:(NSString *)ticket uid:(NSString *)uid {
[self makeRequest:@"room/mic/lockpos" method:HttpRequestHelperMethodPOST completion:complection, __FUNCTION__, roomUid, state, position, ticket, uid, nil];
}
///得到腾讯存储信息
+ (void)getQCloudInfo:(HttpRequestHelperCompletion)completion{
[self makeRequest:@"tencent/cos/getToken" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, nil];
}
@end