用户管理

用户相关的所有功能对应IOTSmartUser类。(单例)

用户注册

用户注册有手机号和邮箱两种注册方式,都需要分两步实现,第一步是发送验证码到手机或邮箱;第二步是使用验证码注册,注册成功即为登录成功,不需要再次调用登录方法。

发送注册验证码到手机 (此短消息模版是青莲云注册用户消息模版)

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void)sendVerifyCode {

    ​ [[IOTSmartUser sharedInstance] IOTCloudSDK_registerSendVerifyCodeByPhoneNum:@"your_phone_number" zone: @"your_phone_zone" success:^{

    ​ NSLog(@"sendVerifyCode success");

} failure:^(int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

发送验证码到手机 (此短消息模版是青莲云注册用户消息模版)不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号

例子:

  • (void)sendVerifyCode {

    [[IOTSmartUser sharedInstance] IOTCloudSDK_registerSendVerifyCodeByPhoneNum:@"your_phone_number" success:^{

    NSLog(@"sendVerifyCode success");

} failure:^(int errNo,NSString *errMessage) {

NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用手机验证码注册

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0
password String 注册的账号密码
smscode String 手机接收到的验证码

例子:

  • (void)registerByPhone {

         ​    [[IOTSmartUser sharedInstance] IOTCloudSDK_registerByPhoneNum:@"your_phone_number" zone: @"your_phone_zone" password:@"your_password" smsCode:@"verify_code" success:^{
    
     ​    ​    NSLog(@"register success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"register failure: %@", errMessage);

}];

}

发送注册验证码到邮箱(此邮件模版是青莲云注册用户消息模版)

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱账户

例子:

  • (void) sendVerifyCode {

         ​    [[IOTSmartUser sharedInstance] IOTCloudSDK_registerSendVerifyCodeByEmail:@"your_email" success:^{
    
     ​    ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用邮箱注册

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱账户
password String 注册的账号密码
smscode String 邮箱接收到的验证码

例子:

  • (void)registerByEmail {

         ​    [[IOTSmartUser sharedInstance] IOTCloudSDK_registerByEmail:@"your_email" password:@"your_password" smsCode:@"verify_code" success:^{
    
     ​    ​    NSLog(@"register success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"register failure: %@", errMessage);

}];

}

使用邮箱注册没有验证邮箱真实性

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱账户
password String 注册的账号密码

例子:

  • (void)registerByEmail {

         ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_registerByEmail:@"your_email" password:@"your_password" success:^{~~
    
         ​    ~~NSLog(@"register success");~~
    

} failure:^( int errNo,NSString *errMessage) {

NSLog(@"register failure: %@", errMessage);

}];

}

用户登录

使用手机号与密码进行登录。

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void)loginByPhoneAndPassword {

         [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByPhoneNum:@"your_phone_number" password:@"your_password"  zone: @"your_phone_zone"  success:^{
    
         ​    NSLog(@"login success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"login failure: %@", errMessage);

}];

}

使用手机号与密码进行登录。不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码

例子:

  • (void)loginByPhoneAndPassword {

         ​    ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_loginByPhoneNum:@"your_phone_number" password:@"your_password" success:^{~~
    
     ​    ​    ~~NSLog(@"login success");~~
    

} failure:^( int errNo,NSString *errMessage) {

NSLog(@"login failure: %@", errMessage);

}];

}

使用邮箱与密码进行登录。

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱账户
password String 注册的账号密码

例子:

  • (void)loginByEmailAndPassword {

         ​    [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByEmail:@"your_email" password:@"your_password" success:^{
    
     ​    ​    NSLog(@"login success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"login failure: %@", errMessage);

}];

}

微信登录

首先用户需要先从微信开放平台上下载微信登录的SDK接入工程,并在微信开放平台上注册应用,获取AppId,然后调用青莲云接口获取用户的微信账户信息,最后把用户信息与手机号绑定。

注意,如果检测到此微信账号已与在青莲云注册的手机号绑定过,则返回已绑定且登录成功。如果此微信账号尚未与在青莲云注册的手机号绑定过,登录则返回的是用户的微信账户信息(IOTSmartWechatUserModel),并返回尚未绑定,用户需要将此账户与手机号绑定后方能登录成功。如下:

用户微信账号已与在青莲云注册的手机号绑定过,返回已绑定且登录成功:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在微信开放平台提交应用审核通过后获得
code String 调用微信开放平台上,微信授权登录接口获得 授权临时票据

例子:

  • (void)loginByWechat {

            [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByWechatAppId:@"your_wechat_AppId" code: @"your_wechat_code" success:^( IOTSmartWechatUserModel *wechatModel, BOOL isBind) {
    

// wechatModelnilisBind1 NSLog(@"loginByWechat success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"loginByWechat failure: %@", errMessage); }]; }

用户微信账号尚未与在青莲云注册的手机号绑定过,返回用户的微信账户信息IOTSmartWechatUserModel类对象:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在微信开放平台提交应用审核通过后获得
code String 调用微信开放平台上,微信授权登录接口获得 授权临时票据

例子:

  • (void)loginByWechat {

            [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByWechatAppId:@"your_wechat_AppId" code: @"your_wechat_code" success:^( IOTSmartWechatUserModel *wechatModel, BOOL isBind) {
    

    // wechatModel为微信账户信息实体,isBind为0

            NSLog(@"loginByWechat success");
    

} failure:^(int errNo,NSString *errMessage) {

​ NSLog(@"loginByWechat failure: %@", errMessage);

}];

}

微信账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)

请求参数:

参数名 类型 说明 备注 必需
wechatModel IOTSmartWechatUserModel 实体类对象 2.3.2接口获取的IOTSmartWechatUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void)bindWechat {

         ​    [[IOTSmartUser sharedInstance] IOTCloudSDK_bindWechatWithThirdUserModel:@"your_ wechatModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code" zone: @"your_phone_zone" success:^ {
    
     ​    ​    NSLog(@"bindWechat success");
    

} failure:^(int errNo,NSString *errMessage) {

​ NSLog(@"bindWechat failure: %@", errMessage);

}];

}

微信账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
wechatModel IOTSmartWechatUserModel 实体类对象 2.3.2接口获取的IOTSmartWechatUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码

例子:

  • (void)bindWechat {

             ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_bindWechatWithThirdUserModel:@"your_ wechatModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code" success:^ {~~
    
         ​    ~~NSLog(@"bindWechat success");~~
    

} failure:^(int errNo,NSString *errMessage) {

NSLog(@"bindWechat failure: %@", errMessage);

}];

}

微信账号与邮箱绑定:(此步骤获取邮箱验证码同以上2.1.3)

请求参数:

参数名 类型 说明 备注 必需
wechatModel IOTSmartWechatUserModel 实体类对象 2.3.2接口获取的IOTSmartWechatUserModel实体类
email String 邮箱 要绑定的邮箱
password String 设置密码
smsCode String 验证码

例子:

  • (void)bindWechat {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_bindWechatWithThirdUserModel:@"your_ wechatModel " email: @"your_emial" password:@"your_password" smsCode:@"verify_code" success:^ {
    
         ​    NSLog(@"bindWechat success");
    

} failure:^(int errNo,NSString *errMessage) {

​ NSLog(@"bindWechat failure: %@", errMessage);

}];

}

QQ登录

首先用户需要先从腾讯开放平台上下载qq登录的SDK接入工程,并在腾讯开放平台上注册应用,获取AppId,然后调用青莲云接口获取用户的的信息,最后把用户信息与手机号绑定。

注意,如果检测到此QQ账号已与在青莲云注册的手机号绑定过,则返回已绑定且登录成功。如果此QQ账号尚未与在青莲云注册的手机号绑定过,登录则返回的是用户的QQ账户信息(IOTSmartQQUserModel),并返回尚未绑定,用户需要将此账户与手机号绑定后方能登录成功。如下:

用户QQ账号已与在青莲云注册的手机号绑定过,返回已绑定且登录成功:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在腾讯开放平台提交应用审核通过后获得
AppKey String 应用唯一标识,在腾讯开放平台提交应用审核通过后获得
code String 调用腾讯开放平台上,腾讯授权登录接口获得
nickName String 调用腾讯开放平台上,腾讯授权登录接口获得
sex String 调用腾讯开放平台上,腾讯授权登录接口获得
headimgurl String 调用腾讯开放平台上,腾讯授权登录接口获得

例子:

  • (void)loginByQQ {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByQQAppId:@"your_QQ_AppId" qqAppKey: @"your_QQ_AppKey" code: @"your_QQ_code" nickname: @"your_QQ_nickName" sex: @"your_QQ_sex" headimgurl: @"your_QQ_headimgurl" success:^( IOTSmartQQUserModel *QQModel, BOOL isBind) {
    

// QQModelnilisBind1 NSLog(@"loginByQQ success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"loginByQQ failure: %@", errMessage);

}]; }

用户QQ账号尚未与在青莲云注册的手机号绑定过,返回用户的QQ账户信息IOTSmartQQUserModel类对象:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在腾讯开放平台提交应用审核通过后获得
AppKey String 应用唯一标识,在腾讯开放平台提交应用审核通过后获得
code String 调用腾讯开放平台上,腾讯授权登录接口获得
nickName String 调用腾讯开放平台上,腾讯授权登录接口获得
sex String 调用腾讯开放平台上,腾讯授权登录接口获得
headimgurl String 调用腾讯开放平台上,腾讯授权登录接口获得

例子:

  • (void)loginByQQ {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByQQAppId:@"your_QQ_AppId" qqAppKey: @"your_QQ_AppKey" code: @"your_QQ_code" nickname: @"your_QQ_nickName" sex: @"your_QQ_sex" headimgurl: @"your_QQ_headimgurl" success:^( IOTSmartQQUserModel *QQModel, BOOL isBind) {
    

    // QQModel为QQ账户信息实体,isBind为0

             NSLog(@"loginByQQ success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"loginByQQ failure: %@", errMessage);

}];

}

QQ账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)

请求参数:

参数名 类型 说明 备注 必需
QQModel IOTSmartQQUserModel 实体类对象 2.3.2接口获取的IOTSmartQQUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void)bindQQ {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_bindQQWithThirdUserModel:@"your_ qqModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code" zone: @"your_phone_zone" success:^ {
    
         ​    NSLog(@"bindQQ success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"bindQQ failure: %@", errMessage);

}];

}

QQ账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
QQModel IOTSmartQQUserModel 实体类对象 2.3.2接口获取的IOTSmartQQUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码

~~例子:~~

- ~~(void)bindQQ {~~

           ​    ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_bindQQWithThirdUserModel:@"your_ qqModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code"~~
~~success:^ {~~

           ​    ~~NSLog(@"bindQQ success");~~

~~} failure:^( int errNo,NSString *errMessage) {~~

​               ~~NSLog(@"bindQQ failure: %@", errMessage);~~

~~}];~~

~~}~~

QQ账号与邮箱绑定:(此步骤获取邮箱验证码同以上2.1.3)

请求参数:

参数名 类型 说明 备注 必需
QQModel IOTSmartQQUserModel 实体类对象 2.3.2接口获取的IOTSmartQQUserModel实体类
email string 邮箱 要绑定的邮箱
password String 设置密码
smsCode String 验证码

例子:

  • (void)bindQQ {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_bindQQWithThirdUserModel:@"your_ qqModel " email: @"your_email" password:@"your_password" smsCode:@"verify_code"  success:^ {
    
         ​    NSLog(@"bindQQ success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"bindQQ failure: %@", errMessage);

}];

}

微博登录

首先用户需要先从微博开放平台上下载微博登录的SDK接入工程,并在微博开放平台上注册应用,获取AppId,然后调用青莲云接口获取用户的的信息,最后把用户信息与手机号绑定。

注意,如果检测到此微博账号已与在青莲云注册的手机号绑定过,则返回已绑定且登录成功。如果此微博账号尚未与在青莲云注册的手机号绑定过,登录则返回的是用户的微博账户信息(IOTSmartWebUserModel),并返回尚未绑定,用户需要将此账户与手机号绑定后方能登录成功。如下:

用户微博账号已与在青莲云注册的手机号绑定过,返回已绑定且登录成功:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在微博开放平台提交应用审核通过后获得
AppKey String 应用唯一标识,在微博开放平台提交应用审核通过后获得
code String 调用微博开放平台上,微博授权登录接口获得
accessToken String 调用微博开放平台上,微博授权登录接口获得

例子:

  • (void)loginByWeb {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByWebAppId:@"your_Web_AppId" webAppKey: @"your_Web_AppKey" code: @"your_Web_code" accessToken :@"your_Web_accessToken" success:^( IOTSmartWebUserModel *webModel, BOOL isBind) {
    

//webModelnilisBind1 NSLog(@"loginByWeb success"); }failure:^( int errNo,NSString *errMessage) { NSLog(@"loginByWeb failure: %@", errMessage); }]; }

用户微博账号尚未与在青莲云注册的手机号绑定过,返回用户的微博账户信息IOTSmartWebUserModel类对象:

请求参数:

参数名 类型 说明 备注 必需
AppId String 应用唯一标识,在微博开放平台提交应用审核通过后获得
AppKey String 应用唯一标识,在微博开放平台提交应用审核通过后获得
code String 调用微博开放平台上,微博授权登录接口获得
accessToken String 调用微博开放平台上,微博授权登录接口获得

例子:

  • (void)loginByWeb {

         [[IOTSmartUser sharedInstance] IOTCloudSDK_loginByWebAppId:@"your_Web_AppId" webAppKey: @"your_Web_AppKey" code: @"your_Web_code" accessToken :@"your_Web_accessToken" success:^( IOTSmartWebUserModel *webModel, BOOL isBind) {
    

// webModel为Web账户信息实体,isBind为0

           NSLog(@"loginByWeb success");

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"loginByWeb failure: %@", errMessage);

}];

}

微博账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)

请求参数:

参数名 类型 说明 备注 必需
OauthModel IOTSmartWebUserModel 实体类对象 2.3.2接口获取的IOTSmartWebUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void)bindWeb {

         [[IOTSmartUser sharedInstance] IOTCloudSDK_bindWebWithThirdUserModel :@"your_ webModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code" zone: @"your_phone_zone" success:^ {
    
     ​    NSLog(@"bindWeb success");
    

}failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"bindWeb failure: %@", errMessage);

}];

}

微博账号与手机号绑定:(此步骤获取手机验证码同以上2.1.1)不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
OauthModel IOTSmartWebUserModel 实体类对象 2.3.2接口获取的IOTSmartWebUserModel实体类
phone String 手机号码 要绑定的手机号
password String 设置密码
smsCode String 验证码

例子:

  • (void)bindWeb {

             ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_bindWebWithThirdUserModel :@"your_ webModel " phoneNum: @"your_phone_number" password:@"your_password" smsCode:@"verify_code"~~
    

    success:^ {

             ~~NSLog(@"bindWeb success");~~
    

}failure:^( int errNo,NSString *errMessage) {

NSLog(@"bindWeb failure: %@", errMessage);

}];

}

微博账号与邮箱绑定:(此步骤获取邮箱验证码同以上2.1.3)

请求参数:

参数名 类型 说明 备注 必需
OauthModel IOTSmartWebUserModel 实体类对象 2.3.2接口获取的IOTSmartWebUserModel实体类
email String 邮箱 要绑定的邮箱
password String 设置密码
smsCode String 验证码

例子:

  • (void)bindWeb {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_bindWebWithThirdUserModel :@"your_ webModel " email: @"your_email" password:@"your_password" smsCode:@"verify_code" success:^ {
    
     ​    ​    NSLog(@"bindWeb success");
    

}failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"bindWeb failure: %@", errMessage);

}];

}

