---
order: 3
navTitle: 重置密码
---
# 重置密码

用于重新设置用户密码。重置密码时，在接受到重置密码的短信验证码后，调用此API重新设置用户密码。

## 调用说明{#description}

请求方式：`POST`\
请求url：`/api/me/resetPassword`\
请求参数示例：

```json
{
    "userId": "zhangsan",
    "phone": "13112345678",
    "code": "123646",
    "newPassword": "MjM0NTY3OA==",
    "userDirectory": "sys"
}
```

参数说明：

| 参数          | 必须 | 说明                                                                                                                                    |
| :------------ | :--- | :-------------------------------------------------------------------------------------------------------------------------------------- |
| phone         | 否   | 手机号；如果不传递，则尝试使用当前登录用户的手机号,并且忽略掉`userId`和 `userDirectory`两个参数；如果不传递又没有登录，则系统会抛出异常 |
| newPassword   | 是   | 新密码的base64编码字符串                                                                                                                |
| userId        | 否   | 用户ID；用于查找用户，如不传，则表明使用`手机号`来查找用户                                                                              |
| code          | 否   | 短信验证码；如果调用了[验证重置密码的短信验证码](./checkResetPasswordPhoneVerificationCode.md)完成验证码校验后，可以不传这个参数        |
| userDirectory | 否   | 用户类型；`sys`代表系统用户，`external`代表外部用户，默认为`sys`                                                                        |

## 返回值说明{#return-value}

示例：

```json
{
    "result": false,
    "errorCode": "phoneNotFound",
    "message": "没有传递 `phone` 参数"
}
```

参数说明：

| 参数      | 说明                     |
| :-------- | :----------------------- |
| result    | 校验结果，`true`标识成功 |
| errorCode | 错误编码                 |
| message   | 错误文本提示             |

`errorCode`说明

| errorCode            | 说明                                                           |
| :------------------- | :------------------------------------------------------------- |
| phoneResetDisabled | 系统设置不允许使用手机验证码重置密码                           |
| serviceNotFound      | 系统没有开启使用发送验证码的服务                               |
| userNotFound         | 用户不存在                                                     |
| userPhoneNotMatch    | 用户ID和手机号不匹配，不能修改密码                             |
| passwordInvalid      | 密码不符合密码设置要求                                         |
| passwordUsed         | 密码为最近使用过的密码                                         |
| codeNotFound         | 系统没有向手机号发送验证码                                     |
| codeMismatch         | 验证码错误                                                     |
| lockWarning          | 验证码错误，距离被锁定还剩余一定次数 |
| locked               | 验证码错误次数过多，手机号被锁定了，暂时不能使用该手机进行验证 |
| verifyNotfound       | 没有完成身份验证，不允许修改密码                               |
