diff --git a/gyxtp/src/assets/img2/cloud.png b/gyxtp/src/assets/img2/cloud.png
new file mode 100644
index 0000000..8859dcf
Binary files /dev/null and b/gyxtp/src/assets/img2/cloud.png differ
diff --git a/gyxtp/src/view/Home.vue b/gyxtp/src/view/Home.vue
index fec97fa..818615b 100644
--- a/gyxtp/src/view/Home.vue
+++ b/gyxtp/src/view/Home.vue
@@ -84,7 +84,6 @@ export default {
dialogVisible: false,
disabled: true,
type: 'word',
- updateUrl: "http://localhost:10031/common/upload",
fileList: [],
lsList: [],
rmList:[],
diff --git a/gyxtp/src/view/Home1.vue b/gyxtp/src/view/Home1.vue
index 62b9c23..bd42f2d 100644
--- a/gyxtp/src/view/Home1.vue
+++ b/gyxtp/src/view/Home1.vue
@@ -1037,7 +1037,7 @@ export default {
this.haveImg = false;
}else {
this.haveImg = true;
- this.src = "http://localhost:10031" + this.contentInfo.docVideo;
+ // this.src = "http://localhost:10031" + this.contentInfo.docVideo;
var imgs = this.contentInfo.docImgs;
this.imgsList = imgs.split(",");
diff --git a/gyxtp/src/view/articleInfo.vue b/gyxtp/src/view/articleInfo.vue
index 5e44753..1ede03e 100644
--- a/gyxtp/src/view/articleInfo.vue
+++ b/gyxtp/src/view/articleInfo.vue
@@ -553,14 +553,6 @@ export default {
} else {
this.haveImg = true;
- // 处理多个视频地址
- if (this.contentInfo.docVideo) {
- const videoPrefix = "http://localhost:10031";
- this.videoUrls = this.contentInfo.docVideo.split(',').map(video => videoPrefix + video.trim());
- } else {
- this.videoUrls = [];
- }
-
// 处理图片列表
if (this.contentInfo.docImgs) {
this.imgsList = this.contentInfo.docImgs.split(",");
diff --git a/gyxtp/src/view/create.vue b/gyxtp/src/view/create.vue
index 14bdeeb..91b1dd2 100644
--- a/gyxtp/src/view/create.vue
+++ b/gyxtp/src/view/create.vue
@@ -418,7 +418,6 @@ export default {
dialogImageUrl: "",
disabled: true,
type: 'word',
- updateUrl: "http://localhost:10031/common/upload",
fileList: [],
lsList: [],
rmList:[],
@@ -804,21 +803,20 @@ export default {
this.getAll();
this.getTitleByGroup()
-
- // 创建 WebSocket 连接
- this.socket = new WebSocket('ws://localhost:10031/api/ws?userId=123'); // 连接到上面的服务端
-
- // 监听连接打开
- this.socket.addEventListener('open', (event) => {
- console.log('WebSocket 连接已建立');
- this.messages.push('已连接到服务端');
- });
-
- // 监听消息接收
- this.socket.addEventListener('message', (event) => {
- console.log('收到消息:', event.data);
- this.messages.push(event.data);
- });
+ // // 创建 WebSocket 连接
+ // this.socket = new WebSocket('ws://localhost:10031/api/ws?userId=123'); // 连接到上面的服务端
+ //
+ // // 监听连接打开
+ // this.socket.addEventListener('open', (event) => {
+ // console.log('WebSocket 连接已建立');
+ // this.messages.push('已连接到服务端');
+ // });
+ //
+ // // 监听消息接收
+ // this.socket.addEventListener('message', (event) => {
+ // console.log('收到消息:', event.data);
+ // this.messages.push(event.data);
+ // });
}
};
diff --git a/gyxtp/src/view/docInfo.vue b/gyxtp/src/view/docInfo.vue
index fb31469..6da44df 100644
--- a/gyxtp/src/view/docInfo.vue
+++ b/gyxtp/src/view/docInfo.vue
@@ -65,7 +65,7 @@
@@ -85,7 +85,7 @@
@@ -106,7 +106,7 @@
@@ -127,7 +127,7 @@
@@ -395,7 +395,8 @@ const graphOptions = {
force_line_elastic: 0.1 // 全局设置,线条的牵引系数,默认为1, 建议合理的取值范围:0.1 -- 10
// force_node_repulsion: 1, // 全局设置,节点之间的斥力系数,默认为1,建议合理的取值范围:0.1 -- 10
// force_line_elastic: 1 // 全局设置,线条的牵引系数,默认为1, 建议合理的取值范围:0.1 -- 10
- }
+ },
+ backgroundColor: "#2d3562"
};
export default {
name: 'docInfo',
@@ -796,22 +797,21 @@ export default {
} else {
this.haveImg = true;
- // 处理多个视频地址
- if (this.contentInfo.docVideo) {
- const videoPrefix = "http://localhost:10031";
- this.videoUrls = this.contentInfo.docVideo.split(',').map(video => videoPrefix + video.trim());
- } else {
- this.videoUrls = [];
- }
// 处理图片列表
if (this.contentInfo.docImgs) {
var lidt = this.contentInfo.docImgs.split(",");
for(let a=0;a
diff --git a/gyxtp/src/view/graphPageCopy0926.vue b/gyxtp/src/view/graphPageCopy0926.vue
index e738ba1..43980c9 100644
--- a/gyxtp/src/view/graphPageCopy0926.vue
+++ b/gyxtp/src/view/graphPageCopy0926.vue
@@ -361,7 +361,8 @@ export default {
layoutName: 'center', // 关键:使用 center 布局
levelDistance: '1000,1000,1000,1000,3000,3000,3000,3000', // 每一层的半径(可动态修改)
startAngle: -Math.PI / 2, // 起始角度(-90°,顶部开始)
- }
+ },
+ backgroundColor: "#2d3562"
},
currentNode: {}, // 选中的节点对象
attrbutes: [],//选中节点或连线的属性列表
@@ -1693,4 +1694,7 @@ tr {
background-color: rgba(64, 158, 255,0.2);
color:#409eff
}
+.rel-graph-loading{
+ background-color: transparent!important;
+}
\ No newline at end of file
diff --git a/gyxtp/src/view/graphPageNB927.vue b/gyxtp/src/view/graphPageNB927.vue
index c56f037..9bec701 100644
--- a/gyxtp/src/view/graphPageNB927.vue
+++ b/gyxtp/src/view/graphPageNB927.vue
@@ -376,7 +376,8 @@ export default {
layoutName: 'center', // 关键:使用 center 布局
levelDistance: '1000,1000,1000,1000,3000,3000,3000,3000', // 每一层的半径(可动态修改)
startAngle: -Math.PI / 2, // 起始角度(-90°,顶部开始)
- }
+ },
+ backgroundColor: "#2d3562"
},
currentNode: {}, // 选中的节点对象
attrbutes: [],//选中节点或连线的属性列表
@@ -1580,4 +1581,7 @@ tr {
background-color: rgba(64, 158, 255,0.2);
color:#409eff
}
+.rel-graph-loading{
+ background-color: transparent!important;
+}
diff --git a/gyxtp/src/view/pointArticleInfo.vue b/gyxtp/src/view/pointArticleInfo.vue
index 278ae2c..a3a7980 100644
--- a/gyxtp/src/view/pointArticleInfo.vue
+++ b/gyxtp/src/view/pointArticleInfo.vue
@@ -550,14 +550,6 @@ export default {
} else {
this.haveImg = true;
- // 处理多个视频地址
- if (this.contentInfo.docVideo) {
- const videoPrefix = "http://localhost:10031";
- this.videoUrls = this.contentInfo.docVideo.split(',').map(video => videoPrefix + video.trim());
- } else {
- this.videoUrls = [];
- }
-
// 处理图片列表
if (this.contentInfo.docImgs) {
this.imgsList = this.contentInfo.docImgs.split(",");
diff --git a/gyxtp/src/view/small.vue b/gyxtp/src/view/small.vue
index c7c160b..d390edd 100644
--- a/gyxtp/src/view/small.vue
+++ b/gyxtp/src/view/small.vue
@@ -25,7 +25,7 @@
-
@@ -161,6 +163,7 @@ export default {
},
data() {
return {
+ ciyun:1,
chart: null,
words: [
],
@@ -202,7 +205,7 @@ export default {
debug: true,
backgrounImageNoRepeat: true,
moveToCenterWhenRefresh: true,
- zoomToFitWhenRefresh: true,
+ // zoomToFitWhenRefresh: true,
useAnimationWhenRefresh: false,
defaultLineColor: 'rgba(255, 255, 255, 0.6)',
@@ -211,27 +214,31 @@ export default {
defaultNodeBorderColor: 'rgba(255, 255, 255, 0.3)',
defaultNodeFontColor: '#fff',
defaultNodeShape: 0,
- defaultNodeWidth: 100,
- defaultNodeHeight: 100,
+ defaultNodeWidth: 60,
+ defaultNodeHeight: 60,
toolBarDirection: 'v',
toolBarPositionH: 'right',
-
+ toolBarPositionV:'top',
// ✅ 正确设置:使用贝塞尔曲线
defaultLineShape: 1, // 2 = 贝塞尔曲线(Bezier),3 = 平滑曲线
layout: {
layoutName: 'force',
from: 'center',
- maxLayoutTimes: 300,
- force_node_repulsion: 10000,
- force_line_elastic: 0.05,
- force_gravity_center: 0.05,
- force_no_overlap: 1.0,
+ maxLayoutTimes: 500, // ✅ 增加迭代次数 → 更稳定
+
+ // 🔥 核心调整:增大斥力
+ force_node_repulsion: 20000, // 从 12000 → 20000(关键!)
+
+ force_line_elastic: 0.03, // 减小边弹性 → 减少拉力
+ force_gravity_center: 0.03, // 减小向心力 → 避免过度聚集
+ force_no_overlap: 1.5, // ✅ 增强防重叠强度
force_is_3d: false,
force_center: [0, 0],
force_auto_restart: false
- }
+ },
+ backgroundColor: "#2d3562"
},
direction: "rtl",
// visGraph实例对象
@@ -383,6 +390,16 @@ export default {
}
},
methods: {
+ changeYun(){
+
+ if(this.ciyun==1){
+ this.ciyun=0
+ }else{
+ this.ciyun=1
+ this.initChart()
+ }
+
+ },
initChart() {
getKeywordsByKeyword(this.getpoinName).then(res=>{
this.words = res
@@ -595,9 +612,9 @@ export default {
const totalNum = totalNumMap[node.id];
// 根据 totalNum 计算尺寸(可调参数)
- const baseSize = 120; // 最小尺寸
- const sizePerNum = 60; // 每单位 num 增加的尺寸
- const maxSize = 400; // 最大尺寸限制
+ const baseSize = 80; // 最小尺寸
+ const sizePerNum = 40; // 每单位 num 增加的尺寸
+ const maxSize = 300; // 最大尺寸限制
let width = baseSize + sizePerNum * totalNum;
width = Math.min(width, maxSize); // 限制最大值
@@ -1234,12 +1251,12 @@ tr {
.container {
position: fixed;
- bottom: 20px;
- left:100px;
+ bottom: 10px;
+ right:60px;
width: 400px; /* 增大宽度 */
height: 300px; /* 增大高度 */
- background-color: transparent;
- border: 1px solid #ddd;
+ background-color: rgba(76, 100, 233, 0.71);
+ border: none;
border-radius: 12px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
padding: 12px;
@@ -1251,4 +1268,7 @@ tr {
height: calc(100% - 42px); /* 调整标题高度 */
position: relative;
}
+.rel-graph-loading{
+ background-color: transparent!important;
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java
index 3e2a598..260f904 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyDocmubanController.java
@@ -35,6 +35,8 @@ import com.ruoyi.system.service.IZhyDocmubanService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
+import static com.ruoyi.common.constant.Constants.FILE_MANAGER_DIR;
+
/**
* 图谱模板Controller
@@ -2204,7 +2206,7 @@ public class ZhyDocmubanController extends BaseController
String formattedDate = dateFormat.format(new Date());
// 定义基础目录
- File baseDir = new File("D:\\project\\gyx\\tupudata\\fileManager");
+ File baseDir = new File(FILE_MANAGER_DIR);
// 如果基础目录不存在,则创建它(包括所有必需的父目录)
if (!baseDir.exists() && !baseDir.mkdirs()) {
throw new IOException("Failed to create base directory: " + baseDir.getAbsolutePath());
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index 1b83b0f..242bf75 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -181,8 +181,8 @@ public static final String indexPathBattle = "D:\\project\\gyx\\tupudata\\battl
//
// public static final String indexPathBattle = "C:\\tupudata\\battleManager\\index";
- public static final String outPath = "D:\\project\\gyx\\tupudata\\fileOut\\";
- public static String TUPUDATA_ROOT = "D:/project/gyx/tupudata";
+ public static final String outPath = "D:\\tupudata\\fileOut\\";
+ public static String TUPUDATA_ROOT = "D:/tupudata";
/**
* 文章 PDF 存储目录
diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development
index 65b6ea2..04dd1c3 100644
--- a/ruoyi-ui/.env.development
+++ b/ruoyi-ui/.env.development
@@ -9,3 +9,5 @@ VUE_APP_BASE_API = '/dev-api'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
+
+VUE_APP_PORT=10031
diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production
index 3c3a142..74df527 100644
--- a/ruoyi-ui/.env.production
+++ b/ruoyi-ui/.env.production
@@ -6,3 +6,5 @@ ENV = 'production'
# 知识图谱管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'
+
+VUE_APP_PORT=10031
diff --git a/ruoyi-ui/src/views/system/battle/index.vue b/ruoyi-ui/src/views/system/battle/index.vue
index 13ed8d4..27767aa 100644
--- a/ruoyi-ui/src/views/system/battle/index.vue
+++ b/ruoyi-ui/src/views/system/battle/index.vue
@@ -236,10 +236,10 @@ export default {
// 设置上传的请求头部
headers: {Authorization: "Bearer " + getToken()},
// 上传的地址
- url: "http://localhost:10031/system/fileManage/uploadVideo",
- url2: "http://localhost:10031",
+ // url: "http://localhost:10031/system/fileManage/uploadVideo",
+ // url2: "http://localhost:10031",
},
- uploadImgUrl:"http://localhost:10031/common/upload1",
+ // uploadImgUrl:"http://localhost:10031/common/upload1",
form: {},
showVideoPath: "",
uploadUrl: "",//你要上传视频到你后台的地址
@@ -267,7 +267,7 @@ export default {
isUploading: false,
updateSupport: 0,
headers: {Authorization: "Bearer " + getToken()},
- url: "http://localhost:10031/system/battle/addFile"
+ // url: "http://localhost:10031/system/battle/addFile"
// url: "http://127.0.0.1:10031/system/battle/addFile"
},
@@ -279,7 +279,7 @@ export default {
isUploading: false,
updateSupport: 0,
headers: {Authorization: "Bearer " + getToken()},
- url: "http://localhost:10031/system/battle/addBattleFileNew"
+ // url: "http://localhost:10031/system/battle/addBattleFileNew"
},
}
},
@@ -489,11 +489,11 @@ export default {
mounted() {
this.getFileList()
- var socket = new WebSocket('ws://localhost:10031/system/websocket/1');
- let that = this
- socket.onmessage = function (event) {
- that.upload.tip = event.data
- }
+ // var socket = new WebSocket('ws://localhost:10031/system/websocket/1');
+ // let that = this
+ // socket.onmessage = function (event) {
+ // that.upload.tip = event.data
+ // }
},
}
diff --git a/ruoyi-ui/src/views/system/create/index.vue b/ruoyi-ui/src/views/system/create/index.vue
index b2420ad..36d5e21 100644
--- a/ruoyi-ui/src/views/system/create/index.vue
+++ b/ruoyi-ui/src/views/system/create/index.vue
@@ -262,7 +262,6 @@ export default {
dialogVisible: false,
disabled: true,
type: 'word',
- updateUrl: "http://localhost:10031/common/upload",
fileList: [],
lsList: [],
rmList:[],
@@ -731,7 +730,9 @@ export default {
// 创建 WebSocket 连接
getUserProfile().then(response => {
this.userId=response.data.userId
- this.socket = new WebSocket('ws://localhost:10031/api/ws?userId='+response.data.userId); // 连接到上面的服务端
+ let port=process.env.VUE_APP_PORT
+ console.log(port)
+ this.socket = new WebSocket('ws://localhost:'+port+'/api/ws?userId='+response.data.userId); // 连接到上面的服务端
// 监听连接打开
this.socket.addEventListener('open', (event) => {
console.log('WebSocket 连接已建立');
diff --git a/ruoyi-ui/src/views/system/fileManage/index1.vue b/ruoyi-ui/src/views/system/fileManage/index1.vue
deleted file mode 100644
index 4dd76fe..0000000
--- a/ruoyi-ui/src/views/system/fileManage/index1.vue
+++ /dev/null
@@ -1,1135 +0,0 @@
-
-
-
-
-
-
-
- 搜索
-
-
-
-
导入
-
-
导入补充
-
-
- 导出
-
-
历史文件下载
-
-
-
-
-
-
-
-
- 删除指定实体
-
-
-
-
-
- 删除
-
-
-
是否可以下载
-
-
-
-
-
-
-
-
-
- 下载
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{scope.row.imgsNum}}
- 0
-
-
-
-
-
- {{scope.row.videoSNum}}
- 0
-
-
-
-
- 添加
- 编辑
- 删除
-
-
-
-
-
-
-
-
-
- 将文件拖到此处,或点击上传
-
- 仅允许导入doc、docx格式文件。
- {{ upload.tip }}
-
-
-
-
-
-
-
-
-
-
- 将文件拖到此处,或点击上传
-
- 仅允许导入doc、docx格式文件。
- {{ upload.tip }}
-
-
-
- 请选择上级文章
-
-
-
-
- {{ inputErrorMessage }}
- 与上级文章关系
-
- {{ inputErrorMessage1 }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
- 点击上传视频
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ruoyi-ui/src/views/system/question/index.vue b/ruoyi-ui/src/views/system/question/index.vue
index c721a04..7775514 100644
--- a/ruoyi-ui/src/views/system/question/index.vue
+++ b/ruoyi-ui/src/views/system/question/index.vue
@@ -213,7 +213,7 @@ export default {
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
- url: "http://localhost:10031/system/excel/question/importData"
+ // url: "http://localhost:10031/system/excel/question/importData"
},
// 表单参数
form: {},
diff --git a/ruoyi-ui/src/views/system/relationship/index.vue b/ruoyi-ui/src/views/system/relationship/index.vue
index 2be1f61..9661da5 100644
--- a/ruoyi-ui/src/views/system/relationship/index.vue
+++ b/ruoyi-ui/src/views/system/relationship/index.vue
@@ -148,7 +148,7 @@
@pagination="getList"
/>
-
+
@@ -257,7 +257,7 @@ export default {
showSearch: true,
// 总条数
total: 0,
- // 文章关系表格数据
+ // 关系表格数据
relationshipList: [],
// 弹出层标题
title: "",
@@ -461,7 +461,7 @@ export default {
]
})
},
- /** 查询文章关系列表 */
+ /** 查询关系列表 */
getList() {
this.loading = true;
listRelationship(this.queryParams).then(response => {
@@ -514,7 +514,7 @@ export default {
this.reset();
this.resultFileList=[]
this.open = true;
- this.title = "添加文章关系";
+ this.title = "添加关系";
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -523,7 +523,7 @@ export default {
getRelationship(id).then(response => {
this.form = response.data;
this.open = true;
- this.title = "修改文章关系";
+ this.title = "修改关系";
});
},
/** 提交按钮 */
@@ -554,7 +554,7 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
- this.$modal.confirm('是否确认删除文章关系编号为"' + ids + '"的数据项?').then(function() {
+ this.$modal.confirm('是否确认删除关系编号为"' + ids + '"的数据项?').then(function() {
return delRelationship(ids);
}).then(() => {
this.getList();
diff --git a/ruoyi-ui/src/views/system/smart/question.vue b/ruoyi-ui/src/views/system/smart/question.vue
index b31a3ae..b49c391 100644
--- a/ruoyi-ui/src/views/system/smart/question.vue
+++ b/ruoyi-ui/src/views/system/smart/question.vue
@@ -309,7 +309,7 @@ export default {
},
data() {
return {
- uploadUrl: 'http://localhost:10031/common/upload',
+
imageUrl: [], // 存储图片URL的字段
answers: [],
filteredQuestions: [],
diff --git a/ruoyi-ui/src/views/system/smart/trainImg.vue b/ruoyi-ui/src/views/system/smart/trainImg.vue
index ac6c789..9f37053 100644
--- a/ruoyi-ui/src/views/system/smart/trainImg.vue
+++ b/ruoyi-ui/src/views/system/smart/trainImg.vue
@@ -149,27 +149,27 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -265,7 +265,7 @@ export default {
nowId:undefined,
openQuestion:false,
// uploadUrl: 'http://127.0.0.1:10031/common/upload',
- uploadUrl: 'http://localhost:10031/common/upload',
+ // uploadUrl: 'http://localhost:10031/common/upload',
fileList:[],
dialogImageUrl: '',
diff --git a/ruoyi-ui/src/views/system/task/index.vue b/ruoyi-ui/src/views/system/task/index.vue
index 77632b2..39625f0 100644
--- a/ruoyi-ui/src/views/system/task/index.vue
+++ b/ruoyi-ui/src/views/system/task/index.vue
@@ -205,7 +205,8 @@ export default {
mounted() {
getUserProfile().then(response => {
this.userId=response.data.userId
- this.socket = new WebSocket('ws://localhost:10031/api/ws?userId='+response.data.userId); // 连接到上面的服务端
+ let port=process.env.VUE_APP_PORT
+ this.socket = new WebSocket('ws://localhost:'+port+'/api/ws?userId='+response.data.userId); // 连接到上面的服务端
// 监听连接打开
this.socket.addEventListener('open', (event) => {
console.log('WebSocket 连接已建立');