diff --git a/oscm/board/src/js/api/dataPackageApi.js b/oscm/board/src/js/api/dataPackageApi.js new file mode 100644 index 0000000..2f8371a --- /dev/null +++ b/oscm/board/src/js/api/dataPackageApi.js @@ -0,0 +1,37 @@ +import axios from 'axios'; + +export default { + getPackageList(page, size) { + return axios.get('/api/data-package/list', { + params: {page, size} + }); + }, + + getLogList(page, size) { + return axios.get('/api/data-package/log/list', { + params: {page, size} + }); + }, + + downloadPackage(id) { + // 1. 先调用后端记录日志 + axios.get(`/api/data-package/download/${id}`) + .then(response => { + // 2. 获取文件URL后直接触发下载 + const fileUrl = response.data; + console.log("开始下载:", fileUrl); + + // 方法1:直接跳转(最简单) + window.location.href = fileUrl; + + // 方法2:创建隐藏的iframe(避免页面跳转) + // const iframe = document.createElement('iframe'); + // iframe.style.display = 'none'; + // iframe.src = fileUrl; + // document.body.appendChild(iframe); + }) + .catch(error => { + this.$message.error("下载失败: " + error.message); + }); + } +}; \ No newline at end of file diff --git a/oscm/board/src/js/index.js b/oscm/board/src/js/index.js index f841f21..c6fcb03 100644 --- a/oscm/board/src/js/index.js +++ b/oscm/board/src/js/index.js @@ -12,7 +12,8 @@ import settings from './modules/settings' import wordBank from './modules/wordBank' import sensitiveTarget from "./modules/targetSensitive" import metaDict from "./modules/metaDict" -import apiRules from "@/js/modules/apiRules"; +import apiRules from "@/js/modules/apiRules" +import DataPackage from "../modules/dataPackage/DataPackage"; Vue.use(Vuex) @@ -32,7 +33,8 @@ export default new Vuex.Store({ wordBank, sensitiveTarget, metaDict, - apiRules + apiRules, + DataPackage }, strict: debug }) \ No newline at end of file diff --git a/oscm/board/src/main.js b/oscm/board/src/main.js index 6cf3342..56a23ca 100644 --- a/oscm/board/src/main.js +++ b/oscm/board/src/main.js @@ -6,6 +6,7 @@ import OverView from './modules/overview/Homepage' import LogManage from './modules/log/LogList' import ServerManage from './modules/server/ServerList' import ProjectManage from './modules/project/ProjectList' +import DataPackage from "./modules/dataPackage/DataPackage"; // import TaskManage from './modules/task/MainFrame' import CommonTaskTab from "@/modules/task/CommonTaskList"; import SingleWebsiteTaskTab from "@/modules/task/SingleWebsiteTaskList"; @@ -66,7 +67,8 @@ const routes = [ // {path: 'settings', component: SystemSettings, meta: {keepAlive: true}}, {path: 'settings/metaData', component: MetaDataTab, meta: {keepAlive: true}}, {path: 'settings/metaDict', component: MetaDictTab, meta: {keepAlive: true}}, - {path: 'settings/wordBank', component: WordBankTab, meta: {keepAlive: true}} + {path: 'settings/wordBank', component: WordBankTab, meta: {keepAlive: true}}, + {path: 'data-package', component: DataPackage, meta: {keepAlive: true}} ] }, {path: '/oscm/login', component: login} diff --git a/oscm/board/src/modules/Index.vue b/oscm/board/src/modules/Index.vue index be9834e..cb8d01b 100644 --- a/oscm/board/src/modules/Index.vue +++ b/oscm/board/src/modules/Index.vue @@ -54,6 +54,7 @@ 系统管理 运行日志 + 数据包操作 词库管理 元数据表格 元数据字典 diff --git a/oscm/board/src/modules/dataPackage/DataPackage.vue b/oscm/board/src/modules/dataPackage/DataPackage.vue new file mode 100644 index 0000000..a3d1acc --- /dev/null +++ b/oscm/board/src/modules/dataPackage/DataPackage.vue @@ -0,0 +1,180 @@ + + + + \ No newline at end of file diff --git a/oscm/board/src/modules/log/LogList.vue b/oscm/board/src/modules/log/LogList.vue index 30b1c65..6fba1d2 100644 --- a/oscm/board/src/modules/log/LogList.vue +++ b/oscm/board/src/modules/log/LogList.vue @@ -69,7 +69,7 @@