diff --git a/public/ideContainer/icon/sysResource.png b/public/ideContainer/icon/sysResource.png new file mode 100644 index 0000000..b028c19 Binary files /dev/null and b/public/ideContainer/icon/sysResource.png differ diff --git a/public/ideContainer/icon/sysResource_active.png b/public/ideContainer/icon/sysResource_active.png new file mode 100644 index 0000000..f0a871f Binary files /dev/null and b/public/ideContainer/icon/sysResource_active.png differ diff --git a/src/pages/componentDevelopment/systemResource/index.tsx b/src/pages/componentDevelopment/systemResource/index.tsx new file mode 100644 index 0000000..41875cb --- /dev/null +++ b/src/pages/componentDevelopment/systemResource/index.tsx @@ -0,0 +1,38 @@ +import React, { useRef, useState, useEffect } from 'react'; + +const SystemResource = () => { + const iframeRef = useRef(null); + + // 根据当前访问的 hostname 动态生成服务器 URL + const getServerUrl = () => { + const currentHostname = window.location.hostname; + + // 如果是 localhost 或 127.0.0.1,使用固定的 IP + if (currentHostname === 'localhost' || currentHostname === '127.0.0.1') { + return 'http://192.168.5.119:5001/'; + } + + // 否则使用当前的 IP 加 5001 端口 + return `http://${currentHostname}:5001/`; + }; + + const [serverUrl, setServerUrl] = useState(getServerUrl()); + + // 监听 URL 变化(如果需要动态更新) + useEffect(() => { + const handleLocationChange = () => { + setServerUrl(getServerUrl()); + }; + + // 监听 popstate 事件(浏览器前进后退) + window.addEventListener('popstate', handleLocationChange); + + return () => { + window.removeEventListener('popstate', handleLocationChange); + }; + }, []); + + return ; +}; + +export default SystemResource; \ No newline at end of file diff --git a/src/pages/ideContainer/config/menuData.ts b/src/pages/ideContainer/config/menuData.ts index e4aeabd..aa3173e 100644 --- a/src/pages/ideContainer/config/menuData.ts +++ b/src/pages/ideContainer/config/menuData.ts @@ -111,7 +111,14 @@ export const menuData2 = [ icon: '/ideContainer/icon/envConfig.png', activeIcon: '/ideContainer/icon/envConfig_active.png', children: null + }, + { + title: '系统资源', + path: 'systemResource', + key: 'systemResource', + parentKey: 'systemResource', + icon: '/ideContainer/icon/sysResource.png', + activeIcon: '/ideContainer/icon/sysResource_active.png', + children: null } -]; - -// export const tempEnvData = \ No newline at end of file +]; \ No newline at end of file diff --git a/src/pages/ideContainer/index.tsx b/src/pages/ideContainer/index.tsx index c9e12ca..d6c73ec 100644 --- a/src/pages/ideContainer/index.tsx +++ b/src/pages/ideContainer/index.tsx @@ -31,6 +31,7 @@ import ComponentCoding from '@/pages/componentDevelopment/componentCoding'; import ComponentDeployment from '@/pages/componentDevelopment/componentDeployment'; import ComponentTest from '@/pages/componentDevelopment/componentTest'; import ComponentEnv from '@/pages/componentDevelopment/componentEnv'; +import SystemResource from '@/pages/componentDevelopment/systemResource'; import { getUserToken } from '@/api/user'; import { Message } from '@arco-design/web-react'; import { queryEventItemBySceneId, queryEventItemBySceneIdOld } from '@/api/event'; @@ -51,7 +52,8 @@ const ComponentReview = () =>