CNLiveUserSystemCenter.h 7.56 KB
//
//  CNLiveUserSystemCenter.h
//  CNLiveUserSystemDemo
//
//  Created by iOS on 16/9/12.
//  Copyright © 2016年 zhulin. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "CNLiveUserSystemTypeDef.h"
#import <UIKit/UIKit.h>

@interface CNLiveUserSystemCenter : NSObject

/**
 @abstract      配置appId,appKey
 @param         appId                   应用ID
 @param         appKey                  注册后的应用key
 @warning       必传参数,AppDelegate中调用
 */
+ (void)setAppId:(NSString *)appId appKey:(NSString *)appKey appSecret:(NSString *)appSecret;

/**
 @abstract      注册
 @param         userName                邮箱或手机
 @param         password                密码
 @param         verificationCode        手机验证码(手机号注册时必填)
 @param         invitationCode          邀请码(非必填)
 @param         frmId                   渠道ID(非必填)
 @param         success                 注册成功回调
 @param         failure                 注册失败回调
 */
+ (void)registerWithUserName:(NSString *)userName password:(NSString *)password verificationCode:(NSString *)verificationCode invitationCode:(NSString *)invitationCode frmId:(NSString *)frmId success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      第三方登录
 @param         plat                    第三方平台编号(如platform: 1:sina weibo 2:qq weibo 3:weixin 4:renren 注:如qq登录,plat=@"2")
 @param         thirdPartyId            第三方用户ID
 @param         nickName                用户昵称
 @param         gender                  性别,m:男、f:女、n:未知(非必填)
 @param         location                用户所在地(非必填)
 @param         faceUrl                 头像,约100*100(非必填)
 @param         frmId                   渠道ID(非必填)
 @param         success                 第三方登录成功回调
 @param         failure                 第三方登录失败回调
 */
+ (void)thirdPartyLoginWithThirdPartyPlatType:(NSString *)plat thirdPartyId:(NSString *)thirdPartyId nickName:(NSString *)nickName gender:(NSString *)gender location:(NSString *)location faceUrl:(NSString *)faceUrl frmId:(NSString *)frmId success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      快捷登录
 @param         userName                手机号
 @param         verificationCode        验证码
 @param         frmId                   渠道ID(非必填)
 @param         success                 快捷登录成功回调
 @param         failure                 快捷登录失败回调
 */
+ (void)shortcutLoginWithUserName:(NSString *)userName verificationCode:(NSString *)verificationCode frmId:(NSString *)frmId success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      登录
 @param         userName                手机号或邮箱
 @param         password                密码
 @param         frmId                   渠道ID(非必填)
 @param         success                 登录成功回调
 @param         failure                 登录失败回调
 */
+ (void)loginWithUserName:(NSString *)userName password:(NSString *)password frmId:(NSString *)frmId success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      发送验证码
 @param         mobile                  手机号
 @param         type                    发送验证码类型(详见VerificationCodeType)
 @param         success                 发送验证码成功回调
 @param         failure                 发送验证码失败回调

 */
+ (void)verificationCodeType:(VerificationCodeType)type mobile:(NSString *)mobile success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      更新用户附加信息
 @param         uid                     用户ID
 @param         extInfo                 扩展信息(格式由对方自己组织,平台只负责存储和原样读取,NSString类型)
 @param         token                   平台token(登录成功返回token)
 @param         success                 更新用户附加信息成功回调
 @param         failure                 更新用户附加信息失败回调
 */
+ (void)updateOtherInfoWithUid:(NSString *)uid extInfo:(NSString *)extInfo token:(NSString *)token success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      修改用户单项信息
 @param         type                    修改类型(nickName-昵称,gender-性别,email-邮箱, location-联系方式)
 @param         uid                     用户ID
 @param         info                    对应的信息(注gender对应f/m)
 @param         token                   平台token(登录成功返回token)
 @param         success                 修改用户单项信息成功回调
 @param         failure                 修改用户单项信息失败回调

 */
+ (void)modifyUserInfoType:(UserInfoType)type uid:(NSString *)uid modifyInfo:(NSString *)info token:(NSString *)token success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      更新手机号
 @param         uid                     用户ID
 @param         mobile                  手机号
 @param         verificationCode        验证码
 @param         token                   平台token(登录成功返回token)
 @param         success                 更新手机号成功回调
 @param         failure                 更新手机号失败回调

 */
+ (void)updateMobileWithUid:(NSString *)uid mobile:(NSString *)mobile verificationCode:(NSString *)verificationCode token:(NSString *)token success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      修改密码(通过手机号修改)
 @param         mobile                  手机号
 @param         verificationCode        验证码
 @param         newPassword             用户昵称
 @param         success                 修改密码成功回调
 @param         failure                 修改密码失败回调

 */
+ (void)changePasswordWithMobile:(NSString *)mobile verificationCode:(NSString *)verificationCode newPassword:(NSString *)newPassword success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;


/**
 *  上传头像
 */
+ (void)uploadIconWithUid:(NSString *)uid token:(NSString *)token icon:(UIImage *)icon success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      查询用户信息
 @param         uid                     用户ID
 @param         srcUid                  被查询用户ID
 @param         token                   平台token(登录成功返回token)
 @param         success                 查询用户信息成功回调
 @param         failure                 查询用户信息失败回调
 */
+ (void)queryUserInfoWithUid:(NSString *)uid srcUid:(NSString *)srcUid token:(NSString *)token success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;

/**
 @abstract      用户反馈
 @param         contentId               举报内容ID
 @param         message                 举报内容(app自己组织-不能带特殊字符&号等)
 @param         success                 用户反馈成功回调
 @param         failure                 用户反馈失败回调

 */
+ (void)feedbackWithContentId:(NSString *)contentId message:(NSString *)message success:(void (^)(id result))success failure :(void (^)(NSError *error))failure;


@end