用户账号

更新时间:2022-02-17 06:55:07下载pdf

智慧社区 SDK 提供移动端密码登录体系。

出于对用户信息的隐私安全考虑,涂鸦对手机号码验证码的机制做了优化和账号限制。若您想继续使用,请联系您的涂鸦客户经理或 提交工单开通该服务。

注册手机号码账号

手机密码注册,包括获取验证码接口和注册账号接口。

获取验证码

接口说明

TuyaOSUser.getUserInstance().sendVerifyCodeWithUserName(String userName, String region, String countryCode, int type, IResultCallback callback);

参数说明

参数 说明
userName 手机号码
region 区域,默认填写:“” 即可
countryCode 国家码,目前仅支持“86”,即中国大陆
type 发送验证码类型:1:注册验证码
callback 回调

手机号码密码注册

接口说明

TuyaOSUser.getUserInstance().registerAccountWithPhone(final String countryCode, final String phoneNumber, final String passwd, final String code, final IRegisterCallback callback);

参数说明

参数 说明
countryCode 国家码,目前仅支持“86”,即中国大陆
phoneNumber 电话号码
passwd 密码
code 验证码
callback 回调

示例代码

//获取手机验证码
TuyaOSUser.getUserInstance().sendVerifyCodeWithUserName("13666666666", "", "86", 1, new IResultCallback() {
			@Override
			public void onError(String code, String error) {
				Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
			}

			@Override
			public void onSuccess() {
				Toast.makeText(mContext, "获取验证码成功", Toast.LENGTH_SHORT).show();
			}
		});
//注册手机密码账户
IRegisterCallback callback = new IRegisterCallback() {
	@Override
	public void onSuccess(User user) {
		Toast.makeText(mContext, "注册成功", Toast.LENGTH_SHORT).show();
	}
	@Override
	public void onError(String code, String error) {
		Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
	}
};
TuyaOSUser.getUserInstance().registerAccountWithPhone("86","13666666666","123456","124332", callback);

登录手机号码账号

接口说明

使用手机号码和密码登录。

TuyaOSUser.getUserInstance().loginWithPhonePassword(String countryCode, String phone, String passwd, final ILoginCallback callback);

参数说明

参数 说明
countryCode 国家码,目前仅支持“86”,即中国大陆
phone 手机号码
passwd 登录密码
callback 登录回调接口

示例代码

//手机密码登录
TuyaOSUser.getUserInstance().loginWithPhonePassword("86", "13666666666", "123456", new ILoginCallback() {
	@Override
	public void onSuccess(User user) {
		Toast.makeText(mContext, "登录成功,用户名:" +TuyaOSUser.getUserInstance().getUser().getUsername(), Toast.LENGTH_SHORT).show();
	}

	@Override
	public void onError(String code, String error) {
		Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
	}
});

重置账号密码

手机重置密码功能,包含两个接口:发送验证码接口和重置密码接口。

获取手机验证码

接口说明

获取手机验证码。注意验证用户所在地区是否支持获取验证码

TuyaOSUser.getUserInstance().sendVerifyCodeWithUserName(String userName, String region, String countryCode, int type, IResultCallback callback);

参数说明

参数 说明
userName 手机号码
region 区域,默认填写:“” 即可
countryCode 国家码,目前仅支持“86”,即中国大陆
type 发送验证码类型:3:重置密码验证码
callback 回调

重置密码

接口说明

用于重置账号密码。

TuyaOSUser.getUserInstance().resetPhonePassword(final String countryCode, final String phone, final String code, final String newPasswd, final IResetPasswordCallback callback);

参数说明

参数 说明
countryCode 国家码,目前仅支持“86”,即中国大陆
phone 手机号码
code 验证码
newPasswd 新密码
callback 回调

示例代码

//手机获取验证码
TuyaOSUser.getUserInstance().sendVerifyCodeWithUserName("13666666666", "", "86", 3, new IResultCallback() {
			@Override
			public void onError(String code, String error) {
				Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
			}

			@Override
			public void onSuccess() {
				Toast.makeText(mContext, "获取验证码成功", Toast.LENGTH_SHORT).show();
			}
		});
//重置手机密码
TuyaOSUser.getUserInstance().resetPhonePassword("86", "13555555555", "123456", "123123", new IResetPasswordCallback(){
	@Override
	public void onSuccess() {
		Toast.makeText(mContext, "找回密码成功", Toast.LENGTH_SHORT).show();
	}

	@Override
	public void onError(String code, String error) {
		Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
	}
});

发送不同类型验证码

通过不同的类型获取对应的验证码。

接口说明

验证验证码的合法性,用于登录、注册、重置密码 时验证码的校验

TuyaOSUser.getUserInstance().checkCodeWithUserName(String userName, String region, String countryCode, String code, int type, IResultCallback callback)

参数说明

参数 说明
userName 用户名(手机号码)
region 区域,默认填写:“” 即可
countryCode 国家码,目前仅支持“86”,即中国大陆
code 验证码
type 类型:
1: 注册时验证码验证用
2: 验证码登录时用
3: 重置密码时用
8: 验证码注销时用
callback 回调

查询用户所在地区是否支持获取验证码

只有在特定的地区才可以发送手机号码验证码来注册账号。

接口说明

TuyaOSUser.getUserInstance().getWhiteListWhoCanSendMobileCodeSuccess(IWhiteListCallback callback);

参数说明

参数 说明
callback 回调

示例代码

TuyaOSUser.getUserInstance().getWhiteListWhoCanSendMobileCodeSuccess(new IWhiteListCallback() {
			@Override
			public void onSuccess(WhiteList whiteList) {
				Toast.makeText(mContext, "查询验证用户所在地区是否支持获取验证码成功:" + whiteList.getCountryCodes(), Toast.LENGTH_SHORT).show();
			}

			@Override
			public void onError(String code, String error) {
				Toast.makeText(mContext, "code: " + code + "error:" + error, Toast.LENGTH_SHORT).show();
			}
		});

账号管理

涂鸦 IoT 平台支持对用户账号信息的管理,包括账号绑定、修改用户信息、会话过期处理、账号注销等。

修改用户头像

接口说明

用于上传用户自定义的头像。

void uploadUserAvatar(File file, IBooleanCallback callback)

参数说明

参数 类型 说明
file File 用户头像图片文件
callback IBooleanCallback 回调

示例代码

TuyaOSUser.getUserInstance().uploadUserAvatar(
    file,
    new IBooleanCallback() {
        @Override
        public void onSuccess() {
        }

        @Override
        public void onError(String code, String error) {

        }
});

修改账号昵称

接口说明

用户修改账户昵称

void reRickName(String name, final IReNickNameCallback callback);

参数说明

参数 类型 说明
name String 昵称
callback IReNickNameCallback 回调

示例代码

TuyaOSUser.getUserInstance().reRickName(nickName,
    new IReNickNameCallback() {
        @Override
        public void onSuccess() {
        }
        @Override
        public void onError(String code, String error) {

        }
});

同步用户信息

当用户信息发生了变更,如修改了用户头像、昵称等,需要调用同步用户信息接口,保持用户信息是最新的状态。如果多台设备同时登录,一台设备修改了用户信息。另外一台设备也需要同步用户信息,可以在查看用户信息时调用同步接口,同步最新的用户信息。

接口说明

用于同步用户信息

void updateUserInfo(IResultCallback callback);

参数说明

参数 类型 说明
callback IResultCallback 回调

示例代码

TuyaOSUser.getUserInstance().updateUserInfo(new IResultCallback() {
    @Override
    public void onError(String code, String error) {

    }

    @Override
    public void onSuccess() {
        User user = TuyaOSUser.getUserInstance().getUser();
    }
});

匿名账号退出登录

接口说明

匿名登录的用户可以通过这个接口退出登录,匿名账号会立即注销,其他账号有7天的窗口期

void touristLogOut(final ILogoutCallback callback)

参数说明

参数 类型 说明
success ILogoutCallback 回调

实例代码

TuyaOSUser.getUserInstance().touristLogOut(new ILogoutCallback() {
    @Override
    public void onSuccess() {

    }
    @Override
    public void onError(String code, String error) {

    }
});

其它账号退出登录

Java 示例

TuyaOSUser.getUserInstance().updateUserInfo(new IResultCallback() {
    @Override
    public void onError(String code, String error) {

    }

    @Override
    public void onSuccess() {
        User user = TuyaOSUser.getUserInstance().getUser();
    }
});

注销账号

接口说明

调用注销账户接口后,账号在一周后才会永久停用并删除账户下的所有信息。但如果用户在此之前重新登录账号,则停用请求将被取消。

void cancelAccount(IResultCallback callback);

示例代码

TuyaOSUser.getUserInstance().cancelAccount(new IResultCallback() {
    @Override
    public void onError(String code, String error) {

    }
    @Override
    public void onSuccess() {

    }
});