diff --git a/src/assets/imgs/no-items-tip.png b/src/assets/imgs/no-items-tip.png new file mode 100644 index 00000000..816fbf0d Binary files /dev/null and b/src/assets/imgs/no-items-tip.png differ diff --git a/src/assets/svg-icon/file-css.svg b/src/assets/svg-icon/file-css.svg new file mode 100644 index 00000000..254877b5 --- /dev/null +++ b/src/assets/svg-icon/file-css.svg @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-css2.svg b/src/assets/svg-icon/file-css2.svg new file mode 100644 index 00000000..990638a3 --- /dev/null +++ b/src/assets/svg-icon/file-css2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/file-dir.svg b/src/assets/svg-icon/file-dir.svg new file mode 100644 index 00000000..04daada7 --- /dev/null +++ b/src/assets/svg-icon/file-dir.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/file-excel.svg b/src/assets/svg-icon/file-excel.svg new file mode 100644 index 00000000..cd43176f --- /dev/null +++ b/src/assets/svg-icon/file-excel.svg @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-html.svg b/src/assets/svg-icon/file-html.svg new file mode 100644 index 00000000..7a87a8e9 --- /dev/null +++ b/src/assets/svg-icon/file-html.svg @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-html2.svg b/src/assets/svg-icon/file-html2.svg new file mode 100644 index 00000000..b84da6c5 --- /dev/null +++ b/src/assets/svg-icon/file-html2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/file-js.svg b/src/assets/svg-icon/file-js.svg new file mode 100644 index 00000000..ef737aa4 --- /dev/null +++ b/src/assets/svg-icon/file-js.svg @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-js2.svg b/src/assets/svg-icon/file-js2.svg new file mode 100644 index 00000000..fed9b0de --- /dev/null +++ b/src/assets/svg-icon/file-js2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/file-markdown.svg b/src/assets/svg-icon/file-markdown.svg new file mode 100644 index 00000000..2ad93f6b --- /dev/null +++ b/src/assets/svg-icon/file-markdown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/file-pdf.svg b/src/assets/svg-icon/file-pdf.svg new file mode 100644 index 00000000..86e53b8f --- /dev/null +++ b/src/assets/svg-icon/file-pdf.svg @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-ppt.svg b/src/assets/svg-icon/file-ppt.svg new file mode 100644 index 00000000..c11d4324 --- /dev/null +++ b/src/assets/svg-icon/file-ppt.svg @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-rar.svg b/src/assets/svg-icon/file-rar.svg new file mode 100644 index 00000000..fbed0967 --- /dev/null +++ b/src/assets/svg-icon/file-rar.svg @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-wps.svg b/src/assets/svg-icon/file-wps.svg new file mode 100644 index 00000000..652b056b --- /dev/null +++ b/src/assets/svg-icon/file-wps.svg @@ -0,0 +1,13 @@ + + + + + + + \ No newline at end of file diff --git a/src/assets/svg-icon/file-zip.svg b/src/assets/svg-icon/file-zip.svg new file mode 100644 index 00000000..51fde6fa --- /dev/null +++ b/src/assets/svg-icon/file-zip.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/upload-file.svg b/src/assets/svg-icon/upload-file.svg new file mode 100644 index 00000000..60ca4bd2 --- /dev/null +++ b/src/assets/svg-icon/upload-file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/svg-icon/upload-folder.svg b/src/assets/svg-icon/upload-folder.svg new file mode 100644 index 00000000..3c13f503 --- /dev/null +++ b/src/assets/svg-icon/upload-folder.svg @@ -0,0 +1,12 @@ + + + + + \ No newline at end of file diff --git a/src/service/api/pan.ts b/src/service/api/pan.ts new file mode 100644 index 00000000..5f995783 --- /dev/null +++ b/src/service/api/pan.ts @@ -0,0 +1,18 @@ +import { request } from '../request'; + +/** 网盘上传地址 */ +export const simpleUploadURL = `${import.meta.env.VITE_SERVICE_BASE_URL}/pan/upload`; +/** 获取首页文件列表 */ +export const fetchGetFileList = () => { + return request({ + url: '/pan/filelist' + }); +}; + +/** 删除文件 */ +export const fetchDeleteFile = (id: string) => { + return request({ + url: `/pan/file/${id}`, + method: 'delete' + }); +}; diff --git a/src/typings/app.d.ts b/src/typings/app.d.ts index 076c0c98..c832f9c5 100644 --- a/src/typings/app.d.ts +++ b/src/typings/app.d.ts @@ -263,6 +263,32 @@ declare namespace App { /** The global dropdown key */ type DropdownKey = 'closeCurrent' | 'closeOther' | 'closeLeft' | 'closeRight' | 'closeAll'; + + /** 文件类型 */ + type FileItem = { + /** 文件唯一标识 */ + id: string; + /** 文件类型 */ + type?: string; + /** 文件名 */ + name: string; + /** 拓展名 */ + extendName: string; + /** 文件路径 */ + src: string; + /** 文件修改时间 */ + updateTime: string; + /** 是否是目录 */ + isDir: boolean; + /** 是否是公共目录 */ + isPublic?: boolean; + /** 文件路径 */ + filePath: string; + /** 文件大小 */ + size: number; + /** 任意属性只能有一个 */ + [propName: string]: any; + }; } /** diff --git a/src/views/pan/components/file-grid.vue b/src/views/pan/components/file-grid.vue new file mode 100644 index 00000000..ac8456f4 --- /dev/null +++ b/src/views/pan/components/file-grid.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/src/views/pan/components/file-image.vue b/src/views/pan/components/file-image.vue new file mode 100644 index 00000000..2a8f1313 --- /dev/null +++ b/src/views/pan/components/file-image.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/views/pan/components/file-list.vue b/src/views/pan/components/file-list.vue new file mode 100644 index 00000000..e19a2a53 --- /dev/null +++ b/src/views/pan/components/file-list.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/src/views/pan/modules/file-aside.vue b/src/views/pan/modules/file-aside.vue index 1d0b19d8..aaa8f1a8 100644 --- a/src/views/pan/modules/file-aside.vue +++ b/src/views/pan/modules/file-aside.vue @@ -72,12 +72,10 @@ const fileMenuOptions = [ -
- - - - - +
+ + +
diff --git a/src/views/pan/modules/file-main.vue b/src/views/pan/modules/file-main.vue index 82fdced5..6926b58a 100644 --- a/src/views/pan/modules/file-main.vue +++ b/src/views/pan/modules/file-main.vue @@ -1,8 +1,12 @@