Files
wucaixing-backend/docs/CurrentUserPasswordApi.md
2026-05-15 10:03:54 +08:00

3.2 KiB

当前登录账号修改密码接口说明

功能说明

  • 适用范围:任意端口账号登录后修改当前登录账号自己的密码
  • 安全限制:只能修改当前登录态对应账号的密码,不能修改其他账号或其他端口账号的密码
  • 推荐接口:PUT /system/user/profile/updatePwd
  • 兼容接口:PUT /system/user/profile/updateSubPwd

规则说明

  • 超级管理员修改的是 sys_user.password
  • 普通端口账号修改的是当前登录端口记录 sys_user_login_port.sub_password
  • 后端会从当前登录 token 中自动识别当前账号
  • 前端不需要传目标账号 ID
  • 如果传了 portId,且与当前登录端口不一致,后端会直接返回失败:只能修改当前登录账号密码

1. 推荐接口

  • 路径:PUT /system/user/profile/updatePwd
  • 说明:当前登录用户修改自己的密码

请求头

请求头 是否必填 说明
Authorization 登录 token
isEncrypt true,与现有加密请求保持一致
repeatSubmit 可传 false
Content-Type application/json

请求参数

字段 类型 必填 说明
oldPassword String 旧密码
newPassword String 新密码
portId Long 非必填;建议不要传,若传入的不是当前登录端口 ID 会被拒绝

请求示例

{
  "oldPassword": "123456",
  "newPassword": "NewPwd@2026"
}

返回成功示例

{
  "code": 200,
  "msg": "操作成功",
  "data": null
}

常见失败响应

提示 说明
修改密码失败,旧密码错误 旧密码校验失败
新密码不能与旧密码相同 新旧密码一致
只能修改当前登录账号密码 试图修改非当前登录端口账号密码
当前登录账号未绑定端口,无法修改密码 当前登录态无端口信息
当前登录账号不存在或无权修改 当前登录端口记录不存在或不属于当前用户
修改密码异常,请联系管理员 数据更新失败

2. 兼容接口

  • 路径:PUT /system/user/profile/updateSubPwd
  • 说明:为兼容历史前端保留,实际安全限制与推荐接口一致,也只能修改当前登录账号密码

请求方式

  • body 仍传:
{
  "oldPassword": "123456",
  "newPassword": "NewPwd@2026"
}
  • 历史前端若在 query 中传 portId,只有在它等于当前登录端口 ID 时才允许通过

3. 前端调用示例

Web 端

request({
  url: '/system/user/profile/updatePwd',
  method: 'put',
  headers: {
    isEncrypt: true,
    repeatSubmit: false
  },
  data: {
    oldPassword,
    newPassword
  }
})

uni-app / 移动端

request({
  url: '/system/user/profile/updatePwd',
  method: 'put',
  header: {
    isEncrypt: true
  },
  data: {
    oldPassword,
    newPassword
  }
})

4. 对接建议

  • 新接入前端统一调用 PUT /system/user/profile/updatePwd
  • 不要让前端选择目标账号,也不要透传其他账号或其他端口的 portId
  • 修改成功后,建议前端提示用户重新使用新密码登录