找回密码

找回密码需要分两步,第一步是发送验证码到手机或邮箱;第二步是使用验证码重置密码。

发送找回密码验证码到手机 (此短消息模版是青莲云找回密码消息模版,与2.1.1不同)

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_resetPswSendVerifyCodeByPhoneNum:@"your_phone_number"   zone: @"your_phone_zone" success:^{
    
     ​    ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

发送验证码到手机 (此短消息模版是青莲云找回密码消息模版,与2.1.1不同)不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号

例子:

  • (void) sendVerifyCode {

             ~~[[IOTSmartUser sharedInstance] IOTCloudSDK_resetPswSendVerifyCodeByPhoneNum success:^{~~
    
         ​    ~~NSLog(@"sendVerifyCode success");~~
    

} failure:^( int errNo,NSString *errMessage) {

NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用手机验证码重置密码

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码
smsCode String 手机接收到的验证码
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

- (void)resetPassword{ [[IOTSmartUser sharedInstance] IOTCloudSDK_resetPasswordByPhoneNum:@"your_phone_number" password:@"your_password" smsCode:@"verify_code" zone: @"your_phone_zone" success:^{ NSLog(@"resetPassword success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"resetPassword failure: %@", errMessage); }]; }

使用手机验证码重置密码不支持国外手机号

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 接收验证码的手机号
password String 注册的账号密码
smsCode String 手机接收到的验证码

例子:

- (void)resetPassword{ [[IOTSmartUser sharedInstance] IOTCloudSDK_resetPasswordByPhoneNum:@"your_phone_number" password:@"your_password" smsCode:@"verify_code" success:^{ NSLog(@"resetPassword success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"resetPassword failure: %@", errMessage); }]; }

发送找回密码验证码到邮箱(此邮件模版是青莲云找回密码消息模版,与2.1.3不同)

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_resetPswSendVerifyCodeByEmail:@"your_email" success:^{
    
         ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用邮箱验证码重置密码

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱
password String 注册的账号密码
smsCode String 手机接收到的验证码

例子:

- (void)resetPassword{ [[IOTSmartUser sharedInstance] IOTCloudSDK_resetPasswordByEmail:@"your_email" password:@"your_password" smsCode:@"verify_code" success:^{ NSLog(@"resetPassword success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"resetPassword failure: %@", errMessage); }]; }

获取用户信息

登录之后的用户才能获取用户信息,如:头像、昵称、用户id、用户邮箱等。返回IOTSmartAccountModel实例。

请求参数:无

例子:

- (void)getUserInfo{

​ [[IOTSmartUser sharedInstance] IOTCloudSDK_getAccountInfoSuccess:^ ( IOTSmartAccountModel accountModel){ ​ NSLog(@"getUserInfo success"); } failure:^( int errNo,NSString errMessage) { ​ NSLog(@"getUserInfo failure: %@",errMessage); }];

}

修改密码

登录之后的用户才能进行密码的修改。使用单点登录服务的在密码修改完成后应立即调用用户退出接口(本文档2.16)退出登录,并跳转到登录页面,让用户用新密码重新登录。

请求参数:

参数名 类型 说明 备注 必需
oldPassword String 之前的账号密码
newPassword String 新设置的账号密码

例子:

- (void)updatePassword{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyPasswordByNewPassword:@"your_new_password" oldPassword:@"your_old_password" success:^{ NSLog(@"updatePassword success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updatePassword failure: %@", errMessage); }]; }

修改昵称

登录之后的用户才能进行昵称的修改。

请求参数:

参数名 类型 说明 备注 必需
name String 用户的昵称 修改后的昵称

例子:

- (void)updateNickName{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyNickNameByName:@"your_new_nickName" success:^{ NSLog(@"updateNickName success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updateNickName failure: %@", errMessage); }]; }

修改邮箱

登录之后的用户才能进行邮箱的修改。修改邮箱需要分两步,第一步是发送验证码到新的邮箱;第二步是使用验证码修改邮箱。

发送修改邮箱验证码到邮箱(此邮件模版是青莲云修改邮箱消息模版,与2.1.3不同)

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱 修改后的邮箱

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyEmailSendVerifyCodeByEmail:@" your_new_Email "  success:^{
    
         ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用邮箱验证码修改邮箱

请求参数:

参数名 类型 说明 备注 必需
email String 用户的邮箱 修改后的邮箱
smscode String 邮箱收到的验证码

例子:

- (void)updateEmail{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyEmailByEmail:@"your_new_Email" smsCode:@"verify_code" success:^{ NSLog(@"updateEmail success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updateEmail failure: %@", errMessage); }]; }

修改邮箱

登录之后的用户才能进行邮箱的修改。没有验证修改后的邮箱真实性

请求参数:

参数名 类型 说明 备注 必需
email String 用户的邮箱 修改后的邮箱

例子:

- (void)updateEmail{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyEmailByEmail:@"your_new_Email" success:^{ NSLog(@"updateEmail success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updateEmail failure: %@", errMessage); }]; }

修改头像

登录之后的用户才能进行头像的修改。

请求参数:

参数名 类型 说明 备注 必需
headimgData NSData 用户的头像数据 修改后的头像

例子:

- (void)updateHeadImage{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyHeadImageByHeadImageData:@"your_new_headImage_data" success:^{ NSLog(@"updateHeadImage success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updateHeadImage failure: %@", errMessage); }]; }

修改手机号

登录之后的用户才能进行手机号的修改。修改手机号需要分两步,第一步是发送验证码到新的手机;第二步是使用验证码修改手机号。

发送修改手机号验证码到手机(此消息模版是青莲云修改邮箱消息模版,与2.1.1不同)

请求参数:

参数名 类型 说明 备注 必需
phone String 手机号码 修改后的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyPhoneSendVerifyCodeByPhoneNum:@"your_new_phone_number"   zone: @"your_new _phone_zone" success:^{
    
         ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用手机验证码修改手机号

请求参数:

参数名 类型 说明 备注 必需
phoneNum String 用户的手机号 修改后的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0
smscode String 手机收到的验证码

例子:

- (void)updatePhoneNum{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyPhoneNumByPhoneNum: @"your_new_phone_number" zone: @"your_new _phone_zone" smsCode:@"verify_code" success:^{ NSLog(@"updatePhoneNum success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updatePhoneNum failure: %@", errMessage); }]; }

修改手机号

登录之后的用户才能进行手机号的修改。没有验证修改后的手机号真实性

请求参数:

参数名 类型 说明 备注 必需
phoneNum String 用户的手机号 修改后的手机号

例子:

- (void)updatePhoneNum{ [[IOTSmartUser sharedInstance] IOTCloudSDK_modifyPhoneNumByPhoneNum:@"your_phoneNum" success:^{ NSLog(@"updatePhoneNum success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"updatePhoneNum failure: %@", errMessage); }]; }

激活邮箱

登录之后的用户才能进行邮箱的激活。由于新的SDK对邮箱注册做了验证码验证,所以此接口没有必要了。

请求参数:

参数名 类型 说明 备注 必需
email String 用户的邮箱

例子:

- (void)activateEmail{ [[IOTSmartUser sharedInstance] IOTCloudSDK_activateEmailByEmail:@"your _Email" success:^{ NSLog(@"activateEmail success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"activateEmail failure: %@", errMessage); }]; }

验证用户密码

登录之后的用户才能进行密码的验证。

请求参数:

参数名 类型 说明 备注 必需
password String 密码

例子:

  • (void) verifypsw {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_verifyPswByPsw:@"your_password"  success:^{
    
         ​    NSLog(@"verifypsw success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"verifypsw failure: %@", errMessage);

}];

}

获取当前登录状态

请求参数:无

例子:

- (void) getUserLoginState{

BOOL isLogin= [[IOTSmartUser sharedInstance] IOTCloudSDK_getIsLogin];

}

退出登录

请求参数:无

例子:

  • (void) signOut {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_Signout];
    

}

监听用户下线通知

手机端要监听用户下线消息。需要将自身作为IOTSmartNotificationUserOutlineMessage通知的观察者。当收到该该通知时建议,提示用户已经下线并退出到登录页面,此时无需再调用IOTCloudSDK_Signout方法。

用户注销账户

用户注销有两种方式,都需要分为两步。第一步是获取(手机/邮箱)验证码,第二步是使用(手机/邮箱)验证码注销用户。

发送注销用户验证码到手机。

请求参数:

参数名 类型 说明 备注 必需
phoneNum String 手机号码 用户的手机号
zone String 区号(如中国大陆手机号写“0086”) 默认四位,不足四位前面补0

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_logoutSendVerifyCodeByPhoneNum:@"your _phone_number"   zone: @"your _phone_zone" success:^{
    
         ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用手机号验证码注销账户。

请求参数:

参数名 类型 说明 备注 必需
smsCode String 注销账户的验证码 手机号验证码
reason String 注销账户的原因 便于审核是否允许注销

例子:

  • (void) commitLogout {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_commitLogoutWithPhoneSmsCode: @"verify_code" reason:@"logout_reason" success:^{
    
         ​    NSLog(@"commitLogout success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"commitLogout failure: %@", errMessage);

}];

}

发送注销账户验证码到邮箱。

请求参数:

参数名 类型 说明 备注 必需
email String 邮箱账号 要注销账户的绑定邮箱

例子:

  • (void) sendVerifyCode {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_logoutSendVerifyCodeByEmail:@"your_email_number" success:^{
    
         ​    NSLog(@"sendVerifyCode success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"sendVerifyCode failure: %@", errMessage);

}];

}

使用邮箱验证码注销账户

请求参数:

参数名 类型 说明 备注 必需
smsCode String 注销账户的验证码 邮箱收到的验证码
reason String 注销账户的原因 便于审核是否允许注销

例子:

  • (void) commitLogout {

             [[IOTSmartUser sharedInstance] IOTCloudSDK_commitLogoutWithEmailSmsCode: @"verify_code" reason:@"logout_reason" success:^{
    
         ​    NSLog(@"commitLogout success");
    

} failure:^( int errNo,NSString *errMessage) {

​ NSLog(@"commitLogout failure: %@", errMessage);

}];

}

获取用户注销状态

​ 通过该接口可以获取到当前用户的注销状态(logoutStatus:-1 未提交注销、0 提交注销未审核、1 提交注销已审核)。

请求参数:无

例子:

- (void)getLogoutState{ [[IOTSmartUser sharedInstance] IOTCloudSDK_checkLogoutSuccess:^ (int logoutStatus){ NSLog(@"checkLogout success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"checkLogout failure: %@", errMessage); }]; }

取消账户注销

​ 用户在提交申请注销和审核通过后的30天内可通过此接口取消注销账户。

参数:无

例子:

- (void)cancelLogout{ [[IOTSmartUser sharedInstance] IOTCloudSDK_cancleLogoutSuccess:^{ NSLog(@"cancelLogout success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"cancelLogout failure: %@", errMessage); }]; }

获取用户第三方账号绑定状态

​ 用户可通过此方法来获取该账号的第三方账号(微信、QQ、微博)绑定情况

请求参数:无

例子:

- (void)getThirdBindInfo{ [[IOTSmartUser sharedInstance] IOTCloudSDK_getThirdPartyBindInfoSuccess:^( BOOL wxIsBind, BOOL qqIsBind, BOOL webIsBind){ NSLog(@"getThirdBindInfo success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"getThirdBindInfo failure: %@", errMessage); }]; }

检查第三方账号是否已被其他用户绑定

​ 用户检查当前授权的第三方账号是否已被其他用户绑定,并且可获取到绑定用户的账号(手机号或邮箱)。

绑定微信前检查该微信授权账号是否已被其他用户绑定过,若未绑定过则可通过该方法返回的openId作为参数调用绑定用户的接口进行绑定,若已被其他人绑定则会返回绑定用户的手机号或邮箱以及本次授权的openId,用户同样可将openId作为参数强制绑定到当前账号(即换绑)。

请求参数:

参数名 类型 说明 备注 必需
wechatAppId String 从微信开放平台注册的AppId
code String 微信授权返回的code

例子:

- (void)checkWechatIsBind { [[IOTSmartUser sharedInstance] IOTCloudSDK_checkByWechatAppId: @"wechatAppId" code: @"wechatCode " success:^( BOOL isBind, NSString account, NSString openId){ NSLog(@"checkWechatBindIsExist success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"checkWechatBindIsExist failure: %@", errMessage); }]; }

绑定QQ前检查该授权QQ是否已被其他用户绑定,返回是否被绑定以及绑定账号。用户可通过QQ授权获取的openId进行绑定或换绑。

请求参数:

参数名 类型 说明 备注 必需
openId String QQ授权登录获取的openId

例子:

- (void)checkQQIsBind { [[IOTSmartUser sharedInstance] IOTCloudSDK_checkByQQOpenId: @"openId" success:^( BOOL isBind, NSString account){ NSLog(@"checkQQBindIsExist success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"checkQQBindIsExist failure: %@", errMessage); }]; }

绑定微博前检查该微博账号是否已被其他用户绑定,返回是否被绑定以及绑定的账号,用户可通过微博授权获取的微博userID进行绑定和换绑。

请求参数:

参数名 类型 说明 备注 必需
code String 用户调用微博授权时获得的微博userId

例子:

- (void)checkWebIsBind { [[IOTSmartUser sharedInstance] IOTCloudSDK_checkByWebOpenId: @"webUserId" success^( BOOL isBind, NSString account){ NSLog(@"checkWebBindIsExist success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"checkWebBindIsExist failure: %@", errMessage); }]; }

用户绑定第三方账号

​ 用户通过此接口可把第三方(微信、QQ、微博)授权账号与当前登录账号进行绑定。

请求参数:

参数名 类型 说明 备注 必需
openId String <检查微信账号是否已被其他用户绑定>方法返回的openId,或腾讯QQ授权时返回的openId,或微博授权时返回的userID 微信需先调用<检查微信账号是否已被其他用户绑定>方法获取此openId。
thirdPartyType IOTSmartUserThirdPartyType 枚举类型(目前仅支持微信、QQ、微博)

例子:

- (void)checkWebIsBind { [[IOTSmartUser sharedInstance] IOTCloudSDK_bindThirdWithOpenId: @"openId" thirdPartyType: @" thirdPartyType " success^{ NSLog(@"bindThird success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"bindThird failure: %@", errMessage); }]; }

用户解绑第三方账号

​ 用户可通过这个接口解除和第三方账号的绑定。

请求参数:

参数名 类型 说明 备注 必需
thirdPartyType IOTSmartUserThirdPartyType 枚举类型(目前仅支持微信、QQ、微博)

例子:

- (void)unbindThird{ [[IOTSmartUser sharedInstance] IOTCloudSDK_unBindThirdPartyWithThirdPartyType: @" thirdPartyType " success: ^{ NSLog(@"unbind success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"unbind failure: %@", errMessage); }]; }

产品相关

产品相关的所有功能对应IOTSmartProduct类。

获取产品列表

通过调用该接口获取所有产品列表。返回IOTSmartProductListModel类对象数组。

请求参数:无

例子:

- (void)getProductList{ [IOTSmartProduct IOTCloudSDK_getProductListSuccess: ^(NSArray productListModelArr) { NSLog(@"getProductList success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"getProductList failure: %@", errMessage); }]; }

获取产品实体类对象

获取产品实体类对象,覆盖alloc创建对象,以下self.product均表示已经创建了的产品类对象。API请求,保证实时性可用性。

请求参数:

参数名 类型 说明 备注 必需
productId int 产品id

例子:

- (void)getProductObj{

[IOTSmartProduct IOTCloudSDK_productWithProductId: @"your_productId" success:^( IOTSmartProduct product) { NSLog(@"getProduct success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"getProduct failure: %@", errMessage); }]; }

获取产品实体类对象

获取产品实体类对象,覆盖alloc创建对象,以下self.product均表示已经创建了的产品类对象。属于内存维护,因接口调用顺序不确定,所以不保证实时性和可用性。

请求参数:

参数名 类型 说明 备注 必需
productId int 产品id ~~~~

例子:

- (void)getProductObj{ self.product =[IOTSmartProduct IOTCloudSDK_deviceWithProductId: @"your_productId"]; }

~~~~

获取产品上报数据点

手机查询产品官网上创建的可上报数据点。返回IOTSmartProductDPModel类对象数组。

请求参数:无

例子:

- (void)getProductUpDPs{ [self.product IOTCloudSDK_getUpDPsSuccess: ^(NSArray productDPModelArr) { NSLog(@"getProductUpDPs success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"getProductUpDPs failure: %@", errMessage); }]; }

获取产品下发数据点

手机查询产品官网上创建的可下发数据点。

请求参数:无

例子:

- (void)getProductDownDPs{ [self.product IOTCloudSDK_getDownDPsSuccess:^(NSArray productDPModelArr) { NSLog(@"getProductDownDPs success"); } failure:^( int errNo,NSString errMessage) { NSLog(@"getProductDownDPs failure: %@", errMessage); }]; }

用户记录相关

用户记录相关的所有功能对应IOTSmartRecord类。

获取用户相关操作记录列表

获取用户相关操作记录列表列表。获取成功返回IOTSmartUserOperatorRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据用户操作类型过滤记录 0 全部 1 账号操作 2 设备操作
3 绑定第三方登录 4 绑定第三方推送
(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserOperatorRecordList{ [IOTSmartRecord IOTCloudSDKgetUserOperatorRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userOperatorRecordListModelArr) { NSLog(@"getUserOperatorRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserOperatorRecordList failure: %@", errMessage); }]; }

获取用户下发命令记录列表

获取用户下发命令记录列表列表。获取成功返回IOTSmartUserCommandRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionKeywords NSString 根据关键字过滤记录 设备mac或命令功能点key,
不支持模糊查询 (不填写默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserCommandRecordList{ [IOTSmartRecord IOTCloudSDKgetUserCommandRecordListWithConditionKeywords:@"your conditionKeywords " checkDate: @"your_ checkDate " success: ^(NSArray userCommandRecordListModelArr) { NSLog(@"getUserCommandRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserCommandRecordList failure: %@", errMessage); }]; }

获取用户与设备双向Push消息记录列表

获取用户与设备双向Push消息记录列表列表。获取成功返回IOTSmartUserPushRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据Push消息类型过滤记录 0 全部 1实时消息 2离线发送
3离线缓存(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserPushRecordList{ [IOTSmartRecord IOTCloudSDKgetUserPushRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userPushRecordListModelArr) { NSLog(@"getUserPushRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserPushRecordList failure: %@", errMessage); }]; }

获取用户多条件联动和场景记录列表

获取用户多条件联动和场景记录列表列表。获取成功返回IOTSmartUserRuleRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据规则类型过滤记录 0 全部 1 多条件联动 2 场景
(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserRuleRecordList{ [IOTSmartRecord IOTCloudSDKgetUserRuleRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userRuleRecordListModelArr) { NSLog(@"getUserRuleRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserRuleRecordList failure: %@", errMessage); }]; }

获取用户设备/家庭分享记录列表

获取用户设备/家庭分享记录列表列表。获取成功返回IOTSmartUserShareRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据时间跨度过滤记录 0某一天 1全部(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserShareRecordList{ [IOTSmartRecord IOTCloudSDKgetUserShareRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userShareRecordListModelArr) { NSLog(@"getUserShareRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserShareRecordList failure: %@", errMessage); }]; }

获取用户触发记录列表

获取用户触发记录列表列表。获取成功返回IOTSmartUserTriggerRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据触发方式过滤记录 0 全部 1 短信 2 邮件 3 M2M
(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserTriggerRecordList{ [IOTSmartRecord IOTCloudSDKgetUserTriggerRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userTriggerRecordListModelArr) { NSLog(@"getUserTriggerRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserTriggerRecordList failure: %@", errMessage); }]; }

获取用户通知记录列表

获取用户通知记录列表列表。获取成功返回IOTSmartUserNoticeRecordListModel实体类对象数组。

请求参数:

参数名 类型 说明 备注 必需
conditionType int 根据通知方式过滤记录 0全部 1极光 2小米 3华为
4微信(填写无效值默认为全部)
checkDate NSString 根据日期过滤记录 格式为 yyyy-MM-dd (不填写默认为当天)

例子:

- (void)getUserNoticeRecordList{ [IOTSmartRecord IOTCloudSDKgetUserNoticeRecordListWithConditionType:@"your conditionType " checkDate: @"your_ checkDate " success: ^(NSArray userNoticeRecordListModelArr) { NSLog(@"getUserNoticeRecordList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getUserNoticeRecordList failure: %@", errMessage); }]; }

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""