feat: 个人信息修改
This commit is contained in:
@@ -70,6 +70,61 @@ export function getUserInfo() {
|
||||
return requestClient.get<UserInfoResponse>('/user/info')
|
||||
}
|
||||
|
||||
/** 更新用户信息请求(所有字段可选,传什么更新什么) */
|
||||
export interface UpdateUserInfoRequest {
|
||||
/** 用户昵称,最长 16 位 */
|
||||
nickName?: string
|
||||
/** 头像图片 URL 地址 */
|
||||
avatar?: string
|
||||
/** 个性签名,最长 64 位 */
|
||||
signature?: string
|
||||
/** 年龄 */
|
||||
age?: number
|
||||
/** 性别:1=男,2=女 */
|
||||
sex?: number
|
||||
/** 生日(ISO 8601 日期格式,如 "1998-06-15") */
|
||||
birthday?: string
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新当前登录用户信息
|
||||
*
|
||||
* 所有字段可选,传什么更新什么。
|
||||
*
|
||||
* @param data - 更新请求
|
||||
* @returns 更新后的用户信息
|
||||
*/
|
||||
export function updateUserInfo(data: UpdateUserInfoRequest) {
|
||||
return requestClient.put<UserInfoResponse>('/user/info', data)
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传用户头像
|
||||
*
|
||||
* 接收裁剪后的图片文件,保存后返回更新后的用户信息。
|
||||
*
|
||||
* @param file - 头像文件(JPEG/PNG/WebP/GIF,≤2MB)
|
||||
* @returns 更新后的用户信息
|
||||
*/
|
||||
export function uploadAvatar(file: File) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
return requestClient.post<UserInfoResponse>('/user/avatar', formData, {
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
} as any)
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除用户头像
|
||||
*
|
||||
* 删除磁盘文件并将 DB 中 avatar 置空。
|
||||
*
|
||||
* @returns 更新后的用户信息(avatar 为 null)
|
||||
*/
|
||||
export function deleteAvatar() {
|
||||
return requestClient.delete<UserInfoResponse>('/user/avatar')
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新当前登录用户在线状态
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user