Skip to content

查询用户详细信息

接口信息

接口地址:/api/v1/system/user/detail

请求方式:GET

请求数据类型:application/x-www-form-urlencoded

响应数据类型:*/*

接口描述:

通过 uid、id、username、email、phone 中任一条件查询用户详细信息

请求示例:

GET /api/v1/system/user/detail?id=1776073061
GET /api/v1/system/user/detail?uid=test_user_001
GET /api/v1/system/user/detail?email=test@example.com

请求参数

请求头

参数名类型必填描述示例值
AuthorizationstringAPI KeyBearer ak-xxxxeyJhbGciOiJIUzI1NiJ9

查询参数:

参数名称参数说明是否必须数据类型
uid用户唯一标识string
id用户IDinteger(int64)
username用户名string
email邮箱string
phone手机号码string

注:以上参数至少传入一个,不传任何参数会返回 4000: Invalid param

响应参数:

参数名称参数说明类型schema
code业务状态码,0000 表示成功,其余失败string
displayCode源系统状态码,用于问题跟踪string
message错误描述信息string
data用户详细信息UserDto
  id用户IDinteger(int64)
  uid用户唯一标识string
  tenantId商户IDinteger(int64)
  userName用户名string
  nickName用户昵称string
  avatar用户头像string
  password用户密码(返回为null)string
  resetPass是否设置过密码,1表示已设置,0表示未设置integer(int32)
  status用户状态,可用值: Enabled, Disabledstring
  role角色,可用值: Admin, Userstring
  email邮箱string
  phone手机号码string
  lastLoginTime最后登录时间string(date-time)
  lang最近的语言环境string
  created创建时间string(date-time)
  modified更新时间string(date-time)
  langMap语言环境对应的值映射object
tid跟踪唯一标识string
successboolean

响应示例:

javascript
{
	"code": "0000",
	"displayCode": "0000",
	"message": "success",
	"data": {
		"id": 1776073061,
		"uid": "test_user_001",
		"tenantId": 1,
		"userName": "测试用户",
		"nickName": "测试昵称",
		"avatar": "",
		"password": null,
		"resetPass": 1,
		"status": "Enabled",
		"role": "User",
		"email": "test@example.com",
		"phone": "13800000001",
		"lastLoginTime": null,
		"lang": "zh-CN",
		"created": "2026-04-13T09:37:41.000+00:00",
		"modified": "2026-04-13T10:25:36.000+00:00",
		"langMap": {}
	},
	"tid": "6527691776075950763",
	"success": true
}

CURL示例

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/detail?id=1776073061' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0'

{"code":"0000","displayCode":"0000","message":"success","data":{"id":1776073061,"uid":"test_user_001","tenantId":1,"userName":"测试用户","nickName":"测试昵称","avatar":"","password":null,"resetPass":1,"status":"Enabled","role":"User","email":"test@example.com","phone":"13800000001","lastLoginTime":null,"lang":"zh-CN","created":"2026-04-13T09:37:41.000+00:00","modified":"2026-04-13T10:25:36.000+00:00","langMap":{}},"tid":"615061776075295649","success":true}

测试用例

#场景查询条件状态码结果
1通过 ID 查询id=17760730610000成功
2通过 uid 查询uid=test_user_0010000成功
3通过 email 查询email=test@example.com0000成功
4通过 phone 查询phone=138000000010000成功
5通过 username 查询username=测试用户0000成功
6不传任何参数4000失败,返回 Invalid param
7查询不存在的用户id=999999994000失败,返回 Invalid param

失败用例

未传查询参数

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/detail' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0'

{"code":"4000","displayCode":"4000","message":"Invalid param","data":null,"tid":"8415441776075972669","success":false}

查询不存在的用户

shell
curl 'http://127.0.0.1:8081/api/v1/system/user/detail?id=99999999' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0'

{"code":"4000","displayCode":"4000","message":"Invalid param","data":null,"tid":"7125301776076289277","success":false}

TS模板示例

ts
// 响应接口
export interface UserDto {
  /* 用户ID */
  id: number;
  /* 用户唯一标识 */
  uid: string;
  /* 商户ID */
  tenantId: number;
  /* 用户名 */
  userName: string;
  /* 用户昵称 */
  nickName: string;
  /* 用户头像 */
  avatar: string;
  /* 用户密码(通常为null) */
  password: string | null;
  /* 是否设置过密码,1表示已设置 */
  resetPass: number;
  /* 用户状态: Enabled, Disabled */
  status: 'Enabled' | 'Disabled';
  /* 角色: Admin, User */
  role: 'Admin' | 'User';
  /* 邮箱 */
  email: string;
  /* 手机号码 */
  phone: string;
  /* 最后登录时间 */
  lastLoginTime: string | null;
  /* 最近的语言环境 */
  lang: string;
  /* 创建时间 */
  created: string;
  /* 更新时间 */
  modified: string;
  /* 语言环境对应的值映射 */
  langMap: Record<string, string>;
}

export interface UserDetailRes {
  code: string;
  displayCode: string;
  message: string;
  data: UserDto | null;
  tid: string;
  success: boolean;
}

/** 
 * 查询用户详细信息
 * @param {object} params - 查询条件,id/uid/username/email/phone 至少传入一个
 * @param {number} [params.id] - 用户ID
 * @param {string} [params.uid] - 用户唯一标识
 * @param {string} [params.username] - 用户名
 * @param {string} [params.email] - 邮箱
 * @param {string} [params.phone] - 手机号码
 * @returns
 */
export function getUserDetail(params: {
  id?: number;
  uid?: string;
  username?: string;
  email?: string;
  phone?: string;
}): Promise<UserDetailRes> {
  return request.get(`/api/v1/system/user/detail`, { params });
}