import type * as T from './type' import http from '@/utils/http' import { type ApiMenuItem, convertMenuData } from '@/utils/menuConverter' export type * from './type' const BASE_URL = '/auth' /** @desc 账号登录 */ export function accountLogin(req: T.AccountLoginReq) { return http.post(`${BASE_URL}/login`, req) } /** @desc 手机号登录 */ export function phoneLogin(req: T.PhoneLoginReq) { return http.post(`${BASE_URL}/login`, req) } /** @desc 邮箱登录 */ export function emailLogin(req: T.EmailLoginReq) { return http.post(`${BASE_URL}/login`, req) } /** @desc 三方账号登录 */ export function socialLogin(req: any) { return http.post(`${BASE_URL}/login`, req) } /** @desc 三方账号登录授权 */ export function socialAuth(source: string) { return http.get(`${BASE_URL}/${source}`) } /** @desc 退出登录 */ export function logout() { return http.post(`${BASE_URL}/logout`) } /** @desc 获取用户信息 */ export const getUserInfo = () => { return http.get(`${BASE_URL}/userInfo`) } /** @desc 获取路由信息 */ export const getUserRoute = () => { return http.get(`${BASE_URL}/menu`) } /** @desc 获取路由信息并转换格式 */ export const getUserRouteWithAdapter = async () => { const response = await http.get(`${BASE_URL}/menu`) // 使用menuConverter转换API返回的菜单数据 const convertedData = convertMenuData(response.data) return { data: convertedData } }