正在显示
13 个修改的文件
包含
373 行增加
和
364 行删除
| 1 | import chatStyles from "@/app/components/chat.module.scss"; | 1 | import chatStyles from "@/app/components/chat.module.scss"; |
| 2 | import homeStyles from "@/app/components/home.module.scss"; | 2 | import homeStyles from "@/app/components/home.module.scss"; |
| 3 | -import styles from './bgRemoval.module.scss' | ||
| 4 | 3 | ||
| 5 | import { WindowContent } from "@/app/components/home"; | 4 | import { WindowContent } from "@/app/components/home"; |
| 6 | import { useMobileScreen } from "@/app/utils"; | 5 | import { useMobileScreen } from "@/app/utils"; |
| @@ -13,123 +12,116 @@ import { getClientConfig } from "@/app/config/client"; | @@ -13,123 +12,116 @@ import { getClientConfig } from "@/app/config/client"; | ||
| 13 | import React, { useEffect, useMemo, useRef, useState } from "react"; | 12 | import React, { useEffect, useMemo, useRef, useState } from "react"; |
| 14 | import { useAppConfig } from "@/app/store"; | 13 | import { useAppConfig } from "@/app/store"; |
| 15 | import { BgSiderBar } from "./bg-siderBar"; | 14 | import { BgSiderBar } from "./bg-siderBar"; |
| 16 | -import { Button, Flex, Upload, message } from 'antd'; | ||
| 17 | -import { UploadOutlined } from '@ant-design/icons'; | ||
| 18 | -import type { UploadFile } from 'antd'; | ||
| 19 | - | 15 | +import { message } from "antd"; |
| 16 | +import type { UploadFile } from "antd"; | ||
| 20 | 17 | ||
| 21 | import ReturnIcon from "@/app/icons/return.svg"; | 18 | import ReturnIcon from "@/app/icons/return.svg"; |
| 22 | import MinIcon from "@/app/icons/min.svg"; | 19 | import MinIcon from "@/app/icons/min.svg"; |
| 23 | import MaxIcon from "@/app/icons/max.svg"; | 20 | import MaxIcon from "@/app/icons/max.svg"; |
| 24 | import SDIcon from "@/app/icons/sd.svg"; | 21 | import SDIcon from "@/app/icons/sd.svg"; |
| 25 | -import LoadingIcon from "@/app/icons/loading.svg"; | ||
| 26 | -import BotIcon from "@/app/icons/bot.svg"; | ||
| 27 | -import CloseIcon from "@/app/icons/close.svg"; | ||
| 28 | - | ||
| 29 | - | 22 | +import { ChartComponent } from "../chart"; |
| 30 | 23 | ||
| 31 | export function BgRemoval() { | 24 | export function BgRemoval() { |
| 32 | - const isMobileScreen = useMobileScreen(); | ||
| 33 | - const navigate = useNavigate(); | ||
| 34 | - const clientConfig = useMemo(() => getClientConfig(), []); | ||
| 35 | - const showMaxIcon = !isMobileScreen && !clientConfig?.isApp; | ||
| 36 | - const config = useAppConfig(); | ||
| 37 | - const scrollRef = useRef<HTMLDivElement>(null); | ||
| 38 | - const isBgRemoval = location.pathname === Path.BgRemoval; | 25 | + const isMobileScreen = useMobileScreen(); |
| 26 | + const navigate = useNavigate(); | ||
| 27 | + const clientConfig = useMemo(() => getClientConfig(), []); | ||
| 28 | + const showMaxIcon = !isMobileScreen && !clientConfig?.isApp; | ||
| 29 | + const config = useAppConfig(); | ||
| 30 | + const scrollRef = useRef<HTMLDivElement>(null); | ||
| 31 | + const isBgRemoval = location.pathname === Path.BgRemoval; | ||
| 39 | 32 | ||
| 40 | - const [isLoading, setIsLoading] = useState(false) | ||
| 41 | - const [fileData, setFileData] = useState<Blob | null>(null); //储存上传图片 | ||
| 42 | - const [previewUrl, setPreviewUrl] = useState<string | null>('') | ||
| 43 | - // 关闭图片 | ||
| 44 | - const closePic = () => { | ||
| 45 | - setFileData(null); | ||
| 46 | - setPreviewUrl(''); | ||
| 47 | - }; | 33 | + const [isLoading, setIsLoading] = useState(false); |
| 34 | + const [fileData, setFileData] = useState<Blob | null>(null); //储存上传图片 | ||
| 35 | + const [previewUrl, setPreviewUrl] = useState<string | null>(""); | ||
| 36 | + // 关闭图片 | ||
| 37 | + const closePic = () => { | ||
| 38 | + setFileData(null); | ||
| 39 | + setPreviewUrl(""); | ||
| 40 | + }; | ||
| 48 | 41 | ||
| 49 | - //上传图片 | ||
| 50 | - const onChange = (info: any) => { | ||
| 51 | - if (info.file.status === 'uploading') { | ||
| 52 | - return; | ||
| 53 | - } | ||
| 54 | - if (info.file.status === 'done') { | ||
| 55 | - // 获取上传的文件对象 | ||
| 56 | - const file = info.file as UploadFile; | ||
| 57 | - const blob = file.originFileObj as Blob; | ||
| 58 | - setFileData(blob); | ||
| 59 | - } else if (info.file.status === 'error') { | ||
| 60 | - message.error(`${info.file.name} file upload failed.`); | ||
| 61 | - } | ||
| 62 | - }; | ||
| 63 | - // 修改 useEffect 监听 fileData | ||
| 64 | - useEffect(() => { | ||
| 65 | - if (fileData) { | ||
| 66 | - // 创建 Blob 的临时 URL | ||
| 67 | - const objectUrl = URL.createObjectURL(fileData); | ||
| 68 | - setPreviewUrl(objectUrl); | ||
| 69 | - // 组件卸载时释放内存 | ||
| 70 | - return () => URL.revokeObjectURL(objectUrl); | ||
| 71 | - } | ||
| 72 | - }, [fileData]); | 42 | + //上传图片 |
| 43 | + const onChange = (info: any) => { | ||
| 44 | + if (info.file.status === "uploading") { | ||
| 45 | + return; | ||
| 46 | + } | ||
| 47 | + if (info.file.status === "done") { | ||
| 48 | + // 获取上传的文件对象 | ||
| 49 | + const file = info.file as UploadFile; | ||
| 50 | + const blob = file.originFileObj as Blob; | ||
| 51 | + setFileData(blob); | ||
| 52 | + } else if (info.file.status === "error") { | ||
| 53 | + message.error(`${info.file.name} file upload failed.`); | ||
| 54 | + } | ||
| 55 | + }; | ||
| 56 | + // 修改 useEffect 监听 fileData | ||
| 57 | + useEffect(() => { | ||
| 58 | + if (fileData) { | ||
| 59 | + // 创建 Blob 的临时 URL | ||
| 60 | + const objectUrl = URL.createObjectURL(fileData); | ||
| 61 | + setPreviewUrl(objectUrl); | ||
| 62 | + // 组件卸载时释放内存 | ||
| 63 | + return () => URL.revokeObjectURL(objectUrl); | ||
| 64 | + } | ||
| 65 | + }, [fileData]); | ||
| 73 | 66 | ||
| 74 | - | ||
| 75 | - return ( | ||
| 76 | - <> | ||
| 77 | - <BgSiderBar | ||
| 78 | - className={clsx({ [homeStyles["sidebar-show"]]: isBgRemoval })} | ||
| 79 | - fileData={fileData} | ||
| 80 | - setFileData={setFileData} | ||
| 81 | - previewUrl={previewUrl} | ||
| 82 | - setPreviewUrl={setPreviewUrl} | ||
| 83 | - isLoading={isLoading} | ||
| 84 | - setIsLoading={setIsLoading} | ||
| 85 | - /> | ||
| 86 | - <WindowContent> | ||
| 87 | - <div className={chatStyles.chat} key={"1"}> | ||
| 88 | - <div className="window-header" data-tauri-drag-region> | ||
| 89 | - {isMobileScreen && ( | ||
| 90 | - <div className="window-actions"> | ||
| 91 | - <div className={"window-action-button"}> | ||
| 92 | - <IconButton | ||
| 93 | - icon={<ReturnIcon />} | ||
| 94 | - bordered | ||
| 95 | - title={Locale.Chat.Actions.ChatList} | ||
| 96 | - onClick={() => navigate(Path.BgRemoval)} | ||
| 97 | - /> | ||
| 98 | - </div> | ||
| 99 | - </div> | ||
| 100 | - )} | ||
| 101 | - <div | ||
| 102 | - className={clsx( | ||
| 103 | - "window-header-title", | ||
| 104 | - chatStyles["chat-body-title"], | ||
| 105 | - )} | ||
| 106 | - > | ||
| 107 | - <div className={`window-header-main-title`}>智能抠图</div> | ||
| 108 | - </div> | ||
| 109 | - <div className="window-actions"> | ||
| 110 | - {showMaxIcon && ( | ||
| 111 | - <div className="window-action-button"> | ||
| 112 | - <IconButton | ||
| 113 | - aria={Locale.Chat.Actions.FullScreen} | ||
| 114 | - icon={config.tightBorder ? <MinIcon /> : <MaxIcon />} | ||
| 115 | - bordered | ||
| 116 | - onClick={() => { | ||
| 117 | - config.update( | ||
| 118 | - (config) => (config.tightBorder = !config.tightBorder), | ||
| 119 | - ); | ||
| 120 | - }} | ||
| 121 | - /> | ||
| 122 | - </div> | ||
| 123 | - )} | ||
| 124 | - {isMobileScreen && <SDIcon width={50} height={50} />} | ||
| 125 | - </div> | ||
| 126 | - </div> | ||
| 127 | - <div className={chatStyles["chat-body"]} ref={scrollRef}> | ||
| 128 | - <Flex vertical justify='center' align="center" gap="middle" className={styles['panelFlex']}> | 67 | + return ( |
| 68 | + <> | ||
| 69 | + <BgSiderBar | ||
| 70 | + className={clsx({ [homeStyles["sidebar-show"]]: isBgRemoval })} | ||
| 71 | + fileData={fileData} | ||
| 72 | + setFileData={setFileData} | ||
| 73 | + previewUrl={previewUrl} | ||
| 74 | + setPreviewUrl={setPreviewUrl} | ||
| 75 | + isLoading={isLoading} | ||
| 76 | + setIsLoading={setIsLoading} | ||
| 77 | + /> | ||
| 78 | + <WindowContent> | ||
| 79 | + <div className={chatStyles.chat} key={"1"}> | ||
| 80 | + <div className="window-header" data-tauri-drag-region> | ||
| 81 | + {isMobileScreen && ( | ||
| 82 | + <div className="window-actions"> | ||
| 83 | + <div className={"window-action-button"}> | ||
| 84 | + <IconButton | ||
| 85 | + icon={<ReturnIcon />} | ||
| 86 | + bordered | ||
| 87 | + title={Locale.Chat.Actions.ChatList} | ||
| 88 | + onClick={() => navigate(Path.BgRemoval)} | ||
| 89 | + /> | ||
| 90 | + </div> | ||
| 91 | + </div> | ||
| 92 | + )} | ||
| 93 | + <div | ||
| 94 | + className={clsx( | ||
| 95 | + "window-header-title", | ||
| 96 | + chatStyles["chat-body-title"], | ||
| 97 | + )} | ||
| 98 | + > | ||
| 99 | + <div className={`window-header-main-title`}>智能抠图</div> | ||
| 100 | + </div> | ||
| 101 | + <div className="window-actions"> | ||
| 102 | + {showMaxIcon && ( | ||
| 103 | + <div className="window-action-button"> | ||
| 104 | + <IconButton | ||
| 105 | + aria={Locale.Chat.Actions.FullScreen} | ||
| 106 | + icon={config.tightBorder ? <MinIcon /> : <MaxIcon />} | ||
| 107 | + bordered | ||
| 108 | + onClick={() => { | ||
| 109 | + config.update( | ||
| 110 | + (config) => (config.tightBorder = !config.tightBorder), | ||
| 111 | + ); | ||
| 112 | + }} | ||
| 113 | + /> | ||
| 114 | + </div> | ||
| 115 | + )} | ||
| 116 | + {isMobileScreen && <SDIcon width={50} height={50} />} | ||
| 117 | + </div> | ||
| 118 | + </div> | ||
| 119 | + <div className={chatStyles["chat-body"]} ref={scrollRef}> | ||
| 120 | + {/* <Flex vertical justify='center' align="center" gap="middle" className={styles['panelFlex']}> | ||
| 129 | {isLoading ? ( | 121 | {isLoading ? ( |
| 130 | <div className={clsx("no-dark", styles["loading-content"])}> | 122 | <div className={clsx("no-dark", styles["loading-content"])}> |
| 131 | <BotIcon /> | 123 | <BotIcon /> |
| 132 | - <LoadingIcon /> | 124 | + <LoadingIcon/> |
| 133 | </div> | 125 | </div> |
| 134 | ) : previewUrl ? ( | 126 | ) : previewUrl ? ( |
| 135 | <div className={styles['preview']}> | 127 | <div className={styles['preview']}> |
| @@ -151,9 +143,11 @@ export function BgRemoval() { | @@ -151,9 +143,11 @@ export function BgRemoval() { | ||
| 151 | </Button> | 143 | </Button> |
| 152 | </Upload> | 144 | </Upload> |
| 153 | )} | 145 | )} |
| 154 | - </Flex> | ||
| 155 | - </div> | ||
| 156 | - </div> | ||
| 157 | - </WindowContent> | ||
| 158 | - </>) | ||
| 159 | -} | ||
| 146 | + </Flex> */} | ||
| 147 | + <ChartComponent /> | ||
| 148 | + </div> | ||
| 149 | + </div> | ||
| 150 | + </WindowContent> | ||
| 151 | + </> | ||
| 152 | + ); | ||
| 153 | +} |
| 1 | -export function ChartPage() { | ||
| 2 | - return <>zhehzsids</>; | 1 | +import { Card } from "antd"; |
| 2 | +import * as echarts from "echarts/core"; | ||
| 3 | +import { GridComponent, GridComponentOption } from "echarts/components"; | ||
| 4 | +import { BarChart, BarSeriesOption } from "echarts/charts"; | ||
| 5 | +import { CanvasRenderer } from "echarts/renderers"; | ||
| 6 | +import { useRef, useState } from "react"; | ||
| 7 | +const tabList = [ | ||
| 8 | + { | ||
| 9 | + key: "bar", | ||
| 10 | + label: "柱状图", | ||
| 11 | + }, | ||
| 12 | + { | ||
| 13 | + key: "pie", | ||
| 14 | + label: "饼图", | ||
| 15 | + }, | ||
| 16 | + { | ||
| 17 | + key: "line", | ||
| 18 | + label: "折线图", | ||
| 19 | + }, | ||
| 20 | +]; | ||
| 21 | + | ||
| 22 | +echarts.use([GridComponent, BarChart, CanvasRenderer]); | ||
| 23 | +type EChartsOption = echarts.ComposeOption< | ||
| 24 | + GridComponentOption | BarSeriesOption | ||
| 25 | +>; | ||
| 26 | + | ||
| 27 | +var option: EChartsOption; | ||
| 28 | + | ||
| 29 | +option = { | ||
| 30 | + xAxis: { | ||
| 31 | + type: "category", | ||
| 32 | + data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], | ||
| 33 | + }, | ||
| 34 | + yAxis: { | ||
| 35 | + type: "value", | ||
| 36 | + }, | ||
| 37 | + series: [ | ||
| 38 | + { | ||
| 39 | + data: [120, 200, 150, 80, 70, 110, 130], | ||
| 40 | + type: "bar", | ||
| 41 | + }, | ||
| 42 | + ], | ||
| 43 | +}; | ||
| 44 | +export function ChartComponent() { | ||
| 45 | + const [activeTabKey, setActiveTabKey] = useState<string>("bar"); | ||
| 46 | + const line = useRef<HTMLCanvasElement>(null); | ||
| 47 | + const bar = useRef<HTMLCanvasElement>(null); | ||
| 48 | + const pie = useRef<HTMLCanvasElement>(null); | ||
| 49 | + const contentListNoTitle: Record<string, React.ReactNode> = { | ||
| 50 | + bar: <canvas ref={bar}></canvas>, | ||
| 51 | + pie: <canvas ref={pie}></canvas>, | ||
| 52 | + line: <canvas ref={line}></canvas>, | ||
| 53 | + }; | ||
| 54 | + // var myChart = echarts.init(bar); | ||
| 55 | + return ( | ||
| 56 | + <> | ||
| 57 | + <Card | ||
| 58 | + style={{ width: "100%" }} | ||
| 59 | + tabList={tabList} | ||
| 60 | + activeTabKey={activeTabKey} | ||
| 61 | + onTabChange={setActiveTabKey} | ||
| 62 | + tabProps={{ size: "middle" }} | ||
| 63 | + > | ||
| 64 | + {contentListNoTitle[activeTabKey]} | ||
| 65 | + </Card> | ||
| 66 | + </> | ||
| 67 | + ); | ||
| 3 | } | 68 | } |
| @@ -109,10 +109,6 @@ const PowerPoint = dynamic( | @@ -109,10 +109,6 @@ const PowerPoint = dynamic( | ||
| 109 | loading: () => <Loading noLogo />, | 109 | loading: () => <Loading noLogo />, |
| 110 | }, | 110 | }, |
| 111 | ); | 111 | ); |
| 112 | -//以下新增图表 页面 20250331 | ||
| 113 | -const ChartPage = dynamic(async () => (await import("./chart")).ChartPage, { | ||
| 114 | - loading: () => <Loading noLogo />, | ||
| 115 | -}); | ||
| 116 | 112 | ||
| 117 | export function useSwitchTheme() { | 113 | export function useSwitchTheme() { |
| 118 | const config = useAppConfig(); | 114 | const config = useAppConfig(); |
| @@ -202,7 +198,6 @@ function Screen() { | @@ -202,7 +198,6 @@ function Screen() { | ||
| 202 | const isBgRemoval = location.pathname === Path.BgRemoval; | 198 | const isBgRemoval = location.pathname === Path.BgRemoval; |
| 203 | const isWrting = location.pathname === Path.Writing; | 199 | const isWrting = location.pathname === Path.Writing; |
| 204 | const isPowerpoint = location.pathname === Path.Powerpoint; | 200 | const isPowerpoint = location.pathname === Path.Powerpoint; |
| 205 | - const isChart = location.pathname === Path.Chart; | ||
| 206 | 201 | ||
| 207 | const isMobileScreen = useMobileScreen(); | 202 | const isMobileScreen = useMobileScreen(); |
| 208 | const shouldTightBorder = | 203 | const shouldTightBorder = |
| @@ -231,8 +226,6 @@ function Screen() { | @@ -231,8 +226,6 @@ function Screen() { | ||
| 231 | if (isWrting) return <WritingPage />; | 226 | if (isWrting) return <WritingPage />; |
| 232 | //20250328新增ppt制作页面 | 227 | //20250328新增ppt制作页面 |
| 233 | if (isPowerpoint) return <PowerPoint />; | 228 | if (isPowerpoint) return <PowerPoint />; |
| 234 | - //20250331新增图标页面 | ||
| 235 | - if (isChart) return <ChartPage />; | ||
| 236 | 229 | ||
| 237 | return ( | 230 | return ( |
| 238 | <> | 231 | <> |
| @@ -132,19 +132,6 @@ export function PreCode(props: { children: any }) { | @@ -132,19 +132,6 @@ export function PreCode(props: { children: any }) { | ||
| 132 | 132 | ||
| 133 | return ( | 133 | return ( |
| 134 | <> | 134 | <> |
| 135 | - <pre ref={ref}> | ||
| 136 | - <span | ||
| 137 | - className="copy-code-button" | ||
| 138 | - onClick={() => { | ||
| 139 | - if (ref.current) { | ||
| 140 | - copyToClipboard( | ||
| 141 | - ref.current.querySelector("code")?.innerText ?? "", | ||
| 142 | - ); | ||
| 143 | - } | ||
| 144 | - }} | ||
| 145 | - ></span> | ||
| 146 | - {props.children} | ||
| 147 | - </pre> | ||
| 148 | {mermaidCode.length > 0 && ( | 135 | {mermaidCode.length > 0 && ( |
| 149 | <Mermaid code={mermaidCode} key={mermaidCode} /> | 136 | <Mermaid code={mermaidCode} key={mermaidCode} /> |
| 150 | )} | 137 | )} |
| @@ -169,6 +156,19 @@ export function PreCode(props: { children: any }) { | @@ -169,6 +156,19 @@ export function PreCode(props: { children: any }) { | ||
| 169 | /> | 156 | /> |
| 170 | </FullScreen> | 157 | </FullScreen> |
| 171 | )} | 158 | )} |
| 159 | + <pre ref={ref}> | ||
| 160 | + <span | ||
| 161 | + className="copy-code-button" | ||
| 162 | + onClick={() => { | ||
| 163 | + if (ref.current) { | ||
| 164 | + copyToClipboard( | ||
| 165 | + ref.current.querySelector("code")?.innerText ?? "", | ||
| 166 | + ); | ||
| 167 | + } | ||
| 168 | + }} | ||
| 169 | + ></span> | ||
| 170 | + {props.children} | ||
| 171 | + </pre> | ||
| 172 | </> | 172 | </> |
| 173 | ); | 173 | ); |
| 174 | } | 174 | } |
| @@ -204,6 +204,7 @@ export function MindPage() { | @@ -204,6 +204,7 @@ export function MindPage() { | ||
| 204 | ); | 204 | ); |
| 205 | if (mindInstance.current) { | 205 | if (mindInstance.current) { |
| 206 | mindInstance.current.destroy(); | 206 | mindInstance.current.destroy(); |
| 207 | + mindInstance.current = null; | ||
| 207 | } | 208 | } |
| 208 | }; | 209 | }; |
| 209 | }, []); | 210 | }, []); |
| @@ -24,7 +24,7 @@ import ReturnIcon from "@/app/icons/return.svg"; | @@ -24,7 +24,7 @@ import ReturnIcon from "@/app/icons/return.svg"; | ||
| 24 | import MinIcon from "@/app/icons/min.svg"; | 24 | import MinIcon from "@/app/icons/min.svg"; |
| 25 | import MaxIcon from "@/app/icons/max.svg"; | 25 | import MaxIcon from "@/app/icons/max.svg"; |
| 26 | import SDIcon from "@/app/icons/sd.svg"; | 26 | import SDIcon from "@/app/icons/sd.svg"; |
| 27 | -import LoadingIcon from "@/app/icons/loading.svg"; | 27 | +import LoadingIcon from "@/app/icons/three-dots.svg"; |
| 28 | import BotIcon from "@/app/icons/bot.svg"; | 28 | import BotIcon from "@/app/icons/bot.svg"; |
| 29 | import EditIcon from "@/app/icons/rename.svg"; | 29 | import EditIcon from "@/app/icons/rename.svg"; |
| 30 | import ReloadIcon from "@/app/icons/reload.svg"; | 30 | import ReloadIcon from "@/app/icons/reload.svg"; |
| @@ -57,7 +57,6 @@ export enum Path { | @@ -57,7 +57,6 @@ export enum Path { | ||
| 57 | BgRemoval = "/background-removal", | 57 | BgRemoval = "/background-removal", |
| 58 | Writing = "/aiWriting", | 58 | Writing = "/aiWriting", |
| 59 | Powerpoint = "/powerpoint", | 59 | Powerpoint = "/powerpoint", |
| 60 | - Chart = "/chart", | ||
| 61 | } | 60 | } |
| 62 | 61 | ||
| 63 | export enum ApiPath { | 62 | export enum ApiPath { |
| @@ -884,6 +884,7 @@ const cn = { | @@ -884,6 +884,7 @@ const cn = { | ||
| 884 | generateBg: "生成背景", | 884 | generateBg: "生成背景", |
| 885 | promptTitle: "背景提示词", | 885 | promptTitle: "背景提示词", |
| 886 | }, | 886 | }, |
| 887 | + Thinking: "AI思考中", | ||
| 887 | }; | 888 | }; |
| 888 | 889 | ||
| 889 | type DeepPartial<T> = T extends object | 890 | type DeepPartial<T> = T extends object |
| 1 | import type { writePromptParam } from "@/app/types/prompt"; | 1 | import type { writePromptParam } from "@/app/types/prompt"; |
| 2 | + | ||
| 2 | export function getWrtingPrompt(param: writePromptParam) { | 3 | export function getWrtingPrompt(param: writePromptParam) { |
| 3 | - const isImg = `文案要配上图片,实现图文混排,要美观,要符合${param.writingPurposeName}的排版标准和写作风格,写作风格要${param.writingStyleName}, | 4 | + let writingPurposeName; |
| 5 | + switch (param.writingPurposeName) { | ||
| 6 | + case "公司官网": | ||
| 7 | + writingPurposeName = "公司官网的介绍"; | ||
| 8 | + break; | ||
| 9 | + case "小红书": | ||
| 10 | + writingPurposeName = "小红书的介绍"; | ||
| 11 | + break; | ||
| 12 | + case "微信": | ||
| 13 | + writingPurposeName = "微信的介绍"; | ||
| 14 | + break; | ||
| 15 | + case "公众号": | ||
| 16 | + writingPurposeName = "公众号的介绍"; | ||
| 17 | + break; | ||
| 18 | + case "今日头条": | ||
| 19 | + writingPurposeName = "今日头条的介绍"; | ||
| 20 | + break; | ||
| 21 | + } | ||
| 22 | + const isImg = `文案要配上图片,实现图文混排,要美观,要符合${writingPurposeName}的排版标准和写作风格,写作风格要${param.writingStyleName}, | ||
| 4 | 你没有图片没关系,把图文混排的效果实现,并在你认为要插入图片的地方将图片的Prompt用英文输出给:,记得图片地址后面的?nologo=true一定不能去掉了, | 23 | 你没有图片没关系,把图文混排的效果实现,并在你认为要插入图片的地方将图片的Prompt用英文输出给:,记得图片地址后面的?nologo=true一定不能去掉了, |
| 5 | 因为这个语法可以自动按照提示生成并渲染图片。你可以帮我大幅提高生成图片质量和丰富程度,比如增加相机光圈、具体场景描述等内容,注意图片一定要用<img,否则在HTML下图片可能显示不了`; | 24 | 因为这个语法可以自动按照提示生成并渲染图片。你可以帮我大幅提高生成图片质量和丰富程度,比如增加相机光圈、具体场景描述等内容,注意图片一定要用<img,否则在HTML下图片可能显示不了`; |
| 25 | + | ||
| 6 | const input = `帮我使用${param.writingLanguageName}写一篇主题是${ | 26 | const input = `帮我使用${param.writingLanguageName}写一篇主题是${ |
| 7 | param.prompt | 27 | param.prompt |
| 8 | - }的${param.writingTypeName},${ | ||
| 9 | - param.isImgName === "是" ? isImg : "" | ||
| 10 | - },字数要求不少于${ | ||
| 11 | - param.writingCount | ||
| 12 | - }字,字数不包括html代码和图片Prompt。输出成标准的html,直接给结果,不要做任何解释`; | 28 | + }的${param.writingTypeName}, |
| 29 | + ${param.isImgName === "是" ? isImg : ""} | ||
| 30 | + ,字数要求不少于${ | ||
| 31 | + param.writingCount | ||
| 32 | + }字,字数不包括html代码和图片Prompt。输出成标准的html,直接给结果,不要做任何解释`; | ||
| 13 | return input; | 33 | return input; |
| 14 | } | 34 | } |
| 15 | 35 |
| @@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
| 7 | "name": "nextchat", | 7 | "name": "nextchat", |
| 8 | "license": "mit", | 8 | "license": "mit", |
| 9 | "dependencies": { | 9 | "dependencies": { |
| 10 | + "@docmee/sdk-ui": "^1.1.17", | ||
| 10 | "@fortaine/fetch-event-source": "^3.0.6", | 11 | "@fortaine/fetch-event-source": "^3.0.6", |
| 11 | "@hello-pangea/dnd": "^16.5.0", | 12 | "@hello-pangea/dnd": "^16.5.0", |
| 12 | "@modelcontextprotocol/sdk": "^1.0.4", | 13 | "@modelcontextprotocol/sdk": "^1.0.4", |
| @@ -18,6 +19,7 @@ | @@ -18,6 +19,7 @@ | ||
| 18 | "@xyflow/react": "^12.4.4", | 19 | "@xyflow/react": "^12.4.4", |
| 19 | "antd": "^5.24.4", | 20 | "antd": "^5.24.4", |
| 20 | "axios": "^1.7.5", | 21 | "axios": "^1.7.5", |
| 22 | + "chart.js": "^4.4.8", | ||
| 21 | "cheerio": "^1.0.0", | 23 | "cheerio": "^1.0.0", |
| 22 | "clsx": "^2.1.1", | 24 | "clsx": "^2.1.1", |
| 23 | "docx": "^9.3.0", | 25 | "docx": "^9.3.0", |
| @@ -34,6 +36,7 @@ | @@ -34,6 +36,7 @@ | ||
| 34 | "lucide-react": "^0.484.0", | 36 | "lucide-react": "^0.484.0", |
| 35 | "markdown-to-txt": "^2.0.1", | 37 | "markdown-to-txt": "^2.0.1", |
| 36 | "mermaid": "^10.6.1", | 38 | "mermaid": "^10.6.1", |
| 39 | + "mind-elixir": "^4.5.0", | ||
| 37 | "nanoid": "^5.0.3", | 40 | "nanoid": "^5.0.3", |
| 38 | "next": "^14.1.1", | 41 | "next": "^14.1.1", |
| 39 | "node-fetch": "^3.3.1", | 42 | "node-fetch": "^3.3.1", |
| @@ -53,8 +56,6 @@ | @@ -53,8 +56,6 @@ | ||
| 53 | "sass": "^1.59.2", | 56 | "sass": "^1.59.2", |
| 54 | "spark-md5": "^3.0.2", | 57 | "spark-md5": "^3.0.2", |
| 55 | "use-debounce": "^9.0.4", | 58 | "use-debounce": "^9.0.4", |
| 56 | - "vue": "^3.5.13", | ||
| 57 | - "vue-template-compiler": "^2.7.16", | ||
| 58 | "xlsx": "^0.18.5", | 59 | "xlsx": "^0.18.5", |
| 59 | "zod": "^3.24.1" | 60 | "zod": "^3.24.1" |
| 60 | }, | 61 | }, |
| @@ -64,6 +65,7 @@ | @@ -64,6 +65,7 @@ | ||
| 64 | "@testing-library/dom": "^10.4.0", | 65 | "@testing-library/dom": "^10.4.0", |
| 65 | "@testing-library/jest-dom": "^6.6.3", | 66 | "@testing-library/jest-dom": "^6.6.3", |
| 66 | "@testing-library/react": "^16.1.0", | 67 | "@testing-library/react": "^16.1.0", |
| 68 | + "@types/chart.js": "^2.9.41", | ||
| 67 | "@types/file-saver": "^2.0.7", | 69 | "@types/file-saver": "^2.0.7", |
| 68 | "@types/html-docx-js": "^0.3.4", | 70 | "@types/html-docx-js": "^0.3.4", |
| 69 | "@types/html-to-draftjs": "^1.5.0", | 71 | "@types/html-to-draftjs": "^1.5.0", |
| @@ -947,6 +949,7 @@ | @@ -947,6 +949,7 @@ | ||
| 947 | "version": "7.25.3", | 949 | "version": "7.25.3", |
| 948 | "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.3.tgz", | 950 | "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.25.3.tgz", |
| 949 | "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", | 951 | "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", |
| 952 | + "dev": true, | ||
| 950 | "license": "MIT", | 953 | "license": "MIT", |
| 951 | "dependencies": { | 954 | "dependencies": { |
| 952 | "@babel/types": "^7.25.2" | 955 | "@babel/types": "^7.25.2" |
| @@ -962,6 +965,7 @@ | @@ -962,6 +965,7 @@ | ||
| 962 | "version": "7.24.8", | 965 | "version": "7.24.8", |
| 963 | "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", | 966 | "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", |
| 964 | "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", | 967 | "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", |
| 968 | + "dev": true, | ||
| 965 | "license": "MIT", | 969 | "license": "MIT", |
| 966 | "engines": { | 970 | "engines": { |
| 967 | "node": ">=6.9.0" | 971 | "node": ">=6.9.0" |
| @@ -971,6 +975,7 @@ | @@ -971,6 +975,7 @@ | ||
| 971 | "version": "7.24.7", | 975 | "version": "7.24.7", |
| 972 | "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", | 976 | "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", |
| 973 | "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", | 977 | "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", |
| 978 | + "dev": true, | ||
| 974 | "license": "MIT", | 979 | "license": "MIT", |
| 975 | "engines": { | 980 | "engines": { |
| 976 | "node": ">=6.9.0" | 981 | "node": ">=6.9.0" |
| @@ -980,6 +985,7 @@ | @@ -980,6 +985,7 @@ | ||
| 980 | "version": "7.25.2", | 985 | "version": "7.25.2", |
| 981 | "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.2.tgz", | 986 | "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.25.2.tgz", |
| 982 | "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", | 987 | "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", |
| 988 | + "dev": true, | ||
| 983 | "license": "MIT", | 989 | "license": "MIT", |
| 984 | "dependencies": { | 990 | "dependencies": { |
| 985 | "@babel/helper-string-parser": "^7.24.8", | 991 | "@babel/helper-string-parser": "^7.24.8", |
| @@ -2670,6 +2676,15 @@ | @@ -2670,6 +2676,15 @@ | ||
| 2670 | "@jridgewell/sourcemap-codec": "^1.4.10" | 2676 | "@jridgewell/sourcemap-codec": "^1.4.10" |
| 2671 | } | 2677 | } |
| 2672 | }, | 2678 | }, |
| 2679 | + "node_modules/@docmee/sdk-ui": { | ||
| 2680 | + "version": "1.1.17", | ||
| 2681 | + "resolved": "https://registry.npmmirror.com/@docmee/sdk-ui/-/sdk-ui-1.1.17.tgz", | ||
| 2682 | + "integrity": "sha512-K/pWu2tg9ZrE9wbI5Naylh+LVd86kwMG7A9pu5urN1XjV+MAHj7ruOMrmqMkGbN5fVfFN8DbxWx4yUMcCMHTxA==", | ||
| 2683 | + "license": "Apache-2.0", | ||
| 2684 | + "dependencies": { | ||
| 2685 | + "query-string": "^9.1.1" | ||
| 2686 | + } | ||
| 2687 | + }, | ||
| 2673 | "node_modules/@emotion/hash": { | 2688 | "node_modules/@emotion/hash": { |
| 2674 | "version": "0.8.0", | 2689 | "version": "0.8.0", |
| 2675 | "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", | 2690 | "resolved": "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz", |
| @@ -3474,6 +3489,12 @@ | @@ -3474,6 +3489,12 @@ | ||
| 3474 | "@jridgewell/sourcemap-codec": "^1.4.14" | 3489 | "@jridgewell/sourcemap-codec": "^1.4.14" |
| 3475 | } | 3490 | } |
| 3476 | }, | 3491 | }, |
| 3492 | + "node_modules/@kurkle/color": { | ||
| 3493 | + "version": "0.3.4", | ||
| 3494 | + "resolved": "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.4.tgz", | ||
| 3495 | + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", | ||
| 3496 | + "license": "MIT" | ||
| 3497 | + }, | ||
| 3477 | "node_modules/@modelcontextprotocol/sdk": { | 3498 | "node_modules/@modelcontextprotocol/sdk": { |
| 3478 | "version": "1.0.4", | 3499 | "version": "1.0.4", |
| 3479 | "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.0.4.tgz", | 3500 | "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.0.4.tgz", |
| @@ -4641,6 +4662,16 @@ | @@ -4641,6 +4662,16 @@ | ||
| 4641 | "@babel/types": "^7.20.7" | 4662 | "@babel/types": "^7.20.7" |
| 4642 | } | 4663 | } |
| 4643 | }, | 4664 | }, |
| 4665 | + "node_modules/@types/chart.js": { | ||
| 4666 | + "version": "2.9.41", | ||
| 4667 | + "resolved": "https://registry.npmmirror.com/@types/chart.js/-/chart.js-2.9.41.tgz", | ||
| 4668 | + "integrity": "sha512-3dvkDvueckY83UyUXtJMalYoH6faOLkWQoaTlJgB4Djde3oORmNP0Jw85HtzTuXyliUHcdp704s0mZFQKio/KQ==", | ||
| 4669 | + "dev": true, | ||
| 4670 | + "license": "MIT", | ||
| 4671 | + "dependencies": { | ||
| 4672 | + "moment": "^2.10.2" | ||
| 4673 | + } | ||
| 4674 | + }, | ||
| 4644 | "node_modules/@types/d3-color": { | 4675 | "node_modules/@types/d3-color": { |
| 4645 | "version": "3.1.3", | 4676 | "version": "3.1.3", |
| 4646 | "resolved": "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz", | 4677 | "resolved": "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz", |
| @@ -5254,152 +5285,6 @@ | @@ -5254,152 +5285,6 @@ | ||
| 5254 | "hasInstallScript": true, | 5285 | "hasInstallScript": true, |
| 5255 | "license": "Apache-2.0" | 5286 | "license": "Apache-2.0" |
| 5256 | }, | 5287 | }, |
| 5257 | - "node_modules/@vue/compiler-core": { | ||
| 5258 | - "version": "3.5.13", | ||
| 5259 | - "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", | ||
| 5260 | - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", | ||
| 5261 | - "license": "MIT", | ||
| 5262 | - "dependencies": { | ||
| 5263 | - "@babel/parser": "^7.25.3", | ||
| 5264 | - "@vue/shared": "3.5.13", | ||
| 5265 | - "entities": "^4.5.0", | ||
| 5266 | - "estree-walker": "^2.0.2", | ||
| 5267 | - "source-map-js": "^1.2.0" | ||
| 5268 | - } | ||
| 5269 | - }, | ||
| 5270 | - "node_modules/@vue/compiler-dom": { | ||
| 5271 | - "version": "3.5.13", | ||
| 5272 | - "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", | ||
| 5273 | - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", | ||
| 5274 | - "license": "MIT", | ||
| 5275 | - "dependencies": { | ||
| 5276 | - "@vue/compiler-core": "3.5.13", | ||
| 5277 | - "@vue/shared": "3.5.13" | ||
| 5278 | - } | ||
| 5279 | - }, | ||
| 5280 | - "node_modules/@vue/compiler-sfc": { | ||
| 5281 | - "version": "3.5.13", | ||
| 5282 | - "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", | ||
| 5283 | - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", | ||
| 5284 | - "license": "MIT", | ||
| 5285 | - "dependencies": { | ||
| 5286 | - "@babel/parser": "^7.25.3", | ||
| 5287 | - "@vue/compiler-core": "3.5.13", | ||
| 5288 | - "@vue/compiler-dom": "3.5.13", | ||
| 5289 | - "@vue/compiler-ssr": "3.5.13", | ||
| 5290 | - "@vue/shared": "3.5.13", | ||
| 5291 | - "estree-walker": "^2.0.2", | ||
| 5292 | - "magic-string": "^0.30.11", | ||
| 5293 | - "postcss": "^8.4.48", | ||
| 5294 | - "source-map-js": "^1.2.0" | ||
| 5295 | - } | ||
| 5296 | - }, | ||
| 5297 | - "node_modules/@vue/compiler-sfc/node_modules/nanoid": { | ||
| 5298 | - "version": "3.3.11", | ||
| 5299 | - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", | ||
| 5300 | - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", | ||
| 5301 | - "funding": [ | ||
| 5302 | - { | ||
| 5303 | - "type": "github", | ||
| 5304 | - "url": "https://github.com/sponsors/ai" | ||
| 5305 | - } | ||
| 5306 | - ], | ||
| 5307 | - "license": "MIT", | ||
| 5308 | - "bin": { | ||
| 5309 | - "nanoid": "bin/nanoid.cjs" | ||
| 5310 | - }, | ||
| 5311 | - "engines": { | ||
| 5312 | - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" | ||
| 5313 | - } | ||
| 5314 | - }, | ||
| 5315 | - "node_modules/@vue/compiler-sfc/node_modules/postcss": { | ||
| 5316 | - "version": "8.5.3", | ||
| 5317 | - "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", | ||
| 5318 | - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", | ||
| 5319 | - "funding": [ | ||
| 5320 | - { | ||
| 5321 | - "type": "opencollective", | ||
| 5322 | - "url": "https://opencollective.com/postcss/" | ||
| 5323 | - }, | ||
| 5324 | - { | ||
| 5325 | - "type": "tidelift", | ||
| 5326 | - "url": "https://tidelift.com/funding/github/npm/postcss" | ||
| 5327 | - }, | ||
| 5328 | - { | ||
| 5329 | - "type": "github", | ||
| 5330 | - "url": "https://github.com/sponsors/ai" | ||
| 5331 | - } | ||
| 5332 | - ], | ||
| 5333 | - "license": "MIT", | ||
| 5334 | - "dependencies": { | ||
| 5335 | - "nanoid": "^3.3.8", | ||
| 5336 | - "picocolors": "^1.1.1", | ||
| 5337 | - "source-map-js": "^1.2.1" | ||
| 5338 | - }, | ||
| 5339 | - "engines": { | ||
| 5340 | - "node": "^10 || ^12 || >=14" | ||
| 5341 | - } | ||
| 5342 | - }, | ||
| 5343 | - "node_modules/@vue/compiler-ssr": { | ||
| 5344 | - "version": "3.5.13", | ||
| 5345 | - "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", | ||
| 5346 | - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", | ||
| 5347 | - "license": "MIT", | ||
| 5348 | - "dependencies": { | ||
| 5349 | - "@vue/compiler-dom": "3.5.13", | ||
| 5350 | - "@vue/shared": "3.5.13" | ||
| 5351 | - } | ||
| 5352 | - }, | ||
| 5353 | - "node_modules/@vue/reactivity": { | ||
| 5354 | - "version": "3.5.13", | ||
| 5355 | - "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", | ||
| 5356 | - "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", | ||
| 5357 | - "license": "MIT", | ||
| 5358 | - "dependencies": { | ||
| 5359 | - "@vue/shared": "3.5.13" | ||
| 5360 | - } | ||
| 5361 | - }, | ||
| 5362 | - "node_modules/@vue/runtime-core": { | ||
| 5363 | - "version": "3.5.13", | ||
| 5364 | - "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", | ||
| 5365 | - "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", | ||
| 5366 | - "license": "MIT", | ||
| 5367 | - "dependencies": { | ||
| 5368 | - "@vue/reactivity": "3.5.13", | ||
| 5369 | - "@vue/shared": "3.5.13" | ||
| 5370 | - } | ||
| 5371 | - }, | ||
| 5372 | - "node_modules/@vue/runtime-dom": { | ||
| 5373 | - "version": "3.5.13", | ||
| 5374 | - "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", | ||
| 5375 | - "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", | ||
| 5376 | - "license": "MIT", | ||
| 5377 | - "dependencies": { | ||
| 5378 | - "@vue/reactivity": "3.5.13", | ||
| 5379 | - "@vue/runtime-core": "3.5.13", | ||
| 5380 | - "@vue/shared": "3.5.13", | ||
| 5381 | - "csstype": "^3.1.3" | ||
| 5382 | - } | ||
| 5383 | - }, | ||
| 5384 | - "node_modules/@vue/server-renderer": { | ||
| 5385 | - "version": "3.5.13", | ||
| 5386 | - "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", | ||
| 5387 | - "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", | ||
| 5388 | - "license": "MIT", | ||
| 5389 | - "dependencies": { | ||
| 5390 | - "@vue/compiler-ssr": "3.5.13", | ||
| 5391 | - "@vue/shared": "3.5.13" | ||
| 5392 | - }, | ||
| 5393 | - "peerDependencies": { | ||
| 5394 | - "vue": "3.5.13" | ||
| 5395 | - } | ||
| 5396 | - }, | ||
| 5397 | - "node_modules/@vue/shared": { | ||
| 5398 | - "version": "3.5.13", | ||
| 5399 | - "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", | ||
| 5400 | - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", | ||
| 5401 | - "license": "MIT" | ||
| 5402 | - }, | ||
| 5403 | "node_modules/@webassemblyjs/ast": { | 5288 | "node_modules/@webassemblyjs/ast": { |
| 5404 | "version": "1.9.0", | 5289 | "version": "1.9.0", |
| 5405 | "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.9.0.tgz", | 5290 | "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.9.0.tgz", |
| @@ -6837,6 +6722,18 @@ | @@ -6837,6 +6722,18 @@ | ||
| 6837 | "url": "https://github.com/sponsors/wooorm" | 6722 | "url": "https://github.com/sponsors/wooorm" |
| 6838 | } | 6723 | } |
| 6839 | }, | 6724 | }, |
| 6725 | + "node_modules/chart.js": { | ||
| 6726 | + "version": "4.4.8", | ||
| 6727 | + "resolved": "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.8.tgz", | ||
| 6728 | + "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", | ||
| 6729 | + "license": "MIT", | ||
| 6730 | + "dependencies": { | ||
| 6731 | + "@kurkle/color": "^0.3.0" | ||
| 6732 | + }, | ||
| 6733 | + "engines": { | ||
| 6734 | + "pnpm": ">=8" | ||
| 6735 | + } | ||
| 6736 | + }, | ||
| 6840 | "node_modules/cheerio": { | 6737 | "node_modules/cheerio": { |
| 6841 | "version": "1.0.0", | 6738 | "version": "1.0.0", |
| 6842 | "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0.tgz", | 6739 | "resolved": "https://registry.npmmirror.com/cheerio/-/cheerio-1.0.0.tgz", |
| @@ -8159,12 +8056,6 @@ | @@ -8159,12 +8056,6 @@ | ||
| 8159 | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", | 8056 | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", |
| 8160 | "license": "MIT" | 8057 | "license": "MIT" |
| 8161 | }, | 8058 | }, |
| 8162 | - "node_modules/de-indent": { | ||
| 8163 | - "version": "1.0.2", | ||
| 8164 | - "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", | ||
| 8165 | - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", | ||
| 8166 | - "license": "MIT" | ||
| 8167 | - }, | ||
| 8168 | "node_modules/debug": { | 8059 | "node_modules/debug": { |
| 8169 | "version": "4.3.4", | 8060 | "version": "4.3.4", |
| 8170 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", | 8061 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", |
| @@ -8202,6 +8093,15 @@ | @@ -8202,6 +8093,15 @@ | ||
| 8202 | "url": "https://github.com/sponsors/wooorm" | 8093 | "url": "https://github.com/sponsors/wooorm" |
| 8203 | } | 8094 | } |
| 8204 | }, | 8095 | }, |
| 8096 | + "node_modules/decode-uri-component": { | ||
| 8097 | + "version": "0.4.1", | ||
| 8098 | + "resolved": "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz", | ||
| 8099 | + "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==", | ||
| 8100 | + "license": "MIT", | ||
| 8101 | + "engines": { | ||
| 8102 | + "node": ">=14.16" | ||
| 8103 | + } | ||
| 8104 | + }, | ||
| 8205 | "node_modules/dedent": { | 8105 | "node_modules/dedent": { |
| 8206 | "version": "1.5.3", | 8106 | "version": "1.5.3", |
| 8207 | "resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz", | 8107 | "resolved": "https://registry.npmmirror.com/dedent/-/dedent-1.5.3.tgz", |
| @@ -9510,12 +9410,6 @@ | @@ -9510,12 +9410,6 @@ | ||
| 9510 | "node": ">=4.0" | 9410 | "node": ">=4.0" |
| 9511 | } | 9411 | } |
| 9512 | }, | 9412 | }, |
| 9513 | - "node_modules/estree-walker": { | ||
| 9514 | - "version": "2.0.2", | ||
| 9515 | - "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", | ||
| 9516 | - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", | ||
| 9517 | - "license": "MIT" | ||
| 9518 | - }, | ||
| 9519 | "node_modules/esutils": { | 9413 | "node_modules/esutils": { |
| 9520 | "version": "2.0.3", | 9414 | "version": "2.0.3", |
| 9521 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | 9415 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", |
| @@ -9786,6 +9680,18 @@ | @@ -9786,6 +9680,18 @@ | ||
| 9786 | "node": ">=8" | 9680 | "node": ">=8" |
| 9787 | } | 9681 | } |
| 9788 | }, | 9682 | }, |
| 9683 | + "node_modules/filter-obj": { | ||
| 9684 | + "version": "5.1.0", | ||
| 9685 | + "resolved": "https://registry.npmmirror.com/filter-obj/-/filter-obj-5.1.0.tgz", | ||
| 9686 | + "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==", | ||
| 9687 | + "license": "MIT", | ||
| 9688 | + "engines": { | ||
| 9689 | + "node": ">=14.16" | ||
| 9690 | + }, | ||
| 9691 | + "funding": { | ||
| 9692 | + "url": "https://github.com/sponsors/sindresorhus" | ||
| 9693 | + } | ||
| 9694 | + }, | ||
| 9789 | "node_modules/find-cache-dir": { | 9695 | "node_modules/find-cache-dir": { |
| 9790 | "version": "3.3.2", | 9696 | "version": "3.3.2", |
| 9791 | "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", | 9697 | "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", |
| @@ -10481,15 +10387,6 @@ | @@ -10481,15 +10387,6 @@ | ||
| 10481 | "url": "https://opencollective.com/unified" | 10387 | "url": "https://opencollective.com/unified" |
| 10482 | } | 10388 | } |
| 10483 | }, | 10389 | }, |
| 10484 | - "node_modules/he": { | ||
| 10485 | - "version": "1.2.0", | ||
| 10486 | - "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", | ||
| 10487 | - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", | ||
| 10488 | - "license": "MIT", | ||
| 10489 | - "bin": { | ||
| 10490 | - "he": "bin/he" | ||
| 10491 | - } | ||
| 10492 | - }, | ||
| 10493 | "node_modules/heap": { | 10390 | "node_modules/heap": { |
| 10494 | "version": "0.2.7", | 10391 | "version": "0.2.7", |
| 10495 | "resolved": "https://registry.npmmirror.com/heap/-/heap-0.2.7.tgz", | 10392 | "resolved": "https://registry.npmmirror.com/heap/-/heap-0.2.7.tgz", |
| @@ -13785,21 +13682,6 @@ | @@ -13785,21 +13682,6 @@ | ||
| 13785 | "lz-string": "bin/bin.js" | 13682 | "lz-string": "bin/bin.js" |
| 13786 | } | 13683 | } |
| 13787 | }, | 13684 | }, |
| 13788 | - "node_modules/magic-string": { | ||
| 13789 | - "version": "0.30.17", | ||
| 13790 | - "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", | ||
| 13791 | - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", | ||
| 13792 | - "license": "MIT", | ||
| 13793 | - "dependencies": { | ||
| 13794 | - "@jridgewell/sourcemap-codec": "^1.5.0" | ||
| 13795 | - } | ||
| 13796 | - }, | ||
| 13797 | - "node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": { | ||
| 13798 | - "version": "1.5.0", | ||
| 13799 | - "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", | ||
| 13800 | - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", | ||
| 13801 | - "license": "MIT" | ||
| 13802 | - }, | ||
| 13803 | "node_modules/make-dir": { | 13685 | "node_modules/make-dir": { |
| 13804 | "version": "4.0.0", | 13686 | "version": "4.0.0", |
| 13805 | "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", | 13687 | "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", |
| @@ -14865,6 +14747,12 @@ | @@ -14865,6 +14747,12 @@ | ||
| 14865 | "node": ">=4" | 14747 | "node": ">=4" |
| 14866 | } | 14748 | } |
| 14867 | }, | 14749 | }, |
| 14750 | + "node_modules/mind-elixir": { | ||
| 14751 | + "version": "4.5.0", | ||
| 14752 | + "resolved": "https://registry.npmmirror.com/mind-elixir/-/mind-elixir-4.5.0.tgz", | ||
| 14753 | + "integrity": "sha512-EyodIX7CK1d3Rq0urT91suZwVGHz7XegfcRiEVVFQfc952gW0xTU9Z5gaEQ4Iukwte5Sex6lOKgyxH8iGp/Puw==", | ||
| 14754 | + "license": "MIT" | ||
| 14755 | + }, | ||
| 14868 | "node_modules/minimalistic-assert": { | 14756 | "node_modules/minimalistic-assert": { |
| 14869 | "version": "1.0.1", | 14757 | "version": "1.0.1", |
| 14870 | "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | 14758 | "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", |
| @@ -14987,6 +14875,16 @@ | @@ -14987,6 +14875,16 @@ | ||
| 14987 | "node": ">=10" | 14875 | "node": ">=10" |
| 14988 | } | 14876 | } |
| 14989 | }, | 14877 | }, |
| 14878 | + "node_modules/moment": { | ||
| 14879 | + "version": "2.30.1", | ||
| 14880 | + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", | ||
| 14881 | + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", | ||
| 14882 | + "devOptional": true, | ||
| 14883 | + "license": "MIT", | ||
| 14884 | + "engines": { | ||
| 14885 | + "node": "*" | ||
| 14886 | + } | ||
| 14887 | + }, | ||
| 14990 | "node_modules/mri": { | 14888 | "node_modules/mri": { |
| 14991 | "version": "1.2.0", | 14889 | "version": "1.2.0", |
| 14992 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", | 14890 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", |
| @@ -15967,6 +15865,23 @@ | @@ -15967,6 +15865,23 @@ | ||
| 15967 | ], | 15865 | ], |
| 15968 | "license": "MIT" | 15866 | "license": "MIT" |
| 15969 | }, | 15867 | }, |
| 15868 | + "node_modules/query-string": { | ||
| 15869 | + "version": "9.1.1", | ||
| 15870 | + "resolved": "https://registry.npmmirror.com/query-string/-/query-string-9.1.1.tgz", | ||
| 15871 | + "integrity": "sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg==", | ||
| 15872 | + "license": "MIT", | ||
| 15873 | + "dependencies": { | ||
| 15874 | + "decode-uri-component": "^0.4.1", | ||
| 15875 | + "filter-obj": "^5.1.0", | ||
| 15876 | + "split-on-first": "^3.0.0" | ||
| 15877 | + }, | ||
| 15878 | + "engines": { | ||
| 15879 | + "node": ">=18" | ||
| 15880 | + }, | ||
| 15881 | + "funding": { | ||
| 15882 | + "url": "https://github.com/sponsors/sindresorhus" | ||
| 15883 | + } | ||
| 15884 | + }, | ||
| 15970 | "node_modules/querystringify": { | 15885 | "node_modules/querystringify": { |
| 15971 | "version": "2.2.0", | 15886 | "version": "2.2.0", |
| 15972 | "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", | 15887 | "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", |
| @@ -17658,6 +17573,18 @@ | @@ -17658,6 +17573,18 @@ | ||
| 17658 | "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", | 17573 | "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", |
| 17659 | "dev": true | 17574 | "dev": true |
| 17660 | }, | 17575 | }, |
| 17576 | + "node_modules/split-on-first": { | ||
| 17577 | + "version": "3.0.0", | ||
| 17578 | + "resolved": "https://registry.npmmirror.com/split-on-first/-/split-on-first-3.0.0.tgz", | ||
| 17579 | + "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==", | ||
| 17580 | + "license": "MIT", | ||
| 17581 | + "engines": { | ||
| 17582 | + "node": ">=12" | ||
| 17583 | + }, | ||
| 17584 | + "funding": { | ||
| 17585 | + "url": "https://github.com/sponsors/sindresorhus" | ||
| 17586 | + } | ||
| 17587 | + }, | ||
| 17661 | "node_modules/sprintf-js": { | 17588 | "node_modules/sprintf-js": { |
| 17662 | "version": "1.0.3", | 17589 | "version": "1.0.3", |
| 17663 | "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", | 17590 | "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", |
| @@ -18468,7 +18395,7 @@ | @@ -18468,7 +18395,7 @@ | ||
| 18468 | "version": "5.2.2", | 18395 | "version": "5.2.2", |
| 18469 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", | 18396 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", |
| 18470 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", | 18397 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", |
| 18471 | - "devOptional": true, | 18398 | + "dev": true, |
| 18472 | "license": "Apache-2.0", | 18399 | "license": "Apache-2.0", |
| 18473 | "bin": { | 18400 | "bin": { |
| 18474 | "tsc": "bin/tsc", | 18401 | "tsc": "bin/tsc", |
| @@ -18913,27 +18840,6 @@ | @@ -18913,27 +18840,6 @@ | ||
| 18913 | "url": "https://opencollective.com/unified" | 18840 | "url": "https://opencollective.com/unified" |
| 18914 | } | 18841 | } |
| 18915 | }, | 18842 | }, |
| 18916 | - "node_modules/vue": { | ||
| 18917 | - "version": "3.5.13", | ||
| 18918 | - "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", | ||
| 18919 | - "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", | ||
| 18920 | - "license": "MIT", | ||
| 18921 | - "dependencies": { | ||
| 18922 | - "@vue/compiler-dom": "3.5.13", | ||
| 18923 | - "@vue/compiler-sfc": "3.5.13", | ||
| 18924 | - "@vue/runtime-dom": "3.5.13", | ||
| 18925 | - "@vue/server-renderer": "3.5.13", | ||
| 18926 | - "@vue/shared": "3.5.13" | ||
| 18927 | - }, | ||
| 18928 | - "peerDependencies": { | ||
| 18929 | - "typescript": "*" | ||
| 18930 | - }, | ||
| 18931 | - "peerDependenciesMeta": { | ||
| 18932 | - "typescript": { | ||
| 18933 | - "optional": true | ||
| 18934 | - } | ||
| 18935 | - } | ||
| 18936 | - }, | ||
| 18937 | "node_modules/vue-loader": { | 18843 | "node_modules/vue-loader": { |
| 18938 | "version": "17.3.1", | 18844 | "version": "17.3.1", |
| 18939 | "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.3.1.tgz", | 18845 | "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.3.1.tgz", |
| @@ -18957,16 +18863,6 @@ | @@ -18957,16 +18863,6 @@ | ||
| 18957 | } | 18863 | } |
| 18958 | } | 18864 | } |
| 18959 | }, | 18865 | }, |
| 18960 | - "node_modules/vue-template-compiler": { | ||
| 18961 | - "version": "2.7.16", | ||
| 18962 | - "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", | ||
| 18963 | - "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", | ||
| 18964 | - "license": "MIT", | ||
| 18965 | - "dependencies": { | ||
| 18966 | - "de-indent": "^1.0.2", | ||
| 18967 | - "he": "^1.2.0" | ||
| 18968 | - } | ||
| 18969 | - }, | ||
| 18970 | "node_modules/w3c-xmlserializer": { | 18866 | "node_modules/w3c-xmlserializer": { |
| 18971 | "version": "4.0.0", | 18867 | "version": "4.0.0", |
| 18972 | "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", | 18868 | "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", |
| @@ -33,10 +33,12 @@ | @@ -33,10 +33,12 @@ | ||
| 33 | "@xyflow/react": "^12.4.4", | 33 | "@xyflow/react": "^12.4.4", |
| 34 | "antd": "^5.24.4", | 34 | "antd": "^5.24.4", |
| 35 | "axios": "^1.7.5", | 35 | "axios": "^1.7.5", |
| 36 | + "chart.js": "^4.4.8", | ||
| 36 | "cheerio": "^1.0.0", | 37 | "cheerio": "^1.0.0", |
| 37 | "clsx": "^2.1.1", | 38 | "clsx": "^2.1.1", |
| 38 | "docx": "^9.3.0", | 39 | "docx": "^9.3.0", |
| 39 | "docxtemplater": "^3.60.1", | 40 | "docxtemplater": "^3.60.1", |
| 41 | + "echarts": "^5.6.0", | ||
| 40 | "emoji-picker-react": "^4.9.2", | 42 | "emoji-picker-react": "^4.9.2", |
| 41 | "file-saver": "^2.0.5", | 43 | "file-saver": "^2.0.5", |
| 42 | "fuse.js": "^7.0.0", | 44 | "fuse.js": "^7.0.0", |
| @@ -56,6 +58,7 @@ | @@ -56,6 +58,7 @@ | ||
| 56 | "openapi-client-axios": "^7.5.5", | 58 | "openapi-client-axios": "^7.5.5", |
| 57 | "rc-tooltip": "^6.4.0", | 59 | "rc-tooltip": "^6.4.0", |
| 58 | "react": "^18.2.0", | 60 | "react": "^18.2.0", |
| 61 | + "react-chartjs-2": "^5.3.0", | ||
| 59 | "react-dom": "^18.2.0", | 62 | "react-dom": "^18.2.0", |
| 60 | "react-markdown": "^8.0.7", | 63 | "react-markdown": "^8.0.7", |
| 61 | "react-quill": "^2.0.0", | 64 | "react-quill": "^2.0.0", |
| @@ -1373,7 +1373,7 @@ | @@ -1373,7 +1373,7 @@ | ||
| 1373 | 1373 | ||
| 1374 | "@docmee/sdk-ui@^1.1.17": | 1374 | "@docmee/sdk-ui@^1.1.17": |
| 1375 | version "1.1.17" | 1375 | version "1.1.17" |
| 1376 | - resolved "https://registry.npmmirror.com/@docmee/sdk-ui/-/sdk-ui-1.1.17.tgz#549ee8b20dfe07eada422e9943b651d5a5196dd0" | 1376 | + resolved "https://registry.npmmirror.com/@docmee/sdk-ui/-/sdk-ui-1.1.17.tgz" |
| 1377 | integrity sha512-K/pWu2tg9ZrE9wbI5Naylh+LVd86kwMG7A9pu5urN1XjV+MAHj7ruOMrmqMkGbN5fVfFN8DbxWx4yUMcCMHTxA== | 1377 | integrity sha512-K/pWu2tg9ZrE9wbI5Naylh+LVd86kwMG7A9pu5urN1XjV+MAHj7ruOMrmqMkGbN5fVfFN8DbxWx4yUMcCMHTxA== |
| 1378 | dependencies: | 1378 | dependencies: |
| 1379 | query-string "^9.1.1" | 1379 | query-string "^9.1.1" |
| @@ -1841,6 +1841,11 @@ | @@ -1841,6 +1841,11 @@ | ||
| 1841 | "@jridgewell/resolve-uri" "^3.1.0" | 1841 | "@jridgewell/resolve-uri" "^3.1.0" |
| 1842 | "@jridgewell/sourcemap-codec" "^1.4.14" | 1842 | "@jridgewell/sourcemap-codec" "^1.4.14" |
| 1843 | 1843 | ||
| 1844 | +"@kurkle/color@^0.3.0": | ||
| 1845 | + version "0.3.4" | ||
| 1846 | + resolved "https://registry.npmmirror.com/@kurkle/color/-/color-0.3.4.tgz" | ||
| 1847 | + integrity sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w== | ||
| 1848 | + | ||
| 1844 | "@modelcontextprotocol/sdk@^1.0.4": | 1849 | "@modelcontextprotocol/sdk@^1.0.4": |
| 1845 | version "1.0.4" | 1850 | version "1.0.4" |
| 1846 | resolved "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.0.4.tgz" | 1851 | resolved "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.0.4.tgz" |
| @@ -3502,6 +3507,13 @@ character-entities@^2.0.0: | @@ -3502,6 +3507,13 @@ character-entities@^2.0.0: | ||
| 3502 | resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" | 3507 | resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" |
| 3503 | integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== | 3508 | integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== |
| 3504 | 3509 | ||
| 3510 | +chart.js@^4.4.8: | ||
| 3511 | + version "4.4.8" | ||
| 3512 | + resolved "https://registry.npmmirror.com/chart.js/-/chart.js-4.4.8.tgz#54645b638e9d585099bc16b892947b5e6cd2a552" | ||
| 3513 | + integrity sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA== | ||
| 3514 | + dependencies: | ||
| 3515 | + "@kurkle/color" "^0.3.0" | ||
| 3516 | + | ||
| 3505 | cheerio-select@^2.1.0: | 3517 | cheerio-select@^2.1.0: |
| 3506 | version "2.1.0" | 3518 | version "2.1.0" |
| 3507 | resolved "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz" | 3519 | resolved "https://registry.npmmirror.com/cheerio-select/-/cheerio-select-2.1.0.tgz" |
| @@ -4275,7 +4287,7 @@ decode-named-character-reference@^1.0.0: | @@ -4275,7 +4287,7 @@ decode-named-character-reference@^1.0.0: | ||
| 4275 | 4287 | ||
| 4276 | decode-uri-component@^0.4.1: | 4288 | decode-uri-component@^0.4.1: |
| 4277 | version "0.4.1" | 4289 | version "0.4.1" |
| 4278 | - resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5" | 4290 | + resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz" |
| 4279 | integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ== | 4291 | integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ== |
| 4280 | 4292 | ||
| 4281 | dedent@^1.0.0: | 4293 | dedent@^1.0.0: |
| @@ -4524,6 +4536,14 @@ eastasianwidth@^0.2.0: | @@ -4524,6 +4536,14 @@ eastasianwidth@^0.2.0: | ||
| 4524 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" | 4536 | resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" |
| 4525 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== | 4537 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== |
| 4526 | 4538 | ||
| 4539 | +echarts@^5.6.0: | ||
| 4540 | + version "5.6.0" | ||
| 4541 | + resolved "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz#2377874dca9fb50f104051c3553544752da3c9d6" | ||
| 4542 | + integrity sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA== | ||
| 4543 | + dependencies: | ||
| 4544 | + tslib "2.3.0" | ||
| 4545 | + zrender "5.6.1" | ||
| 4546 | + | ||
| 4527 | electron-to-chromium@^1.5.73: | 4547 | electron-to-chromium@^1.5.73: |
| 4528 | version "1.5.124" | 4548 | version "1.5.124" |
| 4529 | resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.124.tgz" | 4549 | resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.124.tgz" |
| @@ -5150,7 +5170,7 @@ fill-range@^7.0.1: | @@ -5150,7 +5170,7 @@ fill-range@^7.0.1: | ||
| 5150 | 5170 | ||
| 5151 | filter-obj@^5.1.0: | 5171 | filter-obj@^5.1.0: |
| 5152 | version "5.1.0" | 5172 | version "5.1.0" |
| 5153 | - resolved "https://registry.npmmirror.com/filter-obj/-/filter-obj-5.1.0.tgz#5bd89676000a713d7db2e197f660274428e524ed" | 5173 | + resolved "https://registry.npmmirror.com/filter-obj/-/filter-obj-5.1.0.tgz" |
| 5154 | integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== | 5174 | integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== |
| 5155 | 5175 | ||
| 5156 | find-cache-dir@^3.3.1: | 5176 | find-cache-dir@^3.3.1: |
| @@ -7506,7 +7526,7 @@ min-indent@^1.0.0: | @@ -7506,7 +7526,7 @@ min-indent@^1.0.0: | ||
| 7506 | 7526 | ||
| 7507 | mind-elixir@^4.5.0: | 7527 | mind-elixir@^4.5.0: |
| 7508 | version "4.5.0" | 7528 | version "4.5.0" |
| 7509 | - resolved "https://registry.npmmirror.com/mind-elixir/-/mind-elixir-4.5.0.tgz#e9cc9dca9e93a22777f5bb83096ba40dd0accd37" | 7529 | + resolved "https://registry.npmmirror.com/mind-elixir/-/mind-elixir-4.5.0.tgz" |
| 7510 | integrity sha512-EyodIX7CK1d3Rq0urT91suZwVGHz7XegfcRiEVVFQfc952gW0xTU9Z5gaEQ4Iukwte5Sex6lOKgyxH8iGp/Puw== | 7530 | integrity sha512-EyodIX7CK1d3Rq0urT91suZwVGHz7XegfcRiEVVFQfc952gW0xTU9Z5gaEQ4Iukwte5Sex6lOKgyxH8iGp/Puw== |
| 7511 | 7531 | ||
| 7512 | minimalistic-assert@^1.0.1: | 7532 | minimalistic-assert@^1.0.1: |
| @@ -8054,7 +8074,7 @@ pure-rand@^6.0.0: | @@ -8054,7 +8074,7 @@ pure-rand@^6.0.0: | ||
| 8054 | 8074 | ||
| 8055 | query-string@^9.1.1: | 8075 | query-string@^9.1.1: |
| 8056 | version "9.1.1" | 8076 | version "9.1.1" |
| 8057 | - resolved "https://registry.npmmirror.com/query-string/-/query-string-9.1.1.tgz#dbfebb4196aeb2919915f2b2b81b91b965cf03a0" | 8077 | + resolved "https://registry.npmmirror.com/query-string/-/query-string-9.1.1.tgz" |
| 8058 | integrity sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg== | 8078 | integrity sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg== |
| 8059 | dependencies: | 8079 | dependencies: |
| 8060 | decode-uri-component "^0.4.1" | 8080 | decode-uri-component "^0.4.1" |
| @@ -8465,6 +8485,11 @@ rc-virtual-list@^3.14.2, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: | @@ -8465,6 +8485,11 @@ rc-virtual-list@^3.14.2, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: | ||
| 8465 | rc-resize-observer "^1.0.0" | 8485 | rc-resize-observer "^1.0.0" |
| 8466 | rc-util "^5.36.0" | 8486 | rc-util "^5.36.0" |
| 8467 | 8487 | ||
| 8488 | +react-chartjs-2@^5.3.0: | ||
| 8489 | + version "5.3.0" | ||
| 8490 | + resolved "https://registry.npmmirror.com/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz#2d3286339a742bc7f77b5829c33ebab215f714cc" | ||
| 8491 | + integrity sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw== | ||
| 8492 | + | ||
| 8468 | react-dom@^18.2.0: | 8493 | react-dom@^18.2.0: |
| 8469 | version "18.2.0" | 8494 | version "18.2.0" |
| 8470 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" | 8495 | resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" |
| @@ -9096,7 +9121,7 @@ spawn-command@0.0.2: | @@ -9096,7 +9121,7 @@ spawn-command@0.0.2: | ||
| 9096 | 9121 | ||
| 9097 | split-on-first@^3.0.0: | 9122 | split-on-first@^3.0.0: |
| 9098 | version "3.0.0" | 9123 | version "3.0.0" |
| 9099 | - resolved "https://registry.npmmirror.com/split-on-first/-/split-on-first-3.0.0.tgz#f04959c9ea8101b9b0bbf35a61b9ebea784a23e7" | 9124 | + resolved "https://registry.npmmirror.com/split-on-first/-/split-on-first-3.0.0.tgz" |
| 9100 | integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== | 9125 | integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== |
| 9101 | 9126 | ||
| 9102 | sprintf-js@~1.0.2: | 9127 | sprintf-js@~1.0.2: |
| @@ -9527,6 +9552,11 @@ tsconfig-paths@^3.14.1: | @@ -9527,6 +9552,11 @@ tsconfig-paths@^3.14.1: | ||
| 9527 | minimist "^1.2.6" | 9552 | minimist "^1.2.6" |
| 9528 | strip-bom "^3.0.0" | 9553 | strip-bom "^3.0.0" |
| 9529 | 9554 | ||
| 9555 | +tslib@2.3.0: | ||
| 9556 | + version "2.3.0" | ||
| 9557 | + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" | ||
| 9558 | + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== | ||
| 9559 | + | ||
| 9530 | tslib@^1.13.0: | 9560 | tslib@^1.13.0: |
| 9531 | version "1.14.1" | 9561 | version "1.14.1" |
| 9532 | resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz" | 9562 | resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz" |
| @@ -10146,6 +10176,13 @@ zod@^3.23.8, zod@^3.24.1: | @@ -10146,6 +10176,13 @@ zod@^3.23.8, zod@^3.24.1: | ||
| 10146 | resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz" | 10176 | resolved "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz" |
| 10147 | integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== | 10177 | integrity sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A== |
| 10148 | 10178 | ||
| 10179 | +zrender@5.6.1: | ||
| 10180 | + version "5.6.1" | ||
| 10181 | + resolved "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz#e08d57ecf4acac708c4fcb7481eb201df7f10a6b" | ||
| 10182 | + integrity sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag== | ||
| 10183 | + dependencies: | ||
| 10184 | + tslib "2.3.0" | ||
| 10185 | + | ||
| 10149 | zustand@^4.4.0: | 10186 | zustand@^4.4.0: |
| 10150 | version "4.5.6" | 10187 | version "4.5.6" |
| 10151 | resolved "https://registry.npmmirror.com/zustand/-/zustand-4.5.6.tgz" | 10188 | resolved "https://registry.npmmirror.com/zustand/-/zustand-4.5.6.tgz" |
-
请 注册 或 登录 后发表评论