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