34 changed files with 646 additions and 283 deletions
-
14frontend/index.html
-
BINfrontend/public/favicon.png
-
10frontend/src/App.jsx
-
2frontend/src/components/DefaultChat/index.jsx
-
2frontend/src/components/Modals/ManageWorkspace/Documents/Directory/index.jsx
-
4frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx
-
64frontend/src/components/SettingsSidebar/index.jsx
-
2frontend/src/components/SpeechToText/BrowserNative/index.jsx
-
2frontend/src/components/TextToSpeech/BrowserNative/index.jsx
-
2frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/AgentMenu/index.jsx
-
4frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/index.jsx
-
4frontend/src/hooks/useTheme.js
-
122frontend/src/locales/zh/common.js
-
3frontend/src/pages/DataAnalysis/DataAnalysis.css
-
161frontend/src/pages/DataAnalysis/index.jsx
-
6frontend/src/pages/GeneralSettings/Appearance/CustomAppName/index.jsx
-
19frontend/src/pages/GeneralSettings/Appearance/CustomSiteSettings/index.jsx
-
5frontend/src/pages/GeneralSettings/Appearance/LanguagePreference/index.jsx
-
4frontend/src/pages/GeneralSettings/Appearance/ShowScrollbar/index.jsx
-
7frontend/src/pages/GeneralSettings/Appearance/SupportEmail/index.jsx
-
4frontend/src/pages/GeneralSettings/Appearance/ThemePreference/index.jsx
-
15frontend/src/pages/GeneralSettings/AudioPreference/stt.jsx
-
15frontend/src/pages/GeneralSettings/AudioPreference/tts.jsx
-
13frontend/src/pages/GeneralSettings/BrowserExtensionApiKey/NewBrowserExtensionApiKeyModal/index.jsx
-
17frontend/src/pages/GeneralSettings/BrowserExtensionApiKey/index.jsx
-
4frontend/src/pages/GeneralSettings/LLMPreference/index.jsx
-
2frontend/src/pages/GeneralSettings/VectorDatabase/index.jsx
-
4frontend/src/pages/Home/index.jsx
-
114frontend/src/pages/ReportGeneration/index.jsx
-
212frontend/src/pages/Tendency/index.jsx
-
57frontend/src/pages/Yuqingfenxi/index.jsx
-
3frontend/src/utils/paths.js
-
4locales/README.zh-CN.md
-
16server/utils/boot/MetaGenerator.js
|
Before Width: 200 | Height: 200 | Size: 3.5 KiB After Width: 626 | Height: 626 | Size: 40 KiB |
@ -0,0 +1,114 @@ |
|||
// import React, { useEffect, useRef } from 'react'; |
|||
import React, { useEffect, useState, useRef } from 'react'; |
|||
import '../DataAnalysis/DataAnalysis.css' |
|||
import sou from '../DataAnalysis/img/sou.png' |
|||
import home from '../DataAnalysis/img/home.png' |
|||
import tu1 from '../DataAnalysis/img/1.png' |
|||
import tu2 from '../DataAnalysis/img/2.png' |
|||
import tu3 from '../DataAnalysis/img/3.png' |
|||
import tu4 from '../DataAnalysis/img/4.png' |
|||
|
|||
function IframeComponent() { |
|||
// const iframeRef = useRef(null); |
|||
// |
|||
// useEffect(() => { |
|||
// if (iframeRef.current) { |
|||
// iframeRef.current.contentWindow.addEventListener('message', (event) => { |
|||
// console.log(11111, event.data); |
|||
// }); |
|||
// } |
|||
// |
|||
// return () => { |
|||
// if (iframeRef.current) { |
|||
// iframeRef.current.contentWindow.removeEventListener('message', (event) => { |
|||
// console.log('Received message:', event.data); |
|||
// }); |
|||
// } |
|||
// }; |
|||
// }, []); // 空依赖数组确保只运行一次清理操作 |
|||
// |
|||
// return ( |
|||
// <div> |
|||
// <iframe ref={iframeRef} src="https://example.com" className='w-[100%] h-screen'/>; |
|||
// </div> |
|||
// ) |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
const [renderKey, setRenderKey] = useState(); |
|||
|
|||
const list = [ |
|||
{ |
|||
name: '报告模板', |
|||
text: '根据需要选择合适的模板进行编辑和生成报告。', |
|||
img: tu1 |
|||
}, |
|||
{ |
|||
name: '数据支撑', |
|||
text: '可从文件库内选取指定参考文件', |
|||
img: tu2 |
|||
}, |
|||
{ |
|||
name: '报告生成', |
|||
text: '根据分析结果和用户需求,自动生成各类报告,并支持多种输出格式。', |
|||
img: tu3 |
|||
}, |
|||
{ |
|||
name: '智能推送', |
|||
text: '支持根据预设条件自动推送报告,确保相关人员及时获取报告信息', |
|||
img: tu4 |
|||
}, |
|||
] |
|||
|
|||
useEffect(() => { |
|||
|
|||
}, []); |
|||
|
|||
const bindUrl = () =>{ |
|||
window.location = '/' |
|||
} |
|||
|
|||
return ( |
|||
<div className='box'> |
|||
<div className='box1'> |
|||
<div className='head'> |
|||
<div><img src={home} onClick={bindUrl} alt="" /></div> |
|||
<div className='search'> |
|||
<div className='search1'> |
|||
<img src={sou} alt="" /> |
|||
<input type="text" placeholder='请输入内容' /> |
|||
</div> |
|||
<button>搜索</button> |
|||
</div> |
|||
</div> |
|||
<div className='content'> |
|||
{list.map((item, index) => ( |
|||
<div className='content2' key={index}> |
|||
<div className='content2_1'> |
|||
<div className='nr1'> |
|||
<img src={item.img} alt="" /> |
|||
</div> |
|||
<div className='nr2'> |
|||
<div>{item.name}</div> |
|||
<div>{item.text}</div> |
|||
</div> |
|||
</div> |
|||
<div className='content2_2'> |
|||
<button>立即使用</button> |
|||
</div> |
|||
</div> |
|||
))} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
) |
|||
|
|||
|
|||
} |
|||
|
|||
export default IframeComponent; |
|||
@ -1,29 +1,209 @@ |
|||
import React, { useEffect, useRef } from 'react'; |
|||
// import React, { useEffect, useRef } from 'react'; |
|||
import React, { useEffect, useState, useRef } from 'react'; |
|||
import '../DataAnalysis/DataAnalysis.css' |
|||
import sou from '../DataAnalysis/img/sou.png' |
|||
import home from '../DataAnalysis/img/home.png' |
|||
import tu1 from '../DataAnalysis/img/1.png' |
|||
import tu2 from '../DataAnalysis/img/2.png' |
|||
import tu3 from '../DataAnalysis/img/3.png' |
|||
import tu4 from '../DataAnalysis/img/4.png' |
|||
import tu5 from '../DataAnalysis/img/5.png' |
|||
import tu6 from '../DataAnalysis/img/6.png' |
|||
import tu7 from '../DataAnalysis/img/7.png' |
|||
import tu8 from '../DataAnalysis/img/8.png' |
|||
import tu9 from '../DataAnalysis/img/9.png' |
|||
import tu10 from '../DataAnalysis/img/10.png' |
|||
import tu11 from '../DataAnalysis/img/11.png' |
|||
import tu12 from '../DataAnalysis/img/12.png' |
|||
import tu13 from '../DataAnalysis/img/13.png' |
|||
import tu14 from '../DataAnalysis/img/14.png' |
|||
|
|||
function IframeComponent() { |
|||
const iframeRef = useRef(null); |
|||
// const iframeRef = useRef(null); |
|||
// |
|||
// useEffect(() => { |
|||
// if (iframeRef.current) { |
|||
// iframeRef.current.contentWindow.addEventListener('message', (event) => { |
|||
// console.log(11111, event.data); |
|||
// }); |
|||
// } |
|||
// |
|||
// return () => { |
|||
// if (iframeRef.current) { |
|||
// iframeRef.current.contentWindow.removeEventListener('message', (event) => { |
|||
// console.log('Received message:', event.data); |
|||
// }); |
|||
// } |
|||
// }; |
|||
// }, []); // 空依赖数组确保只运行一次清理操作 |
|||
// |
|||
// return ( |
|||
// <div> |
|||
// <iframe ref={iframeRef} src="https://example.com" className='w-[100%] h-screen'/>; |
|||
// </div> |
|||
// ) |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
const [renderKey, setRenderKey] = useState(); |
|||
|
|||
const list = [ |
|||
{ |
|||
name: '趋势预测', |
|||
text: '利用机器学习算法对历史数据进行分析,预测未来一段时间内的数据变化趋势,如经济发展、人口流动、环境状况等。', |
|||
img: tu1 |
|||
}, |
|||
{ |
|||
name: '异常监测', |
|||
text: '自动检测数据中的异常值或突变点,提醒用户注意可能存在的问题或风险。', |
|||
img: tu2 |
|||
}, |
|||
{ |
|||
name: '指标监测', |
|||
text: '对关键指标进行实时监控,当指标达到预设阈值时,自动触发警报,确保管理层能迅速响应。', |
|||
img: tu3 |
|||
}, |
|||
// { |
|||
// name: '智能推送', |
|||
// text: '支持根据预设条件自动推送报告,确保相关人员及时获取报告信息', |
|||
// img: tu4 |
|||
// }, |
|||
// { |
|||
// name: '生态修复分析', |
|||
// text: '分析不同区域内环境治理前后生态指标', |
|||
// img: tu5 |
|||
// }, |
|||
// { |
|||
// name: '人才分析', |
|||
// text: '分析人才流动情况、就业情况、人才数量、性别占比、岗位数量、录用率等', |
|||
// img: tu6 |
|||
// }, |
|||
// { |
|||
// name: '教育资源分析', |
|||
// text: '分析教育资源的分布情况,评估教育公平性', |
|||
// img: tu7 |
|||
// }, |
|||
// { |
|||
// name: '医疗服务分析', |
|||
// text: '监测医疗服务数据,分析就诊率和疾病谱变化', |
|||
// img: tu8 |
|||
// }, |
|||
// { |
|||
// name: '医疗服务分析', |
|||
// text: '监测医疗服务数据,分析就诊率和疾病谱变化', |
|||
// img: tu9 |
|||
// }, |
|||
// { |
|||
// name: '社会救助统计分析', |
|||
// text: '统计辖区内各类型救助人员数量、补助款发放金额等数据,并对数据进行分析', |
|||
// img: tu10 |
|||
// }, |
|||
// { |
|||
// name: '项目进度跟踪', |
|||
// text: '实时显示项目的进度状态,对比计划与实际进度', |
|||
// img: tu11 |
|||
// }, |
|||
// { |
|||
// name: '风险预警与策略建议', |
|||
// text: '基于进度和资金流数据,智能预警潜在风险并提供应对策略', |
|||
// img: tu12 |
|||
// }, |
|||
// { |
|||
// name: '经济与社会效益分析', |
|||
// text: '分析项目的经济效益和社会效益,为决策提供数据支持', |
|||
// img: tu13 |
|||
// }, |
|||
// { |
|||
// name: '产业分析', |
|||
// text: '对新能源、盐碱化工等产业进行资源、市场、技术分析用户输入产业信息,系统自动进行分析并输出报告资源分析:评估产业所需的自然、人力资源市场分析:分析当前市场需求、竞争态势', |
|||
// img: tu14 |
|||
// }, |
|||
// { |
|||
// name: '专家咨询', |
|||
// text: '提供专家的联系方式和专业领域,供用户咨询。用户选择需要咨询的专家领域,系统列出相关专家', |
|||
// img: tu8 |
|||
// }, |
|||
// { |
|||
// name: '趋势研究报告', |
|||
// text: '提供产业发展趋势的研究报告。用户访问趋势研究系统,阅读最新的趋势报告', |
|||
// img: tu9 |
|||
// }, |
|||
// { |
|||
// name: '产学研合作对接', |
|||
// text: '搭建互动系统,促进企业、高校和科研机构之间的合作', |
|||
// img: tu10 |
|||
// }, |
|||
// { |
|||
// name: '政策优化', |
|||
// text: '根据人才数据的深度分析结果,提出具体的政策优化建议', |
|||
// img: tu11 |
|||
// }, |
|||
// { |
|||
// name: '人才发展跟踪', |
|||
// text: '搭建人才数据库,对人才的发展进行全面跟踪和评估,生成详细的发展报告', |
|||
// img: tu12 |
|||
// }, |
|||
// { |
|||
// name: '招商引资', |
|||
// text: '跟踪各招商引资项目的进度,评估其对经济的贡献,预测项目完成后对经济的潜在影响', |
|||
// img: tu13 |
|||
// }, |
|||
// { |
|||
// name: '智能客服', |
|||
// text: '智能识别问题并提供答案', |
|||
// img: tu14 |
|||
// }, |
|||
] |
|||
|
|||
useEffect(() => { |
|||
if (iframeRef.current) { |
|||
iframeRef.current.contentWindow.addEventListener('message', (event) => { |
|||
console.log(11111, event.data); |
|||
}); |
|||
} |
|||
|
|||
return () => { |
|||
if (iframeRef.current) { |
|||
iframeRef.current.contentWindow.removeEventListener('message', (event) => { |
|||
console.log('Received message:', event.data); |
|||
}); |
|||
}, []); |
|||
|
|||
const bindUrl = () =>{ |
|||
window.location = '/' |
|||
} |
|||
}; |
|||
}, []); // 空依赖数组确保只运行一次清理操作 |
|||
|
|||
return ( |
|||
<div> |
|||
<iframe ref={iframeRef} src="https://example.com" className='w-[100%] h-screen'/>; |
|||
<div className='box'> |
|||
<div className='box1'> |
|||
<div className='head'> |
|||
<div><img src={home} onClick={bindUrl} alt="" /></div> |
|||
<div className='search'> |
|||
<div className='search1'> |
|||
<img src={sou} alt="" /> |
|||
<input type="text" placeholder='请输入内容' /> |
|||
</div> |
|||
<button>搜索</button> |
|||
</div> |
|||
</div> |
|||
<div className='content'> |
|||
{list.map((item, index) => ( |
|||
<div className='content2' key={index}> |
|||
<div className='content2_1'> |
|||
<div className='nr1'> |
|||
<img src={item.img} alt="" /> |
|||
</div> |
|||
<div className='nr2'> |
|||
<div>{item.name}</div> |
|||
<div>{item.text}</div> |
|||
</div> |
|||
</div> |
|||
<div className='content2_2'> |
|||
<button>立即使用</button> |
|||
</div> |
|||
</div> |
|||
))} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
) |
|||
|
|||
|
|||
} |
|||
|
|||
export default IframeComponent; |
|||
@ -0,0 +1,57 @@ |
|||
// import React, { useEffect, useRef } from 'react'; |
|||
import React, { useEffect, useState, useRef } from 'react'; |
|||
import '../DataAnalysis/DataAnalysis.css' |
|||
import sou from '../DataAnalysis/img/sou.png' |
|||
import home from '../DataAnalysis/img/home.png' |
|||
import tu1 from '../DataAnalysis/img/1.png' |
|||
import tu2 from '../DataAnalysis/img/2.png' |
|||
import tu3 from '../DataAnalysis/img/3.png' |
|||
import tu4 from '../DataAnalysis/img/4.png' |
|||
import tu5 from '../DataAnalysis/img/5.png' |
|||
import tu6 from '../DataAnalysis/img/6.png' |
|||
import tu7 from '../DataAnalysis/img/7.png' |
|||
import tu8 from '../DataAnalysis/img/8.png' |
|||
import tu9 from '../DataAnalysis/img/9.png' |
|||
import tu10 from '../DataAnalysis/img/10.png' |
|||
import tu11 from '../DataAnalysis/img/11.png' |
|||
import tu12 from '../DataAnalysis/img/12.png' |
|||
import tu13 from '../DataAnalysis/img/13.png' |
|||
import tu14 from '../DataAnalysis/img/14.png' |
|||
|
|||
function IframeComponent() { |
|||
const iframeRef = useRef(null); |
|||
|
|||
useEffect(() => { |
|||
if (iframeRef.current) { |
|||
iframeRef.current.contentWindow.addEventListener('message', (event) => { |
|||
console.log(11111, event.data); |
|||
}); |
|||
} |
|||
|
|||
return () => { |
|||
if (iframeRef.current) { |
|||
iframeRef.current.contentWindow.removeEventListener('message', (event) => { |
|||
console.log('Received message:', event.data); |
|||
}); |
|||
} |
|||
}; |
|||
}, []); // 空依赖数组确保只运行一次清理操作 |
|||
|
|||
return ( |
|||
<div> |
|||
<iframe ref={iframeRef} src="http://ds1.chenhaitech.com/chat/8HbpWwY8Y6TtGD0v" className='w-[100%] h-screen'/>; |
|||
</div> |
|||
) |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
export default IframeComponent; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue