# 账号体系

## CloudUrlRequest

### 介绍

> &#x20;   云端API发送请求类，包含账户体系的所有请求

### 获取对象

```
CloudUrlRequest cloudUrlRequest = CloudUrlRequest.getInstance();
```

## 发送效验码

### 介绍

需要发送验证码的，通过此方法发送验证码

### 方法原型

```
/**
* 获取效验码
*
* @param phoneNumber 账号
* @param listener    验证码发送结果监听
*/
public void requestIdentifyingCode(@NonNull String phoneNumber, @NonNull final CloudUrlRequestListener listener);
```

### 调用

> &#x20;  使用CloudUrlRequest对象调用

### 参数介绍

* phoneNumber：需要发送验证码的手机号码
* listener：一个CloudUrlRequestListener对象，验证码发送结果监听

{% hint style="success" %}
请求成功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个IdentifyingCodeBean的Java bean对象，含有部分的请求返回数据。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}

## 账号注册

### 介绍

此方法用于注册账号

### 方法原型

```
/**
* 注册账号
*
* @param phoneNumber     账号
* @param password        密码
* @param password2       验证密码
* @param identifyingCode 验证码
* @param listener        注册结果监听
*/
public void requestRegister(@NonNull String phoneNumber, @NonNull String password, String password2, @NonNull int identifyingCode, @NonNull final CloudUrlRequestListener listener);
```

### 调用

* 使用CloudUrlRequest对象调用，此方法需要验证效验码，调用方法前需要调用发送验证码，详情请参考发送验证码

### 参数介绍

* phoneNumber:注册的手机号码
* password：输入注册账号的密码
* password2：重新确认密码
* identifyingCode：用户输入的验证码
* listener：一个CloudUrlRequestListener对象，注册账号结果监听

{% hint style="success" %}
请求成功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个RegisterBean的Java bean对象，含有注册的数据。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}

## 重置密码

### 介绍

此方法用于重置密码，需要验证码，密码是系统随机生成，并通过短信告知用户

### 方法原型

```
/**
* 重置密码
*
* @param phoneNumber     账号 
* @param identifyingCode 验证码
* @param listener        注册结果监听
*/
public void registerBackPassword(@NonNull String phoneNumber, @NonNull int identifyingCode, final @NonNull CloudUrlRequestListener listener)
```

### 调用

* 使用CloudUrlRequest对象调用，此方法需要验证效验码，调用方法前需要调用发送验证码，详情请参考发送验证码

### 参数介绍

* phoneNumber：账号
* identifyingCode：用户输入的验证码验证码
* listener：一个CloudUrlRequestListener对象，重置密码请求结果监听

{% hint style="success" %}
请求成功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个BackPasswordBean的Java bean对象。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}

## 找回密码

### 介绍

通过验证码重新设置密码，需要验证码

### 方法原型

```
/**
* 通过验证码修改账户密码
*
* @param phoneNumber     账号
* @param identifyingCode 验证码
* @param newPassword1    新密码
* @param newPassword2    确认密码
* @param listener        注册结果监听
*/
public void registerBackPassword(@NonNull String phoneNumber, @NonNull int identifyingCode, @NonNull String newPassword1, @NonNull String newPassword2, final CloudUrlRequestListener listener);
```

### 调用

* 使用CloudUrlRequest对象调用，此方法需要验证效验码，调用方法前需要调用发送验证码，详情请参考发送验证码

### 参数介绍

* phoneNumber：用户输入账号
* identifyingCode：用户输入的效验码
* newPassword1：用户输入的新密码
* newPassword2：用户确认输入的新密码
* listener：一个CloudUrlRequestListener对象，找回密码请求结果监听

{% hint style="success" %}
请求成功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个AlterPasswordBean的Java bean对象。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}

## 修改密码

### 介绍

可以使用这个方法用原密码修改当前账户的密码

### 方法原型

```
/**
* 修改账户密码
*
* @param phoneNumber  需要修改密码的账号
* @param oldPassword  旧密码
* @param newPassword1 新密码
* @param newPassword2 确认新密码
* @param listener     修改密码结果监听
*/
public void requestAlterPassword(@NonNull String phoneNumber, @NonNull String oldPassword, @NonNull String newPassword1, @NonNull String newPassword2, final CloudUrlRequestListener listener)
```

### 调用

使用CloudUrlRequest对象调用

### 参数介绍

* phoneNumber：需要修改密码的
* oldPassword：用户输入的原密码
* newPassword1：用户输入的新密码
* newPassword2：用户确认输入的新密码
* listener：一个CloudUrlRequestListener对象，找回密码请求结果监听

{% hint style="success" %}
功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个AlterPasswordBean的Java bean对象。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}

## 登录

### 介绍

用于账号和密码登录

### 方法原型

```
/**
* 登录账号
*
* @param phoneNumber 账号
* @param password    密码
* @param listener    注册结果监听
*/
public synchronized void requestLogging(@NonNull String phoneNumber, @NonNull String password, @NonNull final CloudUrlRequestListener listener);
```

### 调用

* 使用CloudUrlRequest对象调用

### 参数介绍

* phoneNumber：用户输入账号
* password：用户输入的密码
* listener：一个CloudUrlRequestListener对象，登录请求结果监听

{% hint style="success" %}
请求成功调用CloudUrlRequestListener对象的onResponse(T response);方法，参数是一个LoginBean的Java bean对象。
{% endhint %}

{% hint style="warning" %}
请求失败调用CloudUrlRequestListener对象的onFailure(int errType);方法，参数请求错误的错误码，详情请参考错误码
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.youzhuan.net/ctrl-host/yun-dui-jie/jie-ru-zhi-nan/deng-lu-xi-tong.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
