CNLiveUserSystemCenter.h 9.2 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      初始化
 @param         appId                   注册成功获得应用ID
 @param         appKey                  注册成功获得应用key
 @param         appSecret               注册成功获得应用secret
 @warning       必传参数
                必须在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; 方法中调用
 */
+ (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 (^)(NSDictionary *errorDic))failure;


/**
 @abstract      第三方登录
 @param         plat                    第三方平台编号(如plat: 1:sina weibo 2:qq 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 (^)(NSDictionary *errorDic))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 (^)(NSDictionary *errorDic))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 (^)(NSDictionary *errorDic))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 (^)(NSDictionary *errorDic))failure;


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


/**
 @abstract      修改用户单项信息
 @param         type                    修改类型(nickName-昵称,gender-性别,email-邮箱, location-联系方式(地址))
 @param         uid                     用户ID
 @param         info                    对应的信息(注gender对应f/m/n)
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)modifyUserInfoType:(UserInfoType)type
                       uid:(NSString *)uid
                modifyInfo:(NSString *)info
                   success:(void (^)(id result))success
                   failure:(void (^)(NSDictionary *errorDic))failure;


/**
 @abstract      更新手机号
 @param         uid                     用户ID
 @param         mobile                  手机号
 @param         verificationCode        验证码
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)updateMobileWithUid:(NSString *)uid
                     mobile:(NSString *)mobile
           verificationCode:(NSString *)verificationCode
                    success:(void (^)(id result))success
                    failure:(void (^)(NSDictionary *errorDic))failure;


/**
 @abstract      绑定第三方账号
 @param         uid                     用户ID
 @param         plat                    第三方平台编号(如platform: 1:sina weibo 2:qq  3:weixin 4:renren                注:如绑定qq,thirdPartyPlat = @"2")
 @param         thirdPartyId            第三方用户ID
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)bindingThirdPartyWithUid:(NSString *)uid
              thirdPartyPlatType:(NSString *)plat
                    thirdPartyId:(NSString *)thirdPartyId
                         success:(void (^)(id result))success
                         failure:(void (^)(NSDictionary *errorDic))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 (^)(NSDictionary *errorDic))failure;


/**
 @abstract      上传头像
 @param         uid                     用户ID
 @param         icon                    头像
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)uploadIconWithUid:(NSString *)uid
                     icon:(UIImage *)icon
                  success:(void (^)(id result))success
                  failure:(void (^)(NSDictionary *errorDic))failure;


/**
 @abstract      查询用户信息
 @param         uid                     用户ID
 @param         srcUid                  被查询用户ID
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)queryUserInfoWithUid:(NSString *)uid
                      srcUid:(NSString *)srcUid
                     success:(void (^)(id result))success
                     failure:(void (^)(NSDictionary *errorDic))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 (^)(NSDictionary *errorDic))failure;


/**
 *  获取SDK版本号
 */
+ (NSString *)getVersion;

@end