APPSDK 账号系统说明

API概览

名称 描述
初始化 init
登录回调设置 addLoginListener
用户名密码登录 login
验证码快速登录 fastLogin
Oauth登录 oauthLogin
使用上一次登录结果登录 localLogin
发送注册验证码 sendRegVCode
注册账号 regist
修改密码 modifyPassword
发送密码重置验证码 sendRetrieveVCode
密码重置 retrievePassword
修改用户昵称 modifyUserNickname
修改用户生日和性别 modifyUserGenderBirthday
修改用户头像 modifyUserIcon
查询绑定信息 queryOauthBindInfo
绑定账号 bindOauthAccount
解绑账号 unbindOauthAccount
发送账号销毁验证码 sendDestroyCode
账号销毁 destroyAccount

1. 概述

BroadLink 提供了一套完整的账户系统供开发者接入。开发者有以下多套方式接入:

SDK如果需要控制设备进行远程控制,则必须先完成账号登录。

账号流程

2. API 接口介绍

账号系统相关接口将会在 BLLetCore 库的 BLLet 类初始化之后,获取初始化必须的参数 CompanyId 和 Lid 。
iOS 系统可以调用 [BLAccount sharedAccount] 接口完成初始化。
Android 系统可以调用 BLAccount.init(companyId, lid) 的静态方法完成初始化,同时需要调用 addLoginListener 方法将需要关心登录信息的监听器加入。

2.1 初始化

    public static void init(String companyid, String lid)

请求参数

参数名称 参数类型 备注 是否必须
companyid String 申请License注册返回的公司ID
lid String 申请License注册返回的License ID

以上两个参数均可由 BLLet 内的方法返回。

    //Simple Code

    // 初始化之后,获取 lid 和 companyId ,用于其他类库的初始化
    String lid = BLLet.getLicenseId();
    String companyId = BLLet.getCompanyid();
    // 初始化账户库
    BLAccount.init(companyId, lid);

2.2 登录回调设置

    public static void addLoginListener(BLAccountLoginListener listener) 

请求参数

参数名称 参数类型 备注 是否必须
listener BLAccountLoginListener 需要关心登录结果的监听器

在账户登录成功之后,通过 BLAccountLoginListener 可以告知登录返回的 userIdloginSession

//Simple Code

// 添加登录成功回调函数
BLAccount.addLoginListener(BLLet.Controller.getLoginListener());
BLAccount.addLoginListener(BLIRCode.getLoginListener());
BLAccount.addLoginListener(BLFamily.getLoginListener());

2.3 账号登录

账号登录是后续操作的基础,SDK提供了多种方式的账号登录,且返回 BLLoginResult 类。

开发者根据需要可以保存相应的 userid 和 loginsession ,便于后续开发。

BLLoginResult说明

参数名称 参数类型 备注
userid String 用户ID
loginsession String 登录的Session
nickname String 用户昵称
iconpath String 用户头像URL地址
sex String 用户性别
birthday String 用户生日
fname String 用户姓
lname String 用户名
email String 用户邮箱地址
phone String 用户手机号
countrycode String 用户手机号对应的地区码,例如:0086
loginip String 登录的IP地址
logintime String 登录时间
pwdflag int 用户密码是否已设置

2.3.1 用户名密码登录

    public static BLLoginResult login(String username, String password)

请求参数

参数名称 参数类型 备注 是否必须
username String 注册时的用户名
password String 登录密码

返回参数

参数名称 参数类型 备注
BLLoginResult Object 返回结果

2.3.2 验证码快速登录

    public static  BLLoginResult fastLogin(String phoneOrEmail, String countrycode, String vcode)

请求参数

参数名称 参数类型 备注 是否必须
phoneOrEmail String 手机号 / 邮箱地址
countrycode String 手机号对应的地区码,例如:0086 手机号登录时为必须
vcode String 收到的验证码

2.3.3 Oauth登录

用户可以集成第三方公司的Oauth的SDK,例如 “facebook”,”taobao”等,使用他们的Oauth的accessToken完成登录。

    public static BLLoginResult oauthLogin(String thirdType, String thirdID, String accesstoken, String topsign, String nickname, String iconUrl)

请求参数

参数名称 参数类型 备注 是否必须
thirdType String Oauth 公司名称,例如 “facebook”
thirdID String OpenID,由Oauth公司注册提供
accesstoken String AccessToken,由Oauth公司注册提供
topsign String 暂为 null
nickname String 用户昵称
iconUrl String 用户头像URL

2.3.4 使用上一次登录结果登录

由于用户的登录的session存在较长的有效时间,所以开发者可以保存登录成功之后的结果,再下一次登录时,直接将其传入到本接口中,进行快速登录。
若session过期,则会在后续的操作中返回错误码,需要再次执行其它登录操作。

    public static BLLoginResult localLogin(BLLoginResult loginResult)

