Page History

Home

Last edited by 张旭

北京中投视讯 iOS用户SDK1.1.5

1. 产品概述

北京中投视讯 iOS 用户 SDK 集成了十分完善的用户系统,为 iOS 开发者提供简单、便捷的接口。

2.版本更新说明
  • 2016.12.08(版本号:1.1.3)

    (1). 新增第三方账号绑定功能;

    (2). 上传头像接口返回数据新增头像地址;

    (3). 注册、登录、快捷登录及第三方登录,登录成功后新增部分字段信息;

  • 2017.3.23(版本号:1.1.4)

    (1). 添加查看多个用户接口;

  • 2017.06.06(版本号:1.1.5)

    (1). 添加通过邮箱修改密码接口;

    (2). 添加通过原密码修改密码接口;

    (3). 添加注册前校验手机验证码接口;

    (4). 添加快捷登录前校验手机验证码接口;

    (5). 添加验证第三方账号并登录接口;

    (6). 添加第三方注册强制绑定手机号登录接口;

3.SDK功能说明
  • 注册
  • 账号登录
  • 快捷登录
  • 第三方登录
  • 获取验证码(注册或修改手机号、快捷登录、找回或修改密码前获取验证码)
  • 更新手机号
  • 修改用户信息(昵称、性别、邮箱、联系方式)
  • 修改密码
  • 更新用户附加信息
  • 上传头像
  • 查询用户信息
  • 查询多个用户信息(new)
  • 绑定第三方账号
  • 用户反馈
  • 通过邮箱修改密码
  • 通过原密码修改密码
  • 注册前校验手机验证码
  • 快捷登录前校验手机验证码
  • 验证第三方账号并登录
  • 第三方注册强制绑定手机号登录
4.运行环境

最低支持iOS系统8.0 支持的CPU架构:armv7 、x86_64、 arm64

5.SDK集成方式

将CNLiveUserSystemSDK.framework引入到工程中,导入头文件:#import<CNLiveUserSystemSDK/CNLiveUserSystemCenter.h>

6.系统权限
<key>NSCameraUsageDescription</key>
<string>App需要您的同意,才能访问相机</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>此 App 需要您的同意才能读取媒体资料库</string>
7.SDK 使用方法
  • 初始化

必须在APP启动的时候将SDK进行初始化,请登录 中国网+视讯云开放平台注册账号信息获取AppId/AppKey/AppSceret .

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [CNLiveUserSystemCenter setAppId:AppId appKey:AppKey appSecret:AppSceret];
}
  • 注册
/**
 @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;

返回数据格式:

{    
        data =     {
               email = "";
               extInfo = "";
              faceUrl = "https://y1.cnliveimg.com/mobile/images/mobilehead/default/face_60X60.jpg";
              gender = n;
              hUid = "";
          location = "";
              mobile = 13161679011;
              nickName = "131xxxx9011_6224";
          qqUid = "";
          renrenUid = "";
          sinaUid = "";
               token = "gV0hemajp4R0Cr/dhXehb1v5uRlO0QQDiqOxxxxxxxOnvtyCU5ng4wEU";
              uid = 10389412;
              wxUid = "";
            };
        errorCode = 0;
        errorMessage = "\U6210\U529f";
}

注意: token有效期为一个月 , token失效后无法登陆,需要重新登陆生成新的token。

  • 登录
/**
 @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;

注意: token有效期为一个月 , token失效后无法登陆,需要重新登陆生成新的token。

  • 快捷登录
/**
 @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;

注意: token有效期为一个月 , token失效后无法登陆,需要重新登陆生成新的token。

  • 第三方登录
/**
 @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;

注*token有效期为一个月 , token失效后无法登陆,需要重新登陆生成新的token。

  • 获取验证码(快捷登录、找回或修改密码、注册或修改手机号)
/**
 @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;

VerificationCodeType说明:

  • 更新手机号
/**
 @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         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;

UserInfoType类型说明:

  • 修改密码(通过手机号修改)
/**
 @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         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         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         uid                     用户ID
 @param         srcUids                 被查询用户IDs
 @param         success                 成功回调
 @param         failure                 失败回调
 */
