feat: user-bar 修改

This commit is contained in:
2026-06-22 11:19:11 +08:00
parent 7d2d6707b7
commit 349a50339f
6 changed files with 269 additions and 211 deletions

View File

@@ -22,6 +22,17 @@ export type SexType = (typeof Sex)[keyof typeof Sex]
* 对应 OpenAPI: UserInfoResponse
* 所有字段均为可选,部分字段可能为 null
*/
/** 在线状态枚举 */
export const UserStatus = {
ONLINE: 'ONLINE',
AWAY: 'AWAY',
DND: 'DND',
INVISIBLE: 'INVISIBLE'
} as const
/** 在线状态类型 */
export type UserStatusType = (typeof UserStatus)[keyof typeof UserStatus]
export interface UserInfoResponse {
/** 用户唯一标识UUID */
userId?: string
@@ -37,13 +48,20 @@ export interface UserInfoResponse {
sex?: SexType | null
/** 生日ISO 8601 日期格式),可能为 null */
birthday?: string | null
/** 在线状态ONLINE / AWAY / DND / INVISIBLE */
status?: UserStatusType
}
/** 更新在线状态请求 */
export interface UpdateStatusRequest {
/** 状态值ONLINE、AWAY、DND、INVISIBLE */
status: UserStatusType
}
/**
* 获取当前登录用户信息
*
* 根据请求头中的 saToken 获取当前登录用户的详细信息
* 包括昵称、头像、个性签名、年龄、性别、生日。
* 根据请求头中的 saToken 获取当前登录用户的详细信息
* 需登录认证。
*
* @returns 当前登录用户的详细信息
@@ -51,3 +69,12 @@ export interface UserInfoResponse {
export function getUserInfo() {
return requestClient.get<UserInfoResponse>('/user/info')
}
/**
* 更新当前登录用户在线状态
*
* @param data - 状态更新请求
*/
export function updateStatus(data: UpdateStatusRequest) {
return requestClient.patch<void>('/user/status', data)
}