{
  "module": {
    "module": "OpenAPI 接口",
    "moduleKey": "openapi"
  },
  "api": {
    "title": "修改密码",
    "method": "POST",
    "path": "/openapi/memberships/change-password",
    "description": "通过混合 JWT 令牌提交手机号、旧密码、新密码及新密码确认，完成系统用户或客户端用户的密码修改。优先匹配系统用户（users），未找到时再匹配客户端用户（clientUsers）。",
    "requestParams": {
      "headers": [
        {
          "name": "Authorization",
          "type": "string",
          "required": true,
          "description": "修改密码令牌，格式为 Bearer TOKEN。令牌 payload 应包含：phone（手机号）、oldPassword（旧密码）、newPassword（新密码）、confirmPassword（新密码确认，须与 newPassword 一致）"
        },
        {
          "name": "X-Site",
          "type": "string",
          "required": true,
          "description": "站点标识，决定查询与更新所用的数据库上下文"
        },
        {
          "name": "X-System-Code",
          "type": "string",
          "required": true,
          "description": "系统编码。用于指定当前业务系统（例如 AUTH_MANAGEMENT、CONTENT_MANAGEMENT）"
        }
      ]
    },
    "responseExample": {
      "success": {
        "code": "0000",
        "message": "密码修改成功",
        "data": {
          "phone": "13800138000",
          "accountType": "user"
        }
      },
      "failureOldPassword": {
        "code": "1305",
        "message": "旧密码错误",
        "data": null
      },
      "failureConfirm": {
        "code": "1205",
        "message": "新密码与确认密码不一致",
        "data": null
      },
      "failurePasswordFormat": {
        "code": "1201",
        "message": "密码需包含字母和数字，且不少于6位",
        "data": null
      },
      "failure": {
        "code": "1002",
        "message": "修改密码信息不完整",
        "data": null
      }
    },
    "notes": [
      "Authorization 使用与注册/登录相同的混合 JWT 封装方式（parseMixedJWT / generateMixedJWT）。",
      "新密码须同时包含字母和数字，长度不少于 6 位。",
      "旧密码校验失败返回 1305；新密码与确认密码不一致返回 1205。",
      "成功时响应 Header X-OpenAPI-Result 为操作结果混合 JWT。",
      "账号被禁用、过期或在黑名单中时与登录接口一致返回相应错误码。"
    ]
  }
}