54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import { api } from '@/services/api';
|
||
|
||
export type Gender = 'male' | 'female';
|
||
|
||
export type UpdateUserDto = {
|
||
name?: string;
|
||
avatar?: string; // base64 字符串
|
||
gender?: Gender;
|
||
birthDate?: number; // 时间戳(秒)
|
||
dailyStepsGoal?: number;
|
||
dailyCaloriesGoal?: number;
|
||
pilatesPurposes?: string[];
|
||
weight?: number;
|
||
height?: number;
|
||
activityLevel?: number; // 活动水平 1-4
|
||
initialWeight?: number; // 初始体重
|
||
targetWeight?: number; // 目标体重
|
||
chestCircumference?: number; // 胸围
|
||
waistCircumference?: number; // 腰围
|
||
upperHipCircumference?: number; // 上臀围
|
||
armCircumference?: number; // 臂围
|
||
thighCircumference?: number; // 大腿围
|
||
calfCircumference?: number; // 小腿围
|
||
};
|
||
|
||
export async function updateUser(dto: UpdateUserDto): Promise<Record<string, any>> {
|
||
// 固定使用后端文档接口:PUT /api/users/update
|
||
return await api.put('/api/users/update', dto);
|
||
}
|
||
|
||
export async function uploadImage(formData: FormData): Promise<{ fileKey: string; fileUrl: string }> {
|
||
return await api.post('/api/users/cos/upload-image', formData, {
|
||
unsetContentType: true
|
||
});
|
||
}
|
||
|
||
export type BodyMeasurementsDto = {
|
||
chestCircumference?: number; // 胸围
|
||
waistCircumference?: number; // 腰围
|
||
upperHipCircumference?: number; // 上臀围
|
||
armCircumference?: number; // 臂围
|
||
thighCircumference?: number; // 大腿围
|
||
calfCircumference?: number; // 小腿围
|
||
};
|
||
|
||
export async function updateBodyMeasurements(dto: BodyMeasurementsDto): Promise<{
|
||
code: number;
|
||
message: string;
|
||
}> {
|
||
return await api.put('/users/body-measurements', dto);
|
||
}
|
||
|
||
|