diff --git a/frontend/vben/mock/page/filelist.ts b/frontend/vben/mock/page/filelist.ts new file mode 100644 index 0000000..0943784 --- /dev/null +++ b/frontend/vben/mock/page/filelist.ts @@ -0,0 +1,69 @@ +import { MockMethod } from 'vite-plugin-mock' +import { resultError, resultSuccess, getRequestToken, requestParams } from '../_util' + +export function createFileList() { + return [ + { + title: '数据库2020B卷', + color: '', + desc: '不要等待机会,而要创造机会。', + group: '数据库与软件工程', + date: '2020-04-01', + }, + { + title: '数据库2020A卷', + color: '#3fb27f', + desc: '现在的你决定将来的你。', + group: '数据库与软件工程', + date: '2020-04-01', + }, + { + title: 'TCP/IP2018B卷', + color: '#e18525', + desc: '没有什么才能比努力更重要。', + group: 'TCP/IP', + date: '2021-04-01', + }, + { + title: 'TCP/IP2018A卷', + color: '#bf0c2c', + desc: '热情和欲望可以突破一切难关。', + group: 'TCP/IP', + date: '2018-01-01', + }, + { + title: '接入网2016B卷', + color: '#00d8ff', + desc: '健康的身体是实目标的基石。', + group: '接入网', + date: '2016-01-01', + }, + { + title: '接入网2016A卷', + color: '#4daf1bc9', + desc: '路是走出来的,而不是空想出来的。', + group: '接入网', + date: '2016-01-01', + }, + ] +} + +export default [ + // mock user login + { + url: '/basic-api/getFileList', + timeout: 200, + method: 'get', + response: (request: requestParams) => { + const token = getRequestToken(request) + if (!token) return resultError('Invalid token') + const count = request.query.count + if (!count || count <= 0) return resultError('Invalid count') + let fl = createFileList() + if (fl.length > count) { + fl = fl.slice(0, count) + } + return resultSuccess(fl) + }, + }, +] as MockMethod[] diff --git a/frontend/vben/src/api/page/model/fileListModel.ts b/frontend/vben/src/api/page/model/fileListModel.ts new file mode 100644 index 0000000..d321b83 --- /dev/null +++ b/frontend/vben/src/api/page/model/fileListModel.ts @@ -0,0 +1,13 @@ +export interface FileListGroupItem { + title: string + icon: string + color: string + desc: string + date: string + group: string +} + +/** + * @description: Get filelist return value + */ +export type getFileListModel = FileListGroupItem[] diff --git a/frontend/vben/src/api/page/page.ts b/frontend/vben/src/api/page/page.ts new file mode 100644 index 0000000..b29bf02 --- /dev/null +++ b/frontend/vben/src/api/page/page.ts @@ -0,0 +1,14 @@ +import { defHttp } from '/@/utils/http/axios' +import { getFileListModel } from './model/fileListModel' + +enum Api { + GetFileList = '/getFileList', +} + +/** + * @description: Get file list + */ + +export const getFileList = (count: number) => { + return defHttp.get({ url: Api.GetFileList, params: { count: count } }) +} diff --git a/frontend/vben/src/enums/pageEnum.ts b/frontend/vben/src/enums/pageEnum.ts index c7ca363..3e8ac3a 100644 --- a/frontend/vben/src/enums/pageEnum.ts +++ b/frontend/vben/src/enums/pageEnum.ts @@ -3,6 +3,8 @@ export enum PageEnum { BASE_LOGIN = '/login', // basic home path BASE_HOME = '/dashboard', + // file list path + PAGE_FILELIST = '/filelist', // error page path ERROR_PAGE = '/exception', // error log page path diff --git a/frontend/vben/src/locales/lang/zh-CN/routes/filelist.ts b/frontend/vben/src/locales/lang/zh-CN/routes/filelist.ts new file mode 100644 index 0000000..eee41fd --- /dev/null +++ b/frontend/vben/src/locales/lang/zh-CN/routes/filelist.ts @@ -0,0 +1,3 @@ +export default { + name: '文件列表', +} diff --git a/frontend/vben/src/router/routes/modules/filelist.ts b/frontend/vben/src/router/routes/modules/filelist.ts new file mode 100644 index 0000000..e8f04e5 --- /dev/null +++ b/frontend/vben/src/router/routes/modules/filelist.ts @@ -0,0 +1,31 @@ +import type { AppRouteModule } from '/@/router/types' + +import { LAYOUT } from '/@/router/constant' +import { t } from '/@/hooks/web/useI18n' + +const filelist: AppRouteModule = { + path: '/filelist', + name: 'FileList', + component: LAYOUT, + redirect: '/filelist/index', + meta: { + hideChildrenInMenu: true, + icon: 'ion:file-tray-full-outline', + title: t('routes.filelist.name'), + orderNo: 20, + }, + children: [ + { + path: 'index', + name: 'FileListPage', + component: () => import('/@/views/page/filelist/index.vue'), + meta: { + title: t('routes.filelist.name'), + icon: 'ion:file-tray-full-outline', + hideMenu: true, + }, + }, + ], +} + +export default filelist diff --git a/frontend/vben/src/router/routes/modules/setup.ts b/frontend/vben/src/router/routes/modules/setup.ts deleted file mode 100644 index 62757d7..0000000 --- a/frontend/vben/src/router/routes/modules/setup.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { AppRouteModule } from '/@/router/types' - -import { LAYOUT } from '/@/router/constant' -import { t } from '/@/hooks/web/useI18n' - -const setup: AppRouteModule = { - path: '/setup', - name: 'SetupDemo', - component: LAYOUT, - redirect: '/setup/index', - meta: { - orderNo: 90000, - hideChildrenInMenu: true, - icon: 'whh:paintroll', - title: t('routes.demo.setup.page'), - }, - children: [ - { - path: 'index', - name: 'SetupDemoPage', - component: () => import('/@/views/setup/index.vue'), - meta: { - title: t('routes.demo.setup.page'), - icon: 'whh:paintroll', - hideMenu: true, - }, - }, - ], -} - -export default setup diff --git a/frontend/vben/src/views/dashboard/workbench/components/ProjectCard.vue b/frontend/vben/src/views/dashboard/workbench/components/ProjectCard.vue index 45a1ad5..6867ac3 100644 --- a/frontend/vben/src/views/dashboard/workbench/components/ProjectCard.vue +++ b/frontend/vben/src/views/dashboard/workbench/components/ProjectCard.vue @@ -1,10 +1,10 @@