+ (void)queryMoreUserInfosWithUid:(NSString *)uid srcUids:(NSArray *)srcUids 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         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;
  • 通过邮箱修改密码
/**
 通过邮箱修改密码

 @param email 邮箱
 @param newPwd 新密码
 @param success 成功回调
 @param failure 失败回调
 */
+ (void)modifyPwdWithEmail:(NSString *)email newPwd:(NSString *)newPwd success:(void (^)(id result))success failure :(void (^)(NSDictionary *errorDic))failure;
  • 通过原密码修改密码
/**
 通过原密码修改密码

 @param uid 用户ID
 @param pwd 原密码
 @param newPwd 新密码
 @param success 成功回调
 @param failure 失败回调
 */
+ (void)oldPwdChangePasswordWithUid:(NSString *)uid pwd:(NSString *)pwd newPwd:(NSString *)newPwd success:(void (^)(id result))success failure :(void (^)(NSDictionary *errorDic))failure;
  • 注册前校验手机验证码
/**
 注册前校验手机验证码

 @param mobile 手机号
 @param verificationCode 验证码
 @param success 成功回调
 @param getVersion 失败回调
 */
+ (void)registerCheckVerificationCodeWithMobile:(NSString *)mobile verificationCode:(NSString *)verificationCode success:(void (^)(id result))success failure :(void (^)(NSDictionary *errorDic))failure;
  • 快捷登录前校验手机验证码
/**
 快捷登录前校验手机验证码

 @param mobile 手机号
 @param verificationCode 验证码
 @param success 成功回调
 @param failure 失败回调
 */
+ (void)shortcutLoginCheckVerificationCodeWithMobile:(NSString *)mobile verificationCode:(NSString *)verificationCode success:(void (^)(id result))success failure :(void (^)(NSDictionary *errorDic))failure;
  • 验证第三方账号并登录
/**
 验证第三方账号是否注册,若注册则直接登录返回用户信息,若未注册返回errorCode

 @param plat  第三方平台编号(如plat: 1:sina weibo 2:qq 3:weixin 4:renren 注:如qq登录,plat=@"2")
 @param thirdPartyId 第三方用户ID
 @param frmId 渠道ID(非必填)
 @param success 成功回调
 @param failure 失败回调
 */
+ (void)thirdPartyCheckLoginWithThirdPartyPlatType:(NSString *)plat thirdPartyId:(NSString *)thirdPartyId frmId:(NSString *)frmId success:(void (^)(id result))success failure :(void (^)(NSDictionary *errorDic))failure;
  • 第三方注册强制绑定手机号登录
/**
 第三方注册强制绑定手机号登录: 手机号+密码+验证码+三方账号

 @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 mobile 手机号
 @param verificationCode 验证码 (验证码类型为快捷登录VerificationCodeTypeShortcutLogin)
 @param pawd 注册密码
 @param frmId 渠道ID(非必填)
 @param success 成功回调
 @param failure 失败回调
 */
+ (void)thirdPartyBindMobileLoginWithThirdPartyPlatType:(NSString *)plat thirdPartyId:(NSString *)thirdPartyId nickName:(NSString *)nickName gender:(NSString *)gender location:(NSString *)location faceUrl:(NSString *)faceUrl mobile:(NSString *)mobile verificationCode:(NSString *)verificationCode pawd:(NSString *)pawd frmId:(NSString *)frmId success:(void (^)(id result))success failure:(void (^)(NSDictionary *errorDic))failure;
8.常见错误类型

返回数据格式:errorCode = 0 表示成功,其他均为接口访问失败,错误信息详见errorMessage

常见错误类型:

errorCode = "sys_1015";
errorMessage = "app 异常”;      
//appId和bundleID不一致

errorCode = "sys_1002";
errorMessage = "sign error”;  
//appKey和appId不一致

errorCode = "sys_1024";
errorMessage = “secret error”;     
//appSecret和appId不一致