Appearance
用户修改密码接口文档
用于实现用户账号密码修改功能,支持GET和POST两种请求方式。参数需根据后台“用户令牌校验”的启用规则灵活选择,newpass(新密码)为必填项,应用签名直接从后台获取,同时需满足密码格式及账号、应用状态等前置校验要求。
请求地址 GET / POST
http
https://nobase.cn/api/user/new_pass请求参数
| 参数名 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| appid | query | string | ✅ 是 | 应用ID,填写从开发者中心获取的应用唯一标识 |
| newpass | query | string | ✅ 是 | 新密码,格式需为字母数字组合(不可含中文),需符合后台密码复杂度要求 |
| signature | query | string | ✅ 是 | 应用签名,直接从后台复制获取,无需手动生成 |
| token | query | string | ❌ 否 | 用户令牌,仅在以下场景需传递:后台启用“用户令牌校验”且不使用账号密码验证;需为登录成功后获取的有效令牌 |
| user | query | string | 条件必选 | 用户账号,仅在以下场景需填写:后台未启用“用户令牌校验”,或启用后仍选择账号密码验证;格式为纯数字(如手机号) |
| pass | query | string | 条件必选 | 旧密码,仅当user为必填时同步填写;需与用户账号绑定的旧密码一致,格式为字母数字组合(不可含中文) |
返回示例
成功响应(密码修改成功)
json
{
"code": 200,
"msg": "success",
"data": "更新成功"
}失败响应(参数缺失/错误)
json
{
"code": 204,
"msg": "fail",
"data": "接口参数错误:user和pass为必填项"
}失败响应(密码格式错误)
json
{
"code": 404,
"msg": "fail",
"data": "新密码格式错误!"
}失败响应(令牌/账号异常)
json
{
"code": 404,
"msg": "fail",
"data": "用户账号密码错误!"
}失败响应(改密权限限制)
json
{
"code": 405,
"msg": "fail",
"data": "当前管理员不允许用户修改密码"
}返回数据结构
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码:200=修改成功;204=参数缺失/错误;404=账号/令牌/密码异常;405=格式错误/改密权限限制 |
| msg | string | 状态描述:success=成功,fail=失败 |
| data | string | 响应数据:返回操作结果提示或错误原因,如“更新成功”“新密码格式错误!” |
代码示例
javascript
// 1. 配置参数(未启用令牌校验,需传user和pass)
const appid = "your_app_id";
const newpass = "NewPass123"; // 新密码(字母数字组合)
const signature = "signature_from_backend";
const user = "13800138000"; // 用户账号(纯数字)
const pass = "OldPass456"; // 旧密码(字母数字组合)
// 2. 构造POST参数
const params = new URLSearchParams({
appid,
newpass,
signature,
user,
pass
});
// 3. 发起POST请求
fetch("https://nobase.cn/api/user/new_pass", {
method: "POST",
body: params,
headers: { "Content-Type": "application/x-www-form-urlencoded" }
})
.then(res => res.json())
.then(res => {
res.code === 200
? console.log("密码修改成功:", res.data)
: console.error("密码修改失败:", res.data);
})
.catch(err => console.error("请求异常:", err));javascript
// 1. 配置参数(启用令牌校验,传token,无需user/pass)
const appid = "your_app_id";
const newpass = "NewPass789";
const signature = "signature_from_backend";
const token = "valid_user_token"; // 登录获取的有效令牌
// 2. 拼接GET参数
const params = new URLSearchParams({ appid, newpass, signature, token });
const requestUrl = `https://nobase.cn/api/user/new_pass?${params.toString()}`;
// 3. 发起GET请求
fetch(requestUrl)
.then(res => res.json())
.then(res => {
res.code === 200
? console.log("密码修改成功:", res.data)
: console.error("密码修改失败:", res.data);
})
.catch(err => console.error("请求异常:", err));python
import requests
# 1. 配置参数
params = {
"appid": "your_app_id",
"newpass": "NewPass123",
"signature": "signature_from_backend",
"user": "13900139000",
"pass": "OldPass456"
}
# 2. 发起POST请求
url = "https://nobase.cn/api/user/new_pass"
try:
res_data = requests.post(url, data=params, timeout=5).json()
print(f"结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
print(f"请求异常:{str(e)}")python
import requests
# 1. 配置参数
params = {
"appid": "your_app_id",
"newpass": "NewPass789",
"signature": "signature_from_backend",
"token": "valid_user_token"
}
# 2. 发起GET请求
url = "https://nobase.cn/api/user/new_pass"
try:
res_data = requests.get(url, params=params, timeout=5).json()
print(f"结果:{res_data['data']}")
except requests.exceptions.RequestException as e:
print(f"请求异常:{str(e)}")注意事项
- 参数选择规则
- 启用“用户令牌校验”:可二选一(仅传
token,或传user+pass),推荐仅传token以减少敏感信息传递; - 未启用“用户令牌校验”:必须传
user+pass,否则会返回参数错误。
- 启用“用户令牌校验”:可二选一(仅传
- 新密码格式要求
newpass仅支持字母数字组合(无中文、无特殊字符),建议前端提前用正则(如/^[A-Za-z0-9]+$/)校验,避免格式错误导致接口失败。 - 旧密码/令牌有效性
- 传
user+pass时,需确保旧密码与账号绑定的密码一致,否则返回“账号密码错误”; - 传
token时,需确保令牌未过期且有效,过期后需引导用户重新登录获取新令牌。
- 传
- 改密权限与状态校验
接口会校验管理员是否开启“改密权限”、开发者账号是否逾期、应用是否正常(非审核/停用状态),异常时会返回对应提示,需提前确认相关配置正常。 - 安全提示
- 旧密码、新密码均为明文传递,生产环境必须使用HTTPS协议;
- 密码修改成功后,建议强制用户重新登录(刷新令牌),避免旧令牌仍可使用;
- 优先推荐启用“用户令牌校验”,降低账号密码泄露风险。

