1
0
mirror of https://github.com/fumiama/paper-manager.git synced 2026-06-08 17:40:23 +08:00

add frontend/vben from vben-admin-thin

This commit is contained in:
源文雨
2023-03-10 17:18:32 +08:00
parent 30cd57ef76
commit 2a0fdeae31
469 changed files with 42028 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
import { defHttp } from '/@/utils/http/axios'
import { GetAccountInfoModel } from './model/accountModel'
enum Api {
ACCOUNT_INFO = '/account/getAccountInfo',
SESSION_TIMEOUT = '/user/sessionTimeout',
TOKEN_EXPIRED = '/user/tokenExpired',
}
// Get personal center-basic settings
export const accountInfoApi = () => defHttp.get<GetAccountInfoModel>({ url: Api.ACCOUNT_INFO })
export const sessionTimeoutApi = () => defHttp.post<void>({ url: Api.SESSION_TIMEOUT })
export const tokenExpiredApi = () => defHttp.post<void>({ url: Api.TOKEN_EXPIRED })

View File

@@ -0,0 +1,9 @@
import { defHttp } from '/@/utils/http/axios'
import { AreaModel, AreaParams } from '/@/api/demo/model/areaModel'
enum Api {
AREA_RECORD = '/cascader/getAreaRecord',
}
export const areaRecord = (data: AreaParams) =>
defHttp.post<AreaModel>({ url: Api.AREA_RECORD, data })

View File

@@ -0,0 +1,12 @@
import { defHttp } from '/@/utils/http/axios'
enum Api {
// The address does not exist
Error = '/error',
}
/**
* @description: Trigger ajax error
*/
export const fireErrorApi = () => defHttp.get({ url: Api.Error })

View File

@@ -0,0 +1,7 @@
export interface GetAccountInfoModel {
email: string
name: string
introduction: string
phone: string
address: string
}

View File

@@ -0,0 +1,12 @@
export interface AreaModel {
id: string
code: string
parentCode: string
name: string
levelType: number
[key: string]: string | number
}
export interface AreaParams {
parentCode: string
}

View File

@@ -0,0 +1,15 @@
import { BasicFetchResult } from '/@/api/model/baseModel'
export interface DemoOptionsItem {
label: string
value: string
}
export interface selectParams {
id: number | string
}
/**
* @description: Request list return value
*/
export type DemoOptionsGetResultModel = BasicFetchResult<DemoOptionsItem>

View File

@@ -0,0 +1,74 @@
import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'
export type AccountParams = BasicPageParams & {
account?: string
nickname?: string
}
export type RoleParams = {
roleName?: string
status?: string
}
export type RolePageParams = BasicPageParams & RoleParams
export type DeptParams = {
deptName?: string
status?: string
}
export type MenuParams = {
menuName?: string
status?: string
}
export interface AccountListItem {
id: string
account: string
email: string
nickname: string
role: number
createTime: string
remark: string
status: number
}
export interface DeptListItem {
id: string
orderNo: string
createTime: string
remark: string
status: number
}
export interface MenuListItem {
id: string
orderNo: string
createTime: string
status: number
icon: string
component: string
permission: string
}
export interface RoleListItem {
id: string
roleName: string
roleValue: string
status: number
orderNo: string
createTime: string
}
/**
* @description: Request list return value
*/
export type AccountListGetResultModel = BasicFetchResult<AccountListItem>
export type DeptListGetResultModel = BasicFetchResult<DeptListItem>
export type MenuListGetResultModel = BasicFetchResult<MenuListItem>
export type RolePageListGetResultModel = BasicFetchResult<RoleListItem>
export type RoleListGetResultModel = RoleListItem[]

View File

@@ -0,0 +1,20 @@
import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'
/**
* @description: Request list interface parameters
*/
export type DemoParams = BasicPageParams
export interface DemoListItem {
id: string
beginTime: string
endTime: string
address: string
name: string
no: number
status: number
}
/**
* @description: Request list return value
*/
export type DemoListGetResultModel = BasicFetchResult<DemoListItem>

View File

@@ -0,0 +1,11 @@
import { defHttp } from '/@/utils/http/axios'
import { DemoOptionsItem, selectParams } from './model/optionsModel'
enum Api {
OPTIONS_LIST = '/select/getDemoOptions',
}
/**
* @description: Get sample options value
*/
export const optionsListApi = (params?: selectParams) =>
defHttp.get<DemoOptionsItem[]>({ url: Api.OPTIONS_LIST, params })

View File

@@ -0,0 +1,44 @@
import {
AccountParams,
DeptListItem,
MenuParams,
RoleParams,
RolePageParams,
MenuListGetResultModel,
DeptListGetResultModel,
AccountListGetResultModel,
RolePageListGetResultModel,
RoleListGetResultModel,
} from './model/systemModel'
import { defHttp } from '/@/utils/http/axios'
enum Api {
AccountList = '/system/getAccountList',
IsAccountExist = '/system/accountExist',
DeptList = '/system/getDeptList',
setRoleStatus = '/system/setRoleStatus',
MenuList = '/system/getMenuList',
RolePageList = '/system/getRoleListByPage',
GetAllRoleList = '/system/getAllRoleList',
}
export const getAccountList = (params: AccountParams) =>
defHttp.get<AccountListGetResultModel>({ url: Api.AccountList, params })
export const getDeptList = (params?: DeptListItem) =>
defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params })
export const getMenuList = (params?: MenuParams) =>
defHttp.get<MenuListGetResultModel>({ url: Api.MenuList, params })
export const getRoleListByPage = (params?: RolePageParams) =>
defHttp.get<RolePageListGetResultModel>({ url: Api.RolePageList, params })
export const getAllRoleList = (params?: RoleParams) =>
defHttp.get<RoleListGetResultModel>({ url: Api.GetAllRoleList, params })
export const setRoleStatus = (id: number, status: string) =>
defHttp.post({ url: Api.setRoleStatus, params: { id, status } })
export const isAccountExist = (account: string) =>
defHttp.post({ url: Api.IsAccountExist, params: { account } }, { errorMessageMode: 'none' })

View File

@@ -0,0 +1,20 @@
import { defHttp } from '/@/utils/http/axios'
import { DemoParams, DemoListGetResultModel } from './model/tableModel'
enum Api {
DEMO_LIST = '/table/getDemoList',
}
/**
* @description: Get sample list value
*/
export const demoListApi = (params: DemoParams) =>
defHttp.get<DemoListGetResultModel>({
url: Api.DEMO_LIST,
params,
headers: {
// @ts-ignore
ignoreCancelToken: true,
},
})

View File

@@ -0,0 +1,11 @@
import { defHttp } from '/@/utils/http/axios'
enum Api {
TREE_OPTIONS_LIST = '/tree/getDemoOptions',
}
/**
* @description: Get sample options value
*/
export const treeOptionsListApi = (params?: Recordable) =>
defHttp.get<Recordable[]>({ url: Api.TREE_OPTIONS_LIST, params })

View File

@@ -0,0 +1,9 @@
export interface BasicPageParams {
page: number
pageSize: number
}
export interface BasicFetchResult<T> {
items: T[]
total: number
}

View 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 })
}

View 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[]

View File

@@ -0,0 +1,5 @@
export interface UploadApiResult {
message: string
code: number
url: string
}

View 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
}

View 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,
},
},
)
}