import { useUserData } from "./useUserData"; import { useEffect } from "react"; import logger from "@/utils/logger"; import type { IUserInfo } from "@/interfaces/database/user-setting"; import userService from "@/services/user_service"; import { rsaPsw } from "../utils/encryption"; export function useProfileSetting() { const {fetchUserInfo, userInfo} = useUserData(); useEffect(() => { fetchUserInfo(); }, [fetchUserInfo]); const updateUserInfo = async (newUserInfo: Partial) => { try { await userService.updateSetting(newUserInfo); } catch (error) { logger.error('更新用户信息失败:', error); throw error; } }; const changeUserPassword = async (data: { password: string; new_password: string }) => { try { const newPassword = rsaPsw(data.new_password); const oldPassword = rsaPsw(data.password); const res = await userService.updatePassword({ password: oldPassword, new_password: newPassword, }); } catch (error) { throw error; } }; return { userInfo, updateUserInfo, changeUserPassword, }; }