请求参数

参数名称 参数类型 备注 是否必须
loginResult Object 上一次登录成功返回结果 必须包含 userId 和 loginsession

2.4 账号注册

使用BroadLink提供的新建账号系统,则可以使用手机号或者邮箱注册用户。

2.4.1 发送注册验证码

    public static BLBaseResult sendRegVCode(String phone, String countrycode);
    public static BLBaseResult sendRegVCode(String email);

请求参数

参数名称 参数类型 备注 是否必须
phone String 注册手机号
countrycode String 注册手机号的国家码 手机号时为必须
email String 注册邮箱

2.4.2 注册账号

    public static BLLoginResult regist(BLRegistParam registParam, File fileIcon)

请求参数

参数名称 参数类型 备注 是否必须
registParam BLRegistParam 注册用户信息
fileIcon File 注册用户头像

返回参数

参数名称 参数类型 备注
BLLoginResult Object 返回结果,注册成功之后可以直接登录

2.5 密码相关接口

密码相关功能包括:密码修改和密码重置。 密码修改必须在用户完成登录之后才能修改,密码重置则无须登录。

2.5.1 修改密码

    public static BLBaseResult modifyPassword(String oldPassword, String newPassword)

请求参数

参数名称 参数类型 备注 是否必须
oldPassword String 原始密码
newPassword String 新密码

2.5.2 发送密码重置验证码

    public static BLBaseResult sendRetrieveVCode(String phoneOrEmail);

请求参数

参数名称 参数类型 备注 是否必须
phoneOrEmail String 注册时使用的手机号或者邮箱

2.5.3 密码重置

    public static BLLoginResult retrievePassword(String phoneOrEmail, String vcode, String newPassword);

请求参数

参数名称 参数类型 备注 是否必须
phoneOrEmail String 注册时使用的手机号或者邮箱
vcode String 收到的验证码
newPassword String 重置的密码

2.6 用户信息相关接口

用户在完成账号登录之后,在登录结果 BLLoginResult 里,可以获取到完整的用户信息。 如果要对用户信息进行修改,则使用以下几个接口。

2.6.1 修改用户昵称

    public static BLBaseResult modifyUserNickname(String nickName)

请求参数

参数名称 参数类型 备注 是否必须
nickName String 昵称

2.6.2 修改用户生日和性别

    public static BLBaseResult modifyUserGenderBirthday(String gender, String birthday)

请求参数

参数名称 参数类型 备注 是否必须
gender String 性别
birthday String 生日

2.6.3 修改用户头像

    public static BLModifyUserIconResult modifyUserIcon(File picFile)

请求参数

参数名称 参数类型 备注 是否必须
picFile File 头像文件

2.7 Oauth 绑定账号

2.7.1 查询绑定信息

    public static BLBindInfoResult queryOauthBindInfo()

返回参数

参数名称 参数类型 备注
bindInfos List 绑定信息列表

BindInfo 类信息:

参数名称 参数类型 备注
thirdtype String 第三方Oauth 公司名
thirdid String 第三方Oauth ID
nickname String 第三方昵称

2.7.2 绑定账号

    public static BLBaseResult bindOauthAccount(String thirdType, String thirdID, String accesstoken, String topSign, String nickname, String userId, String loginSession)

请求参数

参数名称 参数类型 备注 是否必须
thirdType String 第三方Oauth 公司名
thirdID String 第三方Oauth ID
accesstoken String 第三方Oauth Token
topSign String 第三方Oauth topSign
nickname String 第三方Oauth 昵称
userId String 登录账号 userId 否,默认为当前登录账号
loginSession String 登录账号 loginsession 否,默认为当前登录账号

2.7.3 解绑账号

    public static BLBaseResult unbindOauthAccount(String thirdType, String thirdID, String topSign)

请求参数

参数名称 参数类型 备注 是否必须
thirdType String 第三方Oauth 公司名
thirdID String 第三方Oauth ID
topSign String 第三方Oauth topSign

2.8 账号销毁

2.8.1 发送账号销毁验证码

    public static BLBaseResult sendDestroyCode(String phoneOrEmail, String countryCode)

请求参数

参数名称 参数类型 备注 是否必须
phoneOrEmail String 注册时使用的手机号或者邮箱
countrycode String 注册手机号的国家码 手机号时为必须

2.8.2 账号销毁

    public static BLBaseResult destroyAccount(String phoneOrEmail, String countryCode, String vcode)

请求参数

参数名称 参数类型 备注 是否必须
phoneOrEmail String 注册时使用的手机号或者邮箱
countrycode String 注册手机号的国家码 手机号时为必须
vcode String 接收到的验证码