mirror of
https://github.com/fumiama/paper-manager.git
synced 2026-06-07 08:50:23 +08:00
add frontend/vben from vben-admin-thin
This commit is contained in:
14
frontend/vben/src/api/sys/menu.ts
Normal file
14
frontend/vben/src/api/sys/menu.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { defHttp } from '/@/utils/http/axios'
|
||||
import { getMenuListResultModel } from './model/menuModel'
|
||||
|
||||
enum Api {
|
||||
GetMenuList = '/getMenuList',
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: Get user menu based on id
|
||||
*/
|
||||
|
||||
export const getMenuList = () => {
|
||||
return defHttp.get<getMenuListResultModel>({ url: Api.GetMenuList })
|
||||
}
|
||||
16
frontend/vben/src/api/sys/model/menuModel.ts
Normal file
16
frontend/vben/src/api/sys/model/menuModel.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import type { RouteMeta } from 'vue-router'
|
||||
export interface RouteItem {
|
||||
path: string
|
||||
component: any
|
||||
meta: RouteMeta
|
||||
name?: string
|
||||
alias?: string | string[]
|
||||
redirect?: string
|
||||
caseSensitive?: boolean
|
||||
children?: RouteItem[]
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: Get menu return value
|
||||
*/
|
||||
export type getMenuListResultModel = RouteItem[]
|
||||
5
frontend/vben/src/api/sys/model/uploadModel.ts
Normal file
5
frontend/vben/src/api/sys/model/uploadModel.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
export interface UploadApiResult {
|
||||
message: string
|
||||
code: number
|
||||
url: string
|
||||
}
|
||||
38
frontend/vben/src/api/sys/model/userModel.ts
Normal file
38
frontend/vben/src/api/sys/model/userModel.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @description: Login interface parameters
|
||||
*/
|
||||
export interface LoginParams {
|
||||
username: string
|
||||
password: string
|
||||
}
|
||||
|
||||
export interface RoleInfo {
|
||||
roleName: string
|
||||
value: string
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: Login interface return value
|
||||
*/
|
||||
export interface LoginResultModel {
|
||||
userId: string | number
|
||||
token: string
|
||||
role: RoleInfo
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: Get user information return value
|
||||
*/
|
||||
export interface GetUserInfoModel {
|
||||
roles: RoleInfo[]
|
||||
// 用户id
|
||||
userId: string | number
|
||||
// 用户名
|
||||
username: string
|
||||
// 真实名字
|
||||
realName: string
|
||||
// 头像
|
||||
avatar: string
|
||||
// 介绍
|
||||
desc?: string
|
||||
}
|
||||
55
frontend/vben/src/api/sys/user.ts
Normal file
55
frontend/vben/src/api/sys/user.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { defHttp } from '/@/utils/http/axios'
|
||||
import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel'
|
||||
|
||||
import { ErrorMessageMode } from '/#/axios'
|
||||
|
||||
enum Api {
|
||||
Login = '/login',
|
||||
Logout = '/logout',
|
||||
GetUserInfo = '/getUserInfo',
|
||||
GetPermCode = '/getPermCode',
|
||||
TestRetry = '/testRetry',
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: user login api
|
||||
*/
|
||||
export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
|
||||
return defHttp.post<LoginResultModel>(
|
||||
{
|
||||
url: Api.Login,
|
||||
params,
|
||||
},
|
||||
{
|
||||
errorMessageMode: mode,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: getUserInfo
|
||||
*/
|
||||
export function getUserInfo() {
|
||||
return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' })
|
||||
}
|
||||
|
||||
export function getPermCode() {
|
||||
return defHttp.get<string[]>({ url: Api.GetPermCode })
|
||||
}
|
||||
|
||||
export function doLogout() {
|
||||
return defHttp.get({ url: Api.Logout })
|
||||
}
|
||||
|
||||
export function testRetry() {
|
||||
return defHttp.get(
|
||||
{ url: Api.TestRetry },
|
||||
{
|
||||
retryRequest: {
|
||||
isOpenRetry: true,
|
||||
count: 5,
|
||||
waitTime: 1000,
|
||||
},
|
||||
},
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user