更新时间:2024-07-30 GMT+08:00

账号密码方式登录

1
HWMSdk.getOpenApi.login(LoginParam,HwmCallback

接口描述

该接口用于登录和鉴权。

注意事项

除匿名入会外,在使用其他业务之前必须进行成功登录。

登录成功以后会发送登录成功事件onSuccess回调。

方法定义

1
2
3
4
5
6
    /**
     * 登录接口
     * @param LoginParam 登录配置对象
     * @param hwmCallback 登录结果回调
     */
void login(LoginParam loginParam HwmCallback<LoginResult> hwmCallback)

参数描述

表1 参数说明

参数

是否必须

类型

描述

loginParam

LoginParam

登录配置对象

hwmCallback

HwmCallback<LoginResult>

回调处理对象

返回值

无。

参数拓展

表2 LoginParam参数说明

参数

是否必须

类型

描述

account

String

用户名

password

String

密码

nickName

String

昵称

表3 LoginResult类型说明

参数

类型

描述

userUuid

String

用户uuid,由系统分配的真实的唯一用户标识。

account

String

登录账号

thirdAccount

String

第三方登录账号(AppId登录场景)

isFreeUser

boolean

是否为免费用户

refreshToken

String

刷新token

siteDomain

String

登录域名。只适用于站点切换场景,当用户选择了国际站点,却使用国内账号登录时,会自动切换到国内站点登录,并返回国内站点的域名信息。

示例代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
//认证鉴权用的账号密码建议在配置文件或者环境变量中密文存放,使用时解密,确保安全
LoginParam loginParam = new LoginParam()        
    .setLoginAuthType(LoginAuthType.Account_And_Password)       //登录方式的类别     
    .setAccount(getAccount())        //登录账号
    .setPassword(getPassword());      //登录密码
     
HWMSdk.getOpenApi(getActivity()).login(loginParam, new HwmCallback<LoginResult>() {             
     @Override             
     public void onSuccess(LoginResult loginResult) {  //登录成功回调                              
         if (loginResult != null ) {                     
             Log.i(TAG, "登录成功" + loginResult.getUserUuid());                 
         }
     }              
     @Override             
     public void onFailed(int retCode, String desc) {   //失败回调              
        Error error = HWMBizSdk.getLoginApi().convertErrorCodeToUI(retCode);                 
        String errorTip = getLoginErrTips(error);               //根据返回的错误值,输出错误原因         
        Log.e(TAG, errorTip);     
     }        
});