diff --git a/README.md b/README.md index 82d3e630922b606c072bf12017c812b827c37aa0..3a1061b7ba8db152133da1f52683a948b24cedc8 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,13 @@ go-admin-web 是 go-admin-server 项目的前端部分,采用 Vue3 + ElementPl - GitHub: https://github.com/MarchGe/go-admin-web - Gitee: https://gitee.com/go-admin_1/go-admin-web +#### 在线体验 +- https://go-admin.dy-technology.com + ```text + 账号:root@example.com + 密码:123456 + ``` + #### 安装教程 1. 修改src/config-dev.js ```javascript @@ -70,6 +77,12 @@ server { proxy_pass http://go-admin-server; rewrite ^\/bg-(.*)$ /$1 break; } + location /bg-admin/devops/explorer/upload { + client_max_body_size 1g; + client_body_buffer_size 2m; + proxy_pass http://go-admin-server; + rewrite ^\/bg-(.*)$ /$1 break; + } } ``` 5. 启动nginx服务即可。 \ No newline at end of file diff --git a/src/assets/alibaba_icons/iconfont.css b/src/assets/alibaba_icons/iconfont.css index f181128dc7616b779684b00a2bdda45164b1f443..acf7f4ac92c0d369d07503f51d02b09fde1b8db9 100644 --- a/src/assets/alibaba_icons/iconfont.css +++ b/src/assets/alibaba_icons/iconfont.css @@ -1,6 +1,6 @@ @font-face { font-family: "iconfont"; /* Project id 4456016 */ - src: url('iconfont.woff2?t=1712210434520') format('woff2'); + src: url('iconfont.woff2?t=1716392144388') format('woff2'); } .iconfont { @@ -11,6 +11,22 @@ -moz-osx-font-smoothing: grayscale; } +.icon-arrow-right:before { + content: "\e622"; +} + +.icon-arrow-left:before { + content: "\eac4"; +} + +.icon-ex-file:before { + content: "\eac3"; +} + +.icon-ex-dir:before { + content: "\e676"; +} + .icon-fenxiang1:before { content: "\e606"; } diff --git a/src/assets/alibaba_icons/iconfont.woff2 b/src/assets/alibaba_icons/iconfont.woff2 index 615fc5ff648797b17ef34631d33638a43d21e209..f11e19d15dc6ac3907929a1b728f8dcf916da188 100644 Binary files a/src/assets/alibaba_icons/iconfont.woff2 and b/src/assets/alibaba_icons/iconfont.woff2 differ diff --git a/src/assets/css/devops/explorer.css b/src/assets/css/devops/explorer.css new file mode 100644 index 0000000000000000000000000000000000000000..3671e477dfa9ca4391548c35872707a8014a85d9 --- /dev/null +++ b/src/assets/css/devops/explorer.css @@ -0,0 +1,85 @@ +.container { + display: flex; + flex-direction: column; +} +.head { + display: flex; + align-items: center; + flex-wrap: nowrap; + padding: 10px; + border-bottom: 1px solid #cccccc; +} +.head .arrow-icon { + margin: 0 6px; +} +.head .arrow { + font-size: 20px; + cursor: pointer; + color: #333333; +} +.head .arrow.disable { + color: #a8a8a8; +} +.head .path { + margin-left: 10px; + font-size: 16px; + color: #a8a8a8; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.head .refresh { + margin: 0 15px; + cursor: pointer; +} +.head .upload_btn { + margin-right: 20px; +} +.list { + padding: 20px; + display: flex; + flex-wrap: wrap; + align-content: flex-start; +} +.item_v { + width: 100px; + height: 100px; + margin: 5px; +} +.item_v .item { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.item .name { + width: 100%; + height: 34px; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: pre-wrap; + text-align: center; +} + +.dir { + font-size: 60px; + color: #F5D471; +} +.file { + font-size: 50px; + color: #c8c8c8; +} + +.empty-dir { + display: flex; + flex-direction: column; + flex: auto; + align-items: center; + justify-content: center; + font-size: 24px; + color: #c8c8c8; +} \ No newline at end of file diff --git a/src/router.js b/src/router.js index 0f1c3b72ac5c119b71c1a24c9b203db6566cdc3f..9778c5062b8c6d8ab2a8db224d319c5de59d008d 100644 --- a/src/router.js +++ b/src/router.js @@ -13,6 +13,7 @@ import OpLog from "./views/system/log/op/index.vue" import ExceptionLog from "./views/system/log/exception/index.vue" // 运维工具 import Xterm from "./views/devops/xterm/index.vue" +import Explorer from "./views/devops/explorer/index.vue" import Performance from "./views/devops/monitor/performance/index.vue" import PerformanceDetail from "./views/devops/monitor/performance/detail.vue" import Host from "./views/devops/host/index.vue" @@ -37,6 +38,7 @@ const router = [ {path: "/sys/log/exception", component: ExceptionLog}, // 运维工具 {path: "/devops/terminal", component: Xterm}, + {path: "/devops/explorer", component: Explorer}, {path: "/devops/monitor/performance", component: Performance}, {path: "/devops/monitor/performance/detail", component: PerformanceDetail}, {path: "/devops/host", component: Host}, diff --git a/src/settings.js b/src/settings.js index 6d7b6ef337c62c03262a29e27778a2b4ee20bf81..5e3c25a8ddc1faa9fde497531a51aa2bd665be8f 100644 --- a/src/settings.js +++ b/src/settings.js @@ -116,6 +116,11 @@ const serverPaths = { ssePush: serverContextPath + "/sse/message-push", taskManifestLog: taskId => serverContextPath + "/sse/task/" + taskId + "/manifest-log", taskHostLog: taskId => serverContextPath + "/sse/task/" + taskId + "/host-log", + // explorer + explorerEntries: serverContextPath + "/devops/explorer/entries", + explorerDelete: serverContextPath + "/devops/explorer/entry", + explorerUpload: serverContextPath + "/devops/explorer/upload", + explorerDownload: serverContextPath + "/devops/explorer/download", } export { serverPaths, diff --git a/src/views/devops/explorer/index.vue b/src/views/devops/explorer/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..c72460b1550524dfa25e656ccbcf4e70b56c0303 --- /dev/null +++ b/src/views/devops/explorer/index.vue @@ -0,0 +1,273 @@ + + + + + {{x.crumbs}} + + + + + + + 上传 + + + + + + + + + 打开 + 删除 + + + + {{item.name}} + + + + + + + 删除 + 下载 + + + + {{item.name}} + + + + 空目录 + + + 删除后不可恢复,是否确定删除 ? + + 取消 + 确定 + + + + + + + + 拖拽上传或 点击上传 + 注意:上传重名文件会自动覆盖 + + + + + + + \ No newline at end of file