diff --git a/web/src/pages/app-detail/feautres/AppDetailInfo.tsx b/web/src/pages/app-detail/feautres/AppDetailInfo.tsx
index de48bcb..c720464 100644
--- a/web/src/pages/app-detail/feautres/AppDetailInfo.tsx
+++ b/web/src/pages/app-detail/feautres/AppDetailInfo.tsx
@@ -39,7 +39,7 @@ const AppDetailInfo = memo(({ value }: IAppDetailInfoProps) => {
const [model, setModel] = useState([] as any[]);
const [wiki, setWiki] = useState([] as any[]);
- const [input, setInput] = useState({
+ const [input,] = useState({
keyword: '',
page: 1,
pageSize: 10
diff --git a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
index ca1e01f..bd6aafc 100644
--- a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
+++ b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
@@ -47,7 +47,7 @@ export default memo((props: IReleaseApplicationProps) => {
{
title: '操作',
key: 'action',
- render: (_, record) => (
+ render: () => (
删除
),
},
diff --git a/web/src/pages/app-detail/feautres/SessionLog.tsx b/web/src/pages/app-detail/feautres/SessionLog.tsx
index 0300f89..a5f81d3 100644
--- a/web/src/pages/app-detail/feautres/SessionLog.tsx
+++ b/web/src/pages/app-detail/feautres/SessionLog.tsx
@@ -42,7 +42,7 @@ export default function SessionLog({ id }: ISessionLogProps) {
{
title: 'Action',
key: 'action',
- render: (_, record) => (
+ render: () => (
查看详情
),
},
@@ -76,7 +76,7 @@ export default function SessionLog({ id }: ISessionLogProps) {
}, [input]);
function handleTableChange(page: number, pageSize: number) {
-
+
setInput({
...input,
page: page,
diff --git a/web/src/pages/chat/(desktop)/index.tsx b/web/src/pages/chat/(desktop)/index.tsx
index 36b50bf..46eec8d 100644
--- a/web/src/pages/chat/(desktop)/index.tsx
+++ b/web/src/pages/chat/(desktop)/index.tsx
@@ -53,7 +53,7 @@ export default function DesktopLayout() {
const [dialog, setDialog] = useState({} as any);
const [history, setHistory] = useState([] as any[]);
const [value, setValue] = useState('' as string);
- const [input, setInput] = useState({
+ const [input] = useState({
page: 1,
pageSize: 5
});
@@ -290,7 +290,7 @@ export default function DesktopLayout() {
}}>{item.name}
})
}
-
setCreateDialogVisible(true)} style={{
+ setCreateDialogVisible(true)} style={{
marginTop: 8
}} block>新建对话
@@ -338,10 +338,10 @@ export default function DesktopLayout() {
-
+
{
setValue('');
- }} icon={Eraser} />
+ }} icon={Eraser} color={undefined} fill={undefined} fillOpacity={undefined} fillRule={undefined} focusable={undefined} />
>
}
/>
diff --git a/web/src/pages/wiki-detail/features/SearchWikiDetail.tsx b/web/src/pages/wiki-detail/features/SearchWikiDetail.tsx
index 9f874bd..6705f35 100644
--- a/web/src/pages/wiki-detail/features/SearchWikiDetail.tsx
+++ b/web/src/pages/wiki-detail/features/SearchWikiDetail.tsx
@@ -1,4 +1,4 @@
-import { useEffect, useState } from "react";
+import { useState } from "react";
import styled from 'styled-components';
import { Button } from 'antd';
import { GetSearchVectorQuantity } from "../../../services/WikiService";
@@ -106,7 +106,7 @@ export default function SearchWikiDetail({
flexDirection: 'column',
gap: 16,
overflow: 'auto',
-
+
height: 'calc(100vh - 100px)',
scrollbarWidth: 'none',
msOverflowStyle: 'none',
diff --git a/web/src/pages/wiki-detail/features/UploadWikiFile.tsx b/web/src/pages/wiki-detail/features/UploadWikiFile.tsx
index 9ed1f5c..ff49d82 100644
--- a/web/src/pages/wiki-detail/features/UploadWikiFile.tsx
+++ b/web/src/pages/wiki-detail/features/UploadWikiFile.tsx
@@ -34,7 +34,7 @@ interface IUploadWikiFileProps {
export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps) {
const [current, setCurrent] = useState(0);
- const [uploading, setUploading] = useState(false);
+ // const [uploading, setUploading] = useState(false);
const [fileList, setFileList] = useState([]);
const [processMode, setProcessMode] = useState(ProcessMode.Auto);
const [trainingPattern, setTrainingPattern] = useState(TrainingPattern.Subsection);
@@ -44,7 +44,7 @@ export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps
multiple: true,
showUploadList: false,
accept: '.md,.pdf,.docs,.txt,.json,.excel,.word,.html',
- beforeUpload: (file, files) => {
+ beforeUpload: (file: any) => {
fileList.push(file);
setFileList([...fileList]);
return false;
@@ -76,7 +76,7 @@ export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps
];
function saveFile() {
- fileList.forEach(async (file, index) => {
+ fileList.forEach(async (file) => {
const fileItem = await FileService(file);
file.progress = 100;
@@ -187,7 +187,7 @@ export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps
}}>
{
+ }} onChange={(v: any) => {
const value = Number(v.target.value);
setTrainingPattern(value as TrainingPattern);
}} value={trainingPattern}>
@@ -207,7 +207,7 @@ export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps
{
trainingPattern === TrainingPattern.Subsection &&
处理模式:
- {
+ {
const value = Number(v.target.value);
setProcessMode(value as ProcessMode);
}} value={processMode}>
@@ -222,7 +222,7 @@ export default function UploadWikiFile({ id, onChagePath }: IUploadWikiFileProps
{
+ onChange={(e: any) => {
setSubsection(Number(e.target.value));
}}
style={{
diff --git a/web/src/pages/wiki-detail/features/WikiData.tsx b/web/src/pages/wiki-detail/features/WikiData.tsx
index 44417a9..670c935 100644
--- a/web/src/pages/wiki-detail/features/WikiData.tsx
+++ b/web/src/pages/wiki-detail/features/WikiData.tsx
@@ -1,4 +1,4 @@
-import { Table, Button, Dropdown, MenuProps,message } from 'antd';
+import { Table, Button, Dropdown, MenuProps, message } from 'antd';
import { useEffect, useState } from 'react';
import { DeleteWikiDetails, GetWikiDetailsList } from '../../../services/WikiService';
import WikiDetailFile from './WikiDetailFile';
@@ -39,7 +39,7 @@ export default function WikiData({ id, onChagePath }: IWikiDataProps) {
{
title: '操作',
key: 'action',
- render: (i: any, item: any) => (
+ render: (_: any, item: any) => (
<>
{
setVisible(true);
diff --git a/web/src/pages/wiki-detail/features/WikiDetailFile.tsx b/web/src/pages/wiki-detail/features/WikiDetailFile.tsx
index 755f120..5ab04a9 100644
--- a/web/src/pages/wiki-detail/features/WikiDetailFile.tsx
+++ b/web/src/pages/wiki-detail/features/WikiDetailFile.tsx
@@ -1,6 +1,6 @@
import { Modal, SpotlightCard } from "@lobehub/ui";
import { useEffect, useState } from "react";
-import { DelDetailVectoryQuantity, DelDetailsVector, GetWikiDetailVectorQuantity } from "../../../services/WikiService";
+import { DelDetailsVector, GetWikiDetailVectorQuantity } from "../../../services/WikiService";
import { WikiDetailVectorQuantityDto } from "../../../models";
import { Button, message } from "antd";
@@ -66,7 +66,7 @@ export default function WikiDetailFile({
{item.content}
- removeWikiDetail(item.id)} type='primary' size='small' style={{
+ removeWikiDetail(item.id)} type='primary' size='small' style={{
position: 'absolute',
right: 16,
bottom: 16
@@ -90,6 +90,7 @@ export default function WikiDetailFile({
}}>
+ {taotal}
)
}
diff --git a/web/src/pages/wiki/features/CreateWiki.tsx b/web/src/pages/wiki/features/CreateWiki.tsx
index fc140ad..eaef0fc 100644
--- a/web/src/pages/wiki/features/CreateWiki.tsx
+++ b/web/src/pages/wiki/features/CreateWiki.tsx
@@ -1,4 +1,4 @@
-import { Avatar, Modal } from "@lobehub/ui";
+import { Modal } from "@lobehub/ui";
import { Form, Input, Button, message, Select, Upload } from 'antd';
import { useEffect, useState } from "react";
import { getModels } from "../../../store/Model";
diff --git a/web/src/pages/wiki/features/WikiList.tsx b/web/src/pages/wiki/features/WikiList.tsx
index e0b4434..a3bdd5c 100644
--- a/web/src/pages/wiki/features/WikiList.tsx
+++ b/web/src/pages/wiki/features/WikiList.tsx
@@ -2,17 +2,12 @@ import { Avatar, GridShowcase, LogoThree, SpotlightCard } from '@lobehub/ui';
import { useEffect, useState } from 'react';
import { Flexbox } from 'react-layout-kit';
import { message, Button, Pagination } from 'antd';
-import styled from 'styled-components';
import { WikiDto } from '../../../models';
import { useNavigate } from 'react-router-dom';
import { GetWikisList, DeleteWikis } from '../../../services/WikiService';
import { DeleteOutlined } from '@ant-design/icons';
-const AppItemDetail = styled.div`
- padding: 16px;
-`;
-
interface IAppListProps {
input: {
page: number;
@@ -37,7 +32,7 @@ export function AppList(props: IAppListProps) {
- {
+ {
openWikiDetail(item.id);
}}>
{item.name}
diff --git a/web/tsconfig.json b/web/tsconfig.json
index a7fc6fb..c2bd5fb 100644
--- a/web/tsconfig.json
+++ b/web/tsconfig.json
@@ -3,6 +3,7 @@
"target": "ES2020",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "ignoreDeprecations": "5.0",
"module": "ESNext",
"skipLibCheck": true,
diff --git a/web/yarn.lock b/web/yarn.lock
index 8860ffc..6eb7947 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -24,7 +24,7 @@
"@ant-design/cssinjs@^1", "@ant-design/cssinjs@^1.18.4":
version "1.18.4"
- resolved "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz"
+ resolved "https://registry.npmmirror.com/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz"
integrity sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA==
dependencies:
"@babel/runtime" "^7.11.1"
@@ -53,7 +53,7 @@
"@ant-design/react-slick@~1.0.2":
version "1.0.2"
- resolved "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz"
+ resolved "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz"
integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==
dependencies:
"@babel/runtime" "^7.10.4"
@@ -362,7 +362,7 @@
"@emotion/hash@^0.8.0":
version "0.8.0"
- resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz"
+ resolved "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz"
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
"@emotion/hash@^0.9.1":
@@ -384,7 +384,7 @@
"@emotion/react@^11":
version "11.11.4"
- resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz"
+ resolved "https://registry.npmmirror.com/@emotion/react/-/react-11.11.4.tgz"
integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==
dependencies:
"@babel/runtime" "^7.18.3"
@@ -409,7 +409,7 @@
"@emotion/server@^11":
version "11.11.0"
- resolved "https://registry.npmjs.org/@emotion/server/-/server-11.11.0.tgz"
+ resolved "https://registry.npmmirror.com/@emotion/server/-/server-11.11.0.tgz"
integrity sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==
dependencies:
"@emotion/utils" "^1.2.1"
@@ -424,7 +424,7 @@
"@emotion/unitless@^0.7.5":
version "0.7.5"
- resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz"
+ resolved "https://registry.npmmirror.com/@emotion/unitless/-/unitless-0.7.5.tgz"
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
"@emotion/unitless@^0.8.1":
@@ -439,7 +439,7 @@
"@emotion/use-insertion-effect-with-fallbacks@^1.0.1":
version "1.0.1"
- resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz"
+ resolved "https://registry.npmmirror.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz"
integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==
"@emotion/utils@^1", "@emotion/utils@^1.2.1":
@@ -597,7 +597,7 @@
"@lobehub/emojilib@latest":
version "1.0.0"
- resolved "https://registry.npmjs.org/@lobehub/emojilib/-/emojilib-1.0.0.tgz"
+ resolved "https://registry.npmmirror.com/@lobehub/emojilib/-/emojilib-1.0.0.tgz"
integrity sha512-s9KnjaPjsEefaNv150G3aifvB+J3P4eEKG+epY9zDPS2BeB6+V2jELWqAZll+nkogMaVovjEE813z3V751QwGw==
"@lobehub/ui@^1.132.1":
@@ -853,9 +853,9 @@
"@babel/runtime" "^7.13.10"
"@rc-component/color-picker@~1.5.2":
- version "1.5.2"
- resolved "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.2.tgz"
- integrity sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw==
+ version "1.5.3"
+ resolved "https://registry.npmmirror.com/@rc-component/color-picker/-/color-picker-1.5.3.tgz"
+ integrity sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==
dependencies:
"@babel/runtime" "^7.23.6"
"@ctrl/tinycolor" "^3.6.1"
@@ -864,7 +864,7 @@
"@rc-component/context@^1.4.0":
version "1.4.0"
- resolved "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz"
+ resolved "https://registry.npmmirror.com/@rc-component/context/-/context-1.4.0.tgz"
integrity sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -872,14 +872,14 @@
"@rc-component/mini-decimal@^1.0.1":
version "1.1.0"
- resolved "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz"
+ resolved "https://registry.npmmirror.com/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz"
integrity sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==
dependencies:
"@babel/runtime" "^7.18.0"
"@rc-component/mutate-observer@^1.1.0":
version "1.1.0"
- resolved "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz"
+ resolved "https://registry.npmmirror.com/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz"
integrity sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==
dependencies:
"@babel/runtime" "^7.18.0"
@@ -888,28 +888,28 @@
"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.0-9", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.0", "@rc-component/portal@^1.1.1":
version "1.1.2"
- resolved "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz"
+ resolved "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz"
integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==
dependencies:
"@babel/runtime" "^7.18.0"
classnames "^2.3.2"
rc-util "^5.24.4"
-"@rc-component/tour@~1.12.3":
- version "1.12.3"
- resolved "https://registry.npmjs.org/@rc-component/tour/-/tour-1.12.3.tgz"
- integrity sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA==
+"@rc-component/tour@~1.14.2":
+ version "1.14.2"
+ resolved "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.14.2.tgz"
+ integrity sha512-A75DZ8LVvahBIvxooj3Gvf2sxe+CGOkmzPNX7ek0i0AJHyKZ1HXe5ieIGo3m0FMdZfVOlbCJ952Duq8VKAHk6g==
dependencies:
"@babel/runtime" "^7.18.0"
"@rc-component/portal" "^1.0.0-9"
- "@rc-component/trigger" "^1.3.6"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.3.2"
rc-util "^5.24.4"
-"@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.18.0", "@rc-component/trigger@^1.18.3", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0":
- version "1.18.3"
- resolved "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.3.tgz"
- integrity sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA==
+"@rc-component/trigger@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/@rc-component/trigger/-/trigger-2.0.0.tgz"
+ integrity sha512-niwKADPdY5dhdIblV6uwSayVivwo2uUISfJqri+/ovYQcH/omxDYBJKo755QKeoIIsWptxnRpgr7reEnNEZGFg==
dependencies:
"@babel/runtime" "^7.23.2"
"@rc-component/portal" "^1.1.0"
@@ -1292,7 +1292,7 @@ ansi-styles@^4.1.0:
antd-style@>=3:
version "3.6.1"
- resolved "https://registry.npmjs.org/antd-style/-/antd-style-3.6.1.tgz"
+ resolved "https://registry.npmmirror.com/antd-style/-/antd-style-3.6.1.tgz"
integrity sha512-KpKXiAIV3CAe6TfSh/m6ET2vGuhAof7qfqeaouh5WZ0JDl5jDXXSFPeEfqvZuHAckTl+A0NzArvIHKgKt/NZ9g==
dependencies:
"@ant-design/cssinjs" "^1"
@@ -1306,9 +1306,9 @@ antd-style@>=3:
use-merge-value "^1"
antd@>=5, antd@>=5.8.1:
- version "5.15.1"
- resolved "https://registry.npmjs.org/antd/-/antd-5.15.1.tgz"
- integrity sha512-wPoydYS63jikgHEBhiEu+IoLXwyrDlDpbV68PCPXs3sa+nthvJOpvaV/0tfrkStkpc8WsBtsJfe9Lx7AUor5Rg==
+ version "5.15.2"
+ resolved "https://registry.npmmirror.com/antd/-/antd-5.15.2.tgz"
+ integrity sha512-EByEiCQknPKJVYfD+zneXwEvjdFzvMw8CZrsxw9nq19ftC4uMcMkZ2irasW7RQQGg9i7XsAZpAwYz3anuFX+EA==
dependencies:
"@ant-design/colors" "^7.0.2"
"@ant-design/cssinjs" "^1.18.4"
@@ -1318,44 +1318,44 @@ antd@>=5, antd@>=5.8.1:
"@ctrl/tinycolor" "^3.6.1"
"@rc-component/color-picker" "~1.5.2"
"@rc-component/mutate-observer" "^1.1.0"
- "@rc-component/tour" "~1.12.3"
- "@rc-component/trigger" "^1.18.3"
+ "@rc-component/tour" "~1.14.2"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.5.1"
copy-to-clipboard "^3.3.3"
dayjs "^1.11.10"
qrcode.react "^3.1.0"
- rc-cascader "~3.22.0"
+ rc-cascader "~3.24.0"
rc-checkbox "~3.2.0"
rc-collapse "~3.7.2"
rc-dialog "~9.4.0"
rc-drawer "~7.1.0"
- rc-dropdown "~4.1.0"
+ rc-dropdown "~4.2.0"
rc-field-form "~1.42.1"
rc-image "~7.6.0"
rc-input "~1.4.3"
rc-input-number "~9.0.0"
- rc-mentions "~2.10.1"
- rc-menu "~9.12.4"
+ rc-mentions "~2.11.1"
+ rc-menu "~9.13.0"
rc-motion "^2.9.0"
rc-notification "~5.3.0"
rc-pagination "~4.0.4"
- rc-picker "~4.2.0"
+ rc-picker "~4.3.0"
rc-progress "~3.5.1"
rc-rate "~2.12.0"
rc-resize-observer "^1.4.0"
rc-segmented "~2.3.0"
- rc-select "~14.12.0"
+ rc-select "~14.13.0"
rc-slider "~10.5.0"
rc-steps "~6.0.1"
rc-switch "~4.1.0"
rc-table "~7.42.0"
- rc-tabs "~14.0.0"
+ rc-tabs "~14.1.1"
rc-textarea "~1.6.3"
- rc-tooltip "~6.1.3"
+ rc-tooltip "~6.2.0"
rc-tree "~5.8.5"
- rc-tree-select "~5.18.0"
+ rc-tree-select "~5.19.0"
rc-upload "~4.5.2"
- rc-util "^5.38.2"
+ rc-util "^5.39.1"
scroll-into-view-if-needed "^3.1.0"
throttle-debounce "^5.0.0"
@@ -1366,7 +1366,7 @@ argparse@^2.0.1:
array-tree-filter@^2.1.0:
version "2.1.0"
- resolved "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz"
+ resolved "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz"
integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==
array-union@^2.1.0:
@@ -1381,7 +1381,7 @@ assign-symbols@^1.0.0:
async-validator@^4.1.0:
version "4.2.5"
- resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz"
+ resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz"
integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==
attr-accept@^2.2.2:
@@ -1442,7 +1442,7 @@ browserslist@^4.22.2, "browserslist@>= 4.21.0":
buffer-from@~0.1.1:
version "0.1.2"
- resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz"
+ resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-0.1.2.tgz"
integrity sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==
callsites@^3.0.0:
@@ -1553,7 +1553,7 @@ commander@^8.3.0:
compute-scroll-into-view@^3.0.2:
version "3.1.0"
- resolved "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz"
+ resolved "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz"
integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==
concat-map@0.0.1:
@@ -1573,14 +1573,14 @@ convert-source-map@^2.0.0:
copy-to-clipboard@^3.3.3:
version "3.3.3"
- resolved "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz"
+ resolved "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz"
integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
dependencies:
toggle-selection "^1.0.6"
core-util-is@~1.0.0:
version "1.0.3"
- resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
+ resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
cosmiconfig@^7.0.0:
@@ -1682,7 +1682,7 @@ doctrine@^3.0.0:
duplexer2@^0.1.2:
version "0.1.4"
- resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"
+ resolved "https://registry.npmmirror.com/duplexer2/-/duplexer2-0.1.4.tgz"
integrity sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==
dependencies:
readable-stream "^2.0.2"
@@ -2163,14 +2163,14 @@ hastscript@^7.0.0:
hoist-non-react-statics@^3.3.1:
version "3.3.2"
- resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
+ resolved "https://registry.npmmirror.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
dependencies:
react-is "^16.7.0"
html-tokenize@^2.0.0:
version "2.0.1"
- resolved "https://registry.npmjs.org/html-tokenize/-/html-tokenize-2.0.1.tgz"
+ resolved "https://registry.npmmirror.com/html-tokenize/-/html-tokenize-2.0.1.tgz"
integrity sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==
dependencies:
buffer-from "~0.1.1"
@@ -2295,12 +2295,12 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
isarray@~1.0.0:
version "1.0.0"
- resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz"
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
isarray@0.0.1:
version "0.0.1"
- resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+ resolved "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz"
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
isexe@^2.0.0:
@@ -2357,7 +2357,7 @@ json-stable-stringify-without-jsonify@^1.0.1:
json2mq@^0.2.0:
version "0.2.0"
- resolved "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz"
+ resolved "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz"
integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==
dependencies:
string-convert "^0.2.0"
@@ -2495,9 +2495,9 @@ lru-cache@^6.0.0:
yallist "^4.0.0"
lucide-react@latest:
- version "0.350.0"
- resolved "https://registry.npmjs.org/lucide-react/-/lucide-react-0.350.0.tgz"
- integrity sha512-5IZVKsxxG8Nn81gpsz4XLNgCAXkppCh0Y0P0GLO39h5iVD2WEaB9of6cPkLtzys1GuSfxJxmwsDh487y7LAf/g==
+ version "0.354.0"
+ resolved "https://registry.npmmirror.com/lucide-react/-/lucide-react-0.354.0.tgz"
+ integrity sha512-qI0x/hhcuHieaUUxFejesm5T/ditszQ2x1gUkqKnTMZRAOdxT2nGzbOFYrhc0wRjuA2MN1o5JCrcRPYcHH3l8A==
markdown-table@^3.0.0:
version "3.0.3"
@@ -2976,7 +2976,7 @@ minimatch@9.0.3:
minimist@~1.2.5:
version "1.2.8"
- resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
+ resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz"
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
mixin-deep@^1.2.0:
@@ -2999,7 +2999,7 @@ ms@2.1.2:
multipipe@^1.0.2:
version "1.0.2"
- resolved "https://registry.npmjs.org/multipipe/-/multipipe-1.0.2.tgz"
+ resolved "https://registry.npmmirror.com/multipipe/-/multipipe-1.0.2.tgz"
integrity sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==
dependencies:
duplexer2 "^0.1.2"
@@ -3027,7 +3027,7 @@ object-assign@^4.1.0, object-assign@^4.1.1:
object-keys@~0.4.0:
version "0.4.0"
- resolved "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+ resolved "https://registry.npmmirror.com/object-keys/-/object-keys-0.4.0.tgz"
integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==
on-change@^4.0.0:
@@ -3172,7 +3172,7 @@ prism-react-renderer@^2:
process-nextick-args@~2.0.0:
version "2.0.1"
- resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
+ resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
prop-types@^15.0.0, prop-types@^15.8.1:
@@ -3196,7 +3196,7 @@ punycode@^2.1.0:
qrcode.react@^3.1.0:
version "3.1.0"
- resolved "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz"
+ resolved "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz"
integrity sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==
query-string@^9.0.0:
@@ -3213,21 +3213,21 @@ queue-microtask@^1.2.2:
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-rc-cascader@~3.22.0:
- version "3.22.0"
- resolved "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.22.0.tgz"
- integrity sha512-zTVa1zE7C+MX0anBkieMmTzQ7OvQ+7wJn3dzrlYN3tIG9WXPJKoTgMeHqTBspGU5KhV5SyoqTPvpinVrxgliHg==
+rc-cascader@~3.24.0:
+ version "3.24.0"
+ resolved "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.24.0.tgz"
+ integrity sha512-NwkYsVULA61S085jbOYbq8Z7leyIxVmLwf+71mWLjA3kCfUf/rAKC0WfjQbqBDaLGlU9d4z1EzyPaHBKLYWv6A==
dependencies:
"@babel/runtime" "^7.12.5"
array-tree-filter "^2.1.0"
classnames "^2.3.1"
- rc-select "~14.12.0"
+ rc-select "~14.13.0"
rc-tree "~5.8.1"
rc-util "^5.37.0"
rc-checkbox@~3.2.0:
version "3.2.0"
- resolved "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.2.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.2.0.tgz"
integrity sha512-8inzw4y9dAhZmv/Ydl59Qdy5tdp9CKg4oPVcRigi+ga/yKPZS5m5SyyQPtYSgbcqHRYOdUhiPSeKfktc76du1A==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3236,7 +3236,7 @@ rc-checkbox@~3.2.0:
rc-collapse@~3.7.2:
version "3.7.2"
- resolved "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.2.tgz"
+ resolved "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.7.2.tgz"
integrity sha512-ZRw6ipDyOnfLFySxAiCMdbHtb5ePAsB9mT17PA6y1mRD/W6KHRaZeb5qK/X9xDV1CqgyxMpzw0VdS74PCcUk4A==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3246,7 +3246,7 @@ rc-collapse@~3.7.2:
rc-dialog@~9.4.0:
version "9.4.0"
- resolved "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.4.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.4.0.tgz"
integrity sha512-AScCexaLACvf8KZRqCPz12BJ8olszXOS4lKlkMyzDQHS1m0zj1KZMYgmMCh39ee0Dcv8kyrj8mTqxuLyhH+QuQ==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3257,7 +3257,7 @@ rc-dialog@~9.4.0:
rc-drawer@~7.1.0:
version "7.1.0"
- resolved "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.1.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-7.1.0.tgz"
integrity sha512-nBE1rF5iZvpavoyqhSSz2mk/yANltA7g3aF0U45xkx381n3we/RKs9cJfNKp9mSWCedOKWt9FLEwZDaAaOGn2w==
dependencies:
"@babel/runtime" "^7.23.9"
@@ -3266,19 +3266,19 @@ rc-drawer@~7.1.0:
rc-motion "^2.6.1"
rc-util "^5.38.1"
-rc-dropdown@~4.1.0:
- version "4.1.0"
- resolved "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.1.0.tgz"
- integrity sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==
+rc-dropdown@~4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.2.0.tgz"
+ integrity sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==
dependencies:
"@babel/runtime" "^7.18.3"
- "@rc-component/trigger" "^1.7.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.2.6"
rc-util "^5.17.0"
rc-field-form@~1.42.1:
version "1.42.1"
- resolved "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.42.1.tgz"
+ resolved "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.42.1.tgz"
integrity sha512-SqiEmWNP+I61Lt80+ofPvT+3l8Ij6vb35IS+x14gheVnCJN0SRnOwEgsqCEB5FslT7xqjUqDnU845hRZ1jzlAA==
dependencies:
"@babel/runtime" "^7.18.0"
@@ -3295,7 +3295,7 @@ rc-footer@^0:
rc-image@~7.6.0:
version "7.6.0"
- resolved "https://registry.npmjs.org/rc-image/-/rc-image-7.6.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-image/-/rc-image-7.6.0.tgz"
integrity sha512-tL3Rvd1sS+frZQ01i+tkeUPaOeFz2iG9/scAt/Cfs0hyCRVA/w0Pu1J/JxIX8blalvmHE0bZQRYdOmRAzWu4Hg==
dependencies:
"@babel/runtime" "^7.11.2"
@@ -3307,7 +3307,7 @@ rc-image@~7.6.0:
rc-input-number@~9.0.0:
version "9.0.0"
- resolved "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.0.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-9.0.0.tgz"
integrity sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3317,34 +3317,34 @@ rc-input-number@~9.0.0:
rc-util "^5.28.0"
rc-input@~1.4.0, rc-input@~1.4.3:
- version "1.4.3"
- resolved "https://registry.npmjs.org/rc-input/-/rc-input-1.4.3.tgz"
- integrity sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w==
+ version "1.4.4"
+ resolved "https://registry.npmmirror.com/rc-input/-/rc-input-1.4.4.tgz"
+ integrity sha512-kYdx3+Nom0Dfi8GJq+mbzV7w1UCOI1C0+3TA21+ZR3wdtJCpFzeEsa1zxhTGK+igOsXL3F7W/ec2lI6JUJRVLQ==
dependencies:
"@babel/runtime" "^7.11.1"
classnames "^2.2.1"
rc-util "^5.18.1"
-rc-mentions@~2.10.1:
- version "2.10.1"
- resolved "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.10.1.tgz"
- integrity sha512-72qsEcr/7su+a07ndJ1j8rI9n0Ka/ngWOLYnWMMv0p2mi/5zPwPrEDTt6Uqpe8FWjWhueDJx/vzunL6IdKDYMg==
+rc-mentions@~2.11.1:
+ version "2.11.1"
+ resolved "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-2.11.1.tgz"
+ integrity sha512-upb4AK1SRFql7qGnbLEvJqLMugVVIyjmwBJW9L0eLoN9po4JmJZaBzmKA4089fNtsU8k6l/tdZiVafyooeKnLw==
dependencies:
"@babel/runtime" "^7.22.5"
- "@rc-component/trigger" "^1.5.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.2.6"
rc-input "~1.4.0"
- rc-menu "~9.12.0"
+ rc-menu "~9.13.0"
rc-textarea "~1.6.1"
rc-util "^5.34.1"
-rc-menu@~9.12.0, rc-menu@~9.12.4:
- version "9.12.4"
- resolved "https://registry.npmjs.org/rc-menu/-/rc-menu-9.12.4.tgz"
- integrity sha512-t2NcvPLV1mFJzw4F21ojOoRVofK2rWhpKPx69q2raUsiHPDP6DDevsBILEYdsIegqBeSXoWs2bf6CueBKg3BFg==
+rc-menu@~9.13.0:
+ version "9.13.0"
+ resolved "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.13.0.tgz"
+ integrity sha512-1l8ooCB3HcYJKCltC/s7OxRKRjgymdl9htrCeGZcXNaMct0RxZRK6OPV3lPhVksIvAGMgzPd54ClpZ5J4b8cZA==
dependencies:
"@babel/runtime" "^7.10.1"
- "@rc-component/trigger" "^1.17.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "2.x"
rc-motion "^2.4.3"
rc-overflow "^1.3.1"
@@ -3352,7 +3352,7 @@ rc-menu@~9.12.0, rc-menu@~9.12.4:
rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0:
version "2.9.0"
- resolved "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.0.tgz"
integrity sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==
dependencies:
"@babel/runtime" "^7.11.1"
@@ -3361,7 +3361,7 @@ rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motio
rc-notification@~5.3.0:
version "5.3.0"
- resolved "https://registry.npmjs.org/rc-notification/-/rc-notification-5.3.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-notification/-/rc-notification-5.3.0.tgz"
integrity sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3371,7 +3371,7 @@ rc-notification@~5.3.0:
rc-overflow@^1.3.1, rc-overflow@^1.3.2:
version "1.3.2"
- resolved "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz"
+ resolved "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz"
integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==
dependencies:
"@babel/runtime" "^7.11.1"
@@ -3381,20 +3381,20 @@ rc-overflow@^1.3.1, rc-overflow@^1.3.2:
rc-pagination@~4.0.4:
version "4.0.4"
- resolved "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz"
+ resolved "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz"
integrity sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "^2.3.2"
rc-util "^5.38.0"
-rc-picker@~4.2.0:
- version "4.2.1"
- resolved "https://registry.npmjs.org/rc-picker/-/rc-picker-4.2.1.tgz"
- integrity sha512-HU1ZdSEKE7CpH+3yBgFrhHipShqsExSr2VwqlDKILNMHBq2/pEyjOAj4fd1SPNcewm2sg+tw3LOsGYfTaZ0ABQ==
+rc-picker@~4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.3.0.tgz"
+ integrity sha512-bQNB/+NdW55jlQ5lPnNqF5J90Tq4SihLbAF7tzPBvGDJyoYmDgwLm4FN0ZB3Ot9i1v6vJY/1mgqZZTT9jbYc5w==
dependencies:
"@babel/runtime" "^7.10.1"
- "@rc-component/trigger" "^1.5.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.2.1"
rc-overflow "^1.3.2"
rc-resize-observer "^1.4.0"
@@ -3402,7 +3402,7 @@ rc-picker@~4.2.0:
rc-progress@~3.5.1:
version "3.5.1"
- resolved "https://registry.npmjs.org/rc-progress/-/rc-progress-3.5.1.tgz"
+ resolved "https://registry.npmmirror.com/rc-progress/-/rc-progress-3.5.1.tgz"
integrity sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3411,7 +3411,7 @@ rc-progress@~3.5.1:
rc-rate@~2.12.0:
version "2.12.0"
- resolved "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.12.0.tgz"
integrity sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3420,7 +3420,7 @@ rc-rate@~2.12.0:
rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1, rc-resize-observer@^1.4.0:
version "1.4.0"
- resolved "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz"
integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==
dependencies:
"@babel/runtime" "^7.20.7"
@@ -3430,7 +3430,7 @@ rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1,
rc-segmented@~2.3.0:
version "2.3.0"
- resolved "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.3.0.tgz"
integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==
dependencies:
"@babel/runtime" "^7.11.1"
@@ -3438,13 +3438,13 @@ rc-segmented@~2.3.0:
rc-motion "^2.4.4"
rc-util "^5.17.0"
-rc-select@~14.12.0:
- version "14.12.1"
- resolved "https://registry.npmjs.org/rc-select/-/rc-select-14.12.1.tgz"
- integrity sha512-cHCYNJ7vwsyTDbzQMkFDPpFhS20WmsZURgrz5LUObONrq6ifwqYrj8KJV5yDeW9XqoHCZm2DqK7nJiAaHrWM1A==
+rc-select@~14.13.0:
+ version "14.13.0"
+ resolved "https://registry.npmmirror.com/rc-select/-/rc-select-14.13.0.tgz"
+ integrity sha512-ew34FsaqHokK4dxVrcIxSYrgWJ2XJYlkk32eiOIiEo3GkHUExdCzmozMYaUc2P67c5QJRUvvY0uqCs3QG67h5A==
dependencies:
"@babel/runtime" "^7.10.1"
- "@rc-component/trigger" "^1.5.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "2.x"
rc-motion "^2.0.1"
rc-overflow "^1.3.1"
@@ -3453,7 +3453,7 @@ rc-select@~14.12.0:
rc-slider@~10.5.0:
version "10.5.0"
- resolved "https://registry.npmjs.org/rc-slider/-/rc-slider-10.5.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-slider/-/rc-slider-10.5.0.tgz"
integrity sha512-xiYght50cvoODZYI43v3Ylsqiw14+D7ELsgzR40boDZaya1HFa1Etnv9MDkQE8X/UrXAffwv2AcNAhslgYuDTw==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3462,7 +3462,7 @@ rc-slider@~10.5.0:
rc-steps@~6.0.1:
version "6.0.1"
- resolved "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz"
+ resolved "https://registry.npmmirror.com/rc-steps/-/rc-steps-6.0.1.tgz"
integrity sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==
dependencies:
"@babel/runtime" "^7.16.7"
@@ -3471,7 +3471,7 @@ rc-steps@~6.0.1:
rc-switch@~4.1.0:
version "4.1.0"
- resolved "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-switch/-/rc-switch-4.1.0.tgz"
integrity sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==
dependencies:
"@babel/runtime" "^7.21.0"
@@ -3480,7 +3480,7 @@ rc-switch@~4.1.0:
rc-table@~7.42.0:
version "7.42.0"
- resolved "https://registry.npmjs.org/rc-table/-/rc-table-7.42.0.tgz"
+ resolved "https://registry.npmmirror.com/rc-table/-/rc-table-7.42.0.tgz"
integrity sha512-GwHV9Zs3HvWxBkoXatO/IeKoElzy3Ojf3dcyw1Rj3cyQVb+ZHtexslKdyzsrKRPJ0mUa62BoX+ZAg3zgTEql8w==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3490,22 +3490,22 @@ rc-table@~7.42.0:
rc-util "^5.37.0"
rc-virtual-list "^3.11.1"
-rc-tabs@~14.0.0:
- version "14.0.0"
- resolved "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.0.0.tgz"
- integrity sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ==
+rc-tabs@~14.1.1:
+ version "14.1.1"
+ resolved "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-14.1.1.tgz"
+ integrity sha512-5nOr9PVpJy2SWHTLgv1+kESDOb0tFzl0cYU9r9d8LfL0Wg9i/n1B558rmkxdQHgBwMqxmwoyPSAbQROxMQe8nw==
dependencies:
"@babel/runtime" "^7.11.2"
classnames "2.x"
- rc-dropdown "~4.1.0"
- rc-menu "~9.12.0"
+ rc-dropdown "~4.2.0"
+ rc-menu "~9.13.0"
rc-motion "^2.6.2"
rc-resize-observer "^1.0.0"
rc-util "^5.34.1"
rc-textarea@~1.6.1, rc-textarea@~1.6.3:
version "1.6.3"
- resolved "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz"
+ resolved "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-1.6.3.tgz"
integrity sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3514,29 +3514,29 @@ rc-textarea@~1.6.1, rc-textarea@~1.6.3:
rc-resize-observer "^1.0.0"
rc-util "^5.27.0"
-rc-tooltip@~6.1.3:
- version "6.1.3"
- resolved "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.3.tgz"
- integrity sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ==
+rc-tooltip@~6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-6.2.0.tgz"
+ integrity sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==
dependencies:
"@babel/runtime" "^7.11.2"
- "@rc-component/trigger" "^1.18.0"
+ "@rc-component/trigger" "^2.0.0"
classnames "^2.3.1"
-rc-tree-select@~5.18.0:
- version "5.18.0"
- resolved "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.18.0.tgz"
- integrity sha512-gctFd1ATKom/YGQ3NBKDPaYkHhJvJbd2hC0cvNXspbg9jYEJe8QBVgCwVnt0QvSkxN4Jxjx/CxA4UEidl084Sw==
+rc-tree-select@~5.19.0:
+ version "5.19.0"
+ resolved "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.19.0.tgz"
+ integrity sha512-f4l5EsmSGF3ggj76YTzKNPY9SnXfFaer7ZccTSGb3urUf54L+cCqyT+UsPr+S5TAr8mZSxJ7g3CgkCe+cVQ6sw==
dependencies:
"@babel/runtime" "^7.10.1"
classnames "2.x"
- rc-select "~14.12.0"
+ rc-select "~14.13.0"
rc-tree "~5.8.1"
rc-util "^5.16.1"
rc-tree@~5.8.1, rc-tree@~5.8.5:
version "5.8.5"
- resolved "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz"
+ resolved "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.8.5.tgz"
integrity sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==
dependencies:
"@babel/runtime" "^7.10.1"
@@ -3547,14 +3547,14 @@ rc-tree@~5.8.1, rc-tree@~5.8.5:
rc-upload@~4.5.2:
version "4.5.2"
- resolved "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz"
+ resolved "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.5.2.tgz"
integrity sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==
dependencies:
"@babel/runtime" "^7.18.3"
classnames "^2.2.5"
rc-util "^5.2.0"
-rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.38.2:
+rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.38.1, rc-util@^5.39.1:
version "5.39.1"
resolved "https://registry.npmjs.org/rc-util/-/rc-util-5.39.1.tgz"
integrity sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ==
@@ -3564,7 +3564,7 @@ rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.
rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2:
version "3.11.4"
- resolved "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz"
+ resolved "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz"
integrity sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==
dependencies:
"@babel/runtime" "^7.20.0"
@@ -3628,7 +3628,7 @@ react-is@^16.13.1:
react-is@^16.7.0:
version "16.13.1"
- resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
+ resolved "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^18.0.0, react-is@^18.2.0:
@@ -3713,7 +3713,7 @@ react@*, "react@^16 || ^17 || ^18", "react@^16.11.0 || ^17.0.0 || ^18.0.0", "rea
readable-stream@^2.0.2:
version "2.3.8"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz"
+ resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
@@ -3726,7 +3726,7 @@ readable-stream@^2.0.2:
readable-stream@~1.0.17, readable-stream@~1.0.27-1:
version "1.0.34"
- resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz"
+ resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz"
integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==
dependencies:
core-util-is "~1.0.0"
@@ -3859,7 +3859,7 @@ sade@^1.7.3:
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
- resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
scheduler@^0.23.0:
@@ -3876,7 +3876,7 @@ screenfull@^5.0.0:
scroll-into-view-if-needed@^3.1.0:
version "3.1.0"
- resolved "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz"
+ resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz"
integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==
dependencies:
compute-scroll-into-view "^3.0.2"
@@ -3971,19 +3971,19 @@ split-string@^3.0.1:
string_decoder@~0.10.x:
version "0.10.31"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
+ resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz"
integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
string_decoder@~1.1.1:
version "1.1.1"
- resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
string-convert@^0.2.0:
version "0.2.1"
- resolved "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz"
+ resolved "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz"
integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==
strip-ansi@^6.0.1:
@@ -4069,17 +4069,17 @@ text-table@^0.2.0:
throttle-debounce@^5.0.0:
version "5.0.0"
- resolved "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz"
+ resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.0.tgz"
integrity sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==
through@^2.3.8:
version "2.3.8"
- resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
through2@~0.4.1:
version "0.4.2"
- resolved "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz"
+ resolved "https://registry.npmmirror.com/through2/-/through2-0.4.2.tgz"
integrity sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==
dependencies:
readable-stream "~1.0.17"
@@ -4099,7 +4099,7 @@ to-regex-range@^5.0.1:
toggle-selection@^1.0.6:
version "1.0.6"
- resolved "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz"
+ resolved "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz"
integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
trim-lines@^3.0.0:
@@ -4258,7 +4258,7 @@ use-sync-external-store@^1.2.0, use-sync-external-store@1.2.0:
util-deprecate@~1.0.1:
version "1.0.2"
- resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
uuid@^9:
@@ -4337,7 +4337,7 @@ wrappy@1:
xtend@~2.1.1:
version "2.1.2"
- resolved "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz"
+ resolved "https://registry.npmmirror.com/xtend/-/xtend-2.1.2.tgz"
integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==
dependencies:
object-keys "~0.4.0"
--
Gitee
From a0a30efbc933913d16da74b5ada85109b4b84efe Mon Sep 17 00:00:00 2001
From: Token <239573049@qq.com>
Date: Mon, 11 Mar 2024 18:34:57 +0800
Subject: [PATCH 7/9] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E4=BA=AB?=
=?UTF-8?q?=E5=AF=B9=E8=AF=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
web/src/App.tsx | 4 +
web/src/pages/share-chat/(desktop)/index.tsx | 391 ++++++++++++++++++
web/src/pages/share-chat/(mobile)/index.tsx | 3 +
.../share-chat/feautres/CreateDialog.tsx | 67 +++
web/src/pages/share-chat/page.tsx | 7 +
web/src/utils/stringHelper.ts | 26 +-
6 files changed, 490 insertions(+), 8 deletions(-)
create mode 100644 web/src/pages/share-chat/(desktop)/index.tsx
create mode 100644 web/src/pages/share-chat/(mobile)/index.tsx
create mode 100644 web/src/pages/share-chat/feautres/CreateDialog.tsx
create mode 100644 web/src/pages/share-chat/page.tsx
diff --git a/web/src/App.tsx b/web/src/App.tsx
index dd2638a..49cbd00 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -11,6 +11,7 @@ import Chat from './pages/chat/page'
import User from './pages/user/page'
import AppDetail from './pages/app-detail/page'
import WikiDetail from './pages/wiki-detail/page'
+import ShareChat from './pages/share-chat/page'
const router = createBrowserRouter([{
@@ -29,6 +30,9 @@ const router = createBrowserRouter([{
}, {
path: '/login',
element:
+}, {
+ path: '/share-chat',
+ element:
}])
diff --git a/web/src/pages/share-chat/(desktop)/index.tsx b/web/src/pages/share-chat/(desktop)/index.tsx
new file mode 100644
index 0000000..bb27b23
--- /dev/null
+++ b/web/src/pages/share-chat/(desktop)/index.tsx
@@ -0,0 +1,391 @@
+import { ChatList, DraggablePanel, } from "@lobehub/ui";
+import { Select } from 'antd';
+import { useEffect, useState } from "react";
+import { CreateChatDialog, CreateChatDialogHistory, GetChatApplicationsList, GetChatDialog, GetChatDialogHistory, GetChatShareApplication } from "../../../services/ChatApplicationService";
+import Divider from "@lobehub/ui/es/Form/components/FormDivider";
+import { Button, message } from 'antd'
+import { useNavigate } from "react-router-dom";
+import styled from "styled-components";
+import {
+ ActionIcon,
+ ChatInputActionBar,
+ ChatInputArea,
+ ChatSendButton,
+} from '@lobehub/ui';
+import {
+ ActionsBar,
+ ChatListProps,
+} from '@lobehub/ui';
+
+import { Eraser, Languages } from 'lucide-react';
+import { Flexbox } from 'react-layout-kit';
+import { fetchRaw } from "../../../utils/fetch";
+import CreateDialog from "../feautres/CreateDialog";
+import { generateRandomString } from "../../../utils/stringHelper";
+
+const DialogList = styled.div`
+ margin-top: 8px;
+ padding: 8px;
+`;
+
+const DialogItem = styled.div`
+ padding: 8px;
+ border: 1px solid #d9d9d9;
+ border-radius: 8px;
+ cursor: pointer;
+ margin-bottom: 8px;
+ transition: border-color 0.3s linear;
+ &:hover {
+ border-color: #1890ff;
+ }
+
+ // 当组件被选中时修改样式
+ &.selected {
+ border-color: #1890ff;
+ }
+`;
+
+export default function DesktopLayout() {
+ const id = new URLSearchParams(window.location.search).get('id');
+ if (!id) {
+ return (
+ 请提供分享Id
+
)
+ }
+
+ /**
+ * 获取游客id
+ */
+ let guestId = localStorage.getItem('ChatShare')
+ if (!guestId) {
+ guestId = generateRandomString(10)
+ localStorage.setItem('ChatShare', guestId)
+ }
+ const navigate = useNavigate();
+ const [applications, setApplications] = useState([] as any[]);
+ const [application, setApplication] = useState(null as any);
+ const [dialogs, setDialogs] = useState([] as any[]);
+ const [createDialogVisible, setCreateDialogVisible] = useState(false);
+ const [dialog, setDialog] = useState({} as any);
+ const [history, setHistory] = useState([] as any[]);
+ const [value, setValue] = useState('' as string);
+ const [input] = useState({
+ page: 1,
+ pageSize: 5
+ });
+
+ useEffect(() => {
+ loadingApplication();
+ }, [id])
+
+
+ async function loadingApplication() {
+ const app = await GetChatShareApplication(id as any);
+ setApplication(app)
+ }
+
+
+ async function loadingApplications() {
+ try {
+ const result = await GetChatApplicationsList(1, 1000);
+ setApplications(result.result);
+ if (result.total === 0) {
+ message.error('您还没有应用,请先创建应用');
+ // 等待1秒后跳转
+ setTimeout(() => {
+ navigate('/app');
+ }, 1000);
+ return;
+ }
+ setApplication(result.result[0]);
+ } catch (error) {
+
+ }
+ }
+
+ async function loadingDialogs() {
+ try {
+
+ const result = (await GetChatDialog(application.id, true)) as any[];
+ setDialogs(result);
+ if (result.length === 0) {
+ await AddChatDialog({
+ name: '默认对话',
+ description: '默认创建的对话',
+ applicationId: application.id,
+ type: 0
+ })
+ loadingDialogs();
+ return;
+ }
+ setDialog(result[0]);
+ } catch (error) {
+
+ }
+ }
+
+ async function LoadingSession() {
+ try {
+ const result = await GetChatDialogHistory(dialog.id, input.page, input.pageSize);
+
+ const history = result.result.map((item: any) => {
+ return {
+ content: item.content,
+ createAt: item.createAt,
+ extra: {},
+ id: item.id,
+ meta: {
+ avatar: item.current ? "https://blog-simple.oss-cn-shenzhen.aliyuncs.com/Avatar.jpg" : "https://blog-simple.oss-cn-shenzhen.aliyuncs.com/chatgpt.png",
+ title: item.current ? "我" : "AI助手",
+ },
+ role: item.current ? 'user' : 'assistant',
+ };
+ });
+
+ setHistory(history);
+ } catch (error) {
+
+ }
+ }
+
+ async function AddChatDialog(data: any) {
+ try {
+ await CreateChatDialog(data)
+ } catch (error) {
+ message.error('创建失败');
+ }
+ }
+
+
+ useEffect(() => {
+ if (application) {
+ loadingDialogs();
+ }
+ }, [application]);
+
+ useEffect(() => {
+ if (dialog) {
+ LoadingSession();
+ }
+ }, [dialog, input]);
+
+ useEffect(() => {
+ loadingApplications();
+ }, []);
+
+ function handleChange(value: any) {
+ console.log(`selected ${value}`);
+ }
+
+ const control: ChatListProps | any =
+ {
+ showTitle: false,
+ }
+
+ async function sendChat() {
+ const v = value;
+ setValue('');
+
+ history.push({
+ content: v,
+ createAt: new Date().toISOString(),
+ extra: {},
+ id: new Date().getTime(),
+ meta: {
+ avatar: "https://blog-simple.oss-cn-shenzhen.aliyuncs.com/Avatar.jpg",
+ title: "我",
+ },
+ role: 'user',
+ })
+
+ setHistory([...history]);
+
+ const stream = await fetchRaw('/api/v1/ChatApplications/Completions', {
+ chatDialogId: dialog.id,
+ content: v,
+ chatId: application.id
+ });
+
+ let chat = {
+ content: '',
+ createAt: new Date().toISOString(),
+ extra: {},
+ id: new Date().getTime(),
+ meta: {
+ avatar: "https://blog-simple.oss-cn-shenzhen.aliyuncs.com/chatgpt.png",
+ title: "AI助手",
+ },
+ role: 'assistant',
+ };
+
+ setHistory([...history, chat]);
+
+ for await (const c of stream) {
+ if (c) {
+ let content = c;
+ // 先匹配删除前缀 [ 和后缀 ]
+ if (content.startsWith('[') || content.startsWith(',')) {
+ // 删除第一个字符
+ content = c.slice(1);
+ }
+ if (content.endsWith(']')) {
+ // 删除最后一个字符
+ content = c.slice(0, c.length - 1);
+ }
+ if (content === '') {
+ return;
+ }
+
+ if (content.startsWith(',') === true) {
+ content = content.slice(1);
+ }
+
+ content = "[" + content + "]";
+ console.log(content);
+
+ var obj = JSON.parse(content) as any[];
+
+ obj.forEach((item) => {
+ chat.content += item.content;
+ });
+
+ setHistory([...history, chat]);
+ }
+ }
+
+ await CreateChatDialogHistory({
+ chatDialogId: dialog.id,
+ content: v,
+ current: true,
+ type: 0
+ })
+
+
+ await CreateChatDialogHistory({
+ chatDialogId: dialog.id,
+ content: chat.content,
+ current: false,
+ type: 0
+ })
+ }
+
+
+ return <>
+
+
+
+
+ 请选择您的应用
+
+
{
+ return { label: item.name, value: item.id }
+ })}
+ />
+
+
+
+ {
+ dialogs?.map((item: any) => {
+ return {
+ setDialog(item);
+ }}>{item.name}
+ })
+ }
+ setCreateDialogVisible(true)} style={{
+ marginTop: 8
+ }} block>新建对话
+
+
+
+
+
+
+
+
+
{editableContent}
,
+ }}
+ style={{ width: '100%' }}
+ {...control}
+ />
+
+
+
+
+ {
+ setValue(e.target.value);
+ }}
+ placeholder="请输入您的消息"
+ bottomAddons={ sendChat()} />}
+ topAddons={
+
+
+ {
+ setValue('');
+ }} icon={Eraser} color={undefined} fill={undefined} fillOpacity={undefined} fillRule={undefined} focusable={undefined} />
+ >
+ }
+ />
+ }
+ />
+
+
+
{
+ setCreateDialogVisible(false);
+ loadingDialogs();
+ }} onSucess={() => {
+ setCreateDialogVisible(false);
+ loadingDialogs();
+ }} />
+
+ >
+}
\ No newline at end of file
diff --git a/web/src/pages/share-chat/(mobile)/index.tsx b/web/src/pages/share-chat/(mobile)/index.tsx
new file mode 100644
index 0000000..c708980
--- /dev/null
+++ b/web/src/pages/share-chat/(mobile)/index.tsx
@@ -0,0 +1,3 @@
+export default function MobileLayout(){
+ return MobileLayout
+}
\ No newline at end of file
diff --git a/web/src/pages/share-chat/feautres/CreateDialog.tsx b/web/src/pages/share-chat/feautres/CreateDialog.tsx
new file mode 100644
index 0000000..83b5300
--- /dev/null
+++ b/web/src/pages/share-chat/feautres/CreateDialog.tsx
@@ -0,0 +1,67 @@
+import { useState } from "react";
+import { Modal } from "antd";
+import { Input } from "@lobehub/ui";
+import { CreateChatDialog } from "../../../services/ChatApplicationService";
+
+interface IAppHeaderProps {
+ id: string; // 应用ID
+ onSucess: () => void; // 成功回调
+ visible: boolean; // 是否显示
+ onClose: () => void; // 关闭回调
+ type: number; // 类型
+}
+
+export default function CreateDialog({
+ id,
+ onSucess,
+ visible,
+ onClose,
+ type,
+}: IAppHeaderProps) {
+
+ const [data, setData] = useState({
+ name:"",
+ description:'',
+ type: type,
+ });
+ console.log(id);
+
+
+ function createDialog() {
+
+ CreateChatDialog({
+ ...data,
+ applicationId: id
+ })
+ .then(() => {
+ onSucess();
+ })
+ }
+
+ return (
+
+
+ {
+ setData({
+ ...data,
+ name: e.target.value
+ })
+ }}
+ placeholder="对话名称"/>
+
+
+ {
+ setData({
+ ...data,
+ description: e.target.value
+ })
+ }}
+ placeholder="对话描述"/>
+
+
+ )
+}
\ No newline at end of file
diff --git a/web/src/pages/share-chat/page.tsx b/web/src/pages/share-chat/page.tsx
new file mode 100644
index 0000000..8a5cbb0
--- /dev/null
+++ b/web/src/pages/share-chat/page.tsx
@@ -0,0 +1,7 @@
+import DesktopPage from './(desktop)';
+import MobilePage from './(mobile)';
+import AdaptiveLayout from '../../layouts/adaptive-layout';
+
+export default function Chat() {
+ return ;
+}
\ No newline at end of file
diff --git a/web/src/utils/stringHelper.ts b/web/src/utils/stringHelper.ts
index 702f18b..b9a94e4 100644
--- a/web/src/utils/stringHelper.ts
+++ b/web/src/utils/stringHelper.ts
@@ -1,14 +1,24 @@
-
/**
* @description: 字符串工具类
* @param {string} str
* @return {*}
- * @example:
+ * @example:
*/
export function bytesToSize(bytes: number) {
- if (bytes === 0) return '0 B';
- var k = 1024;
- var sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
- var i = Math.floor(Math.log(bytes) / Math.log(k));
- return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];
-}
\ No newline at end of file
+ if (bytes === 0) return "0 B";
+ var k = 1024;
+ var sizes = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
+ var i = Math.floor(Math.log(bytes) / Math.log(k));
+ return (bytes / Math.pow(k, i)).toPrecision(3) + " " + sizes[i];
+}
+
+export function generateRandomString(length: number) {
+ var result = "";
+ var characters =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ var charactersLength = characters.length;
+ for (var i = 0; i < length; i++) {
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
+ }
+ return result;
+}
--
Gitee
From 853fe4cff4b6e60d3af40b928aff45968c0f5eac Mon Sep 17 00:00:00 2001
From: Token <239573049@qq.com>
Date: Mon, 11 Mar 2024 18:50:31 +0800
Subject: [PATCH 8/9] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E5=88=86=E4=BA=AB=E5=AF=B9=E8=AF=9D=20=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=88=86=E4=BA=AB=E6=8C=89=E9=92=AE=E5=AE=9E=E7=8E=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../app-detail/feautres/ReleaseApplication.tsx | 7 +++++--
web/src/pages/share-chat/(desktop)/index.tsx | 8 ++++----
web/src/utils/stringHelper.ts | 13 +++++++++++++
3 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
index bd6aafc..7ee550b 100644
--- a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
+++ b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
@@ -5,6 +5,7 @@ import { Button, Table } from 'antd';
import styled from 'styled-components';
import CreateApplication from "./CreateApplication";
import { GetChatShareList } from "../../../services/ChatApplicationService";
+import { copyToClipboard } from "../../../utils/stringHelper";
const Title = styled.div`
@@ -47,8 +48,10 @@ export default memo((props: IReleaseApplicationProps) => {
{
title: '操作',
key: 'action',
- render: () => (
- 删除
+ render: (_, item) => (
+ {
+ copyToClipboard(location.origin + "/share-chat?id=" + item.id)
+ }}>分享
),
},
];
diff --git a/web/src/pages/share-chat/(desktop)/index.tsx b/web/src/pages/share-chat/(desktop)/index.tsx
index bb27b23..347d365 100644
--- a/web/src/pages/share-chat/(desktop)/index.tsx
+++ b/web/src/pages/share-chat/(desktop)/index.tsx
@@ -1,7 +1,7 @@
import { ChatList, DraggablePanel, } from "@lobehub/ui";
import { Select } from 'antd';
import { useEffect, useState } from "react";
-import { CreateChatDialog, CreateChatDialogHistory, GetChatApplicationsList, GetChatDialog, GetChatDialogHistory, GetChatShareApplication } from "../../../services/ChatApplicationService";
+import { CreateChatDialog, CreateChatDialogHistory, GetChatApplicationsList, GetChatDialog, GetChatDialogHistory, GetChatShareApplication, GetChatShareDialog } from "../../../services/ChatApplicationService";
import Divider from "@lobehub/ui/es/Form/components/FormDivider";
import { Button, message } from 'antd'
import { useNavigate } from "react-router-dom";
@@ -46,7 +46,7 @@ const DialogItem = styled.div`
`;
export default function DesktopLayout() {
- const id = new URLSearchParams(window.location.search).get('id');
+ const id = new URLSearchParams(window.location.search).get('id') as string;
if (!id) {
return (
Date: Mon, 11 Mar 2024 22:19:23 +0800
Subject: [PATCH 9/9] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=AF=B9=E8=AF=9D?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=20=E4=BC=98=E5=8C=96=E5=AF=B9=E8=AF=9D?=
=?UTF-8?q?=E5=AE=9E=E7=8E=B0=20=E4=BC=98=E5=8C=96=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E6=B8=B2=E6=9F=93?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/ChatApplicationService.cs | 52 ++++---
.../Dto/PutChatHistoryInput.cs | 11 ++
.../IChatApplicationService.cs | 6 +
.../ChatApplicationCommandHandler.cs | 9 +-
.../Commands/PutChatHistoryCommand.cs | 7 +
.../ChatApplicationReoisutory.cs | 25 +++
.../IChatApplicationRepository.cs | 9 ++
.../Service/ChatApplicationService.cs | 8 +-
.../feautres/ReleaseApplication.tsx | 3 +-
web/src/pages/chat/(desktop)/index.tsx | 127 ++++++++++++++--
web/src/pages/home/(desktop)/index.tsx | 4 +-
web/src/pages/home/features/Publicity.tsx | 3 +-
web/src/pages/share-chat/(desktop)/index.tsx | 143 +++++++++++++++---
.../share-chat/feautres/CreateDialog.tsx | 5 +-
web/src/pages/wiki-detail/(desktop)/index.tsx | 9 +-
.../pages/wiki-detail/features/WikiInfo.tsx | 125 +++++++++++++++
web/src/services/ChatApplicationService.ts | 11 +-
17 files changed, 488 insertions(+), 69 deletions(-)
create mode 100644 src/Contracts/FastWiki.Service.Contracts/ChatApplication/Dto/PutChatHistoryInput.cs
create mode 100644 src/Service/FastWiki.Service/Application/ChatApplications/Commands/PutChatHistoryCommand.cs
create mode 100644 web/src/pages/wiki-detail/features/WikiInfo.tsx
diff --git a/src/ApiGateway/FastWiki.ApiGateway.Caller/Service/ChatApplicationService.cs b/src/ApiGateway/FastWiki.ApiGateway.Caller/Service/ChatApplicationService.cs
index e910bce..fd4e443 100644
--- a/src/ApiGateway/FastWiki.ApiGateway.Caller/Service/ChatApplicationService.cs
+++ b/src/ApiGateway/FastWiki.ApiGateway.Caller/Service/ChatApplicationService.cs
@@ -5,7 +5,10 @@ using System.Net.Http.Json;
namespace FastWiki.ApiGateway.Caller.Service;
-public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory httpClientFactory, IUserService userService)
+public sealed class ChatApplicationService(
+ ICaller caller,
+ IHttpClientFactory httpClientFactory,
+ IUserService userService)
: ServiceBase(caller, httpClientFactory, userService), IChatApplicationService
{
protected override string BaseUrl { get; set; } = "ChatApplications";
@@ -52,7 +55,8 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
public async Task CreateChatDialogAsync(CreateChatDialogInput input)
{
- await PostAsync(nameof(CreateChatDialogAsync), input).ConfigureAwait(false); ;
+ await PostAsync(nameof(CreateChatDialogAsync), input).ConfigureAwait(false);
+ ;
}
public async Task
> GetChatDialogAsync(string chatId, bool all)
@@ -60,10 +64,10 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
return await GetAsync>(nameof(GetChatDialogAsync), new Dictionary()
{
{
- "applicationId",chatId
+ "applicationId", chatId
},
{
- "all",all.ToString()
+ "all", all.ToString()
},
});
}
@@ -73,7 +77,7 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
return await GetAsync>(nameof(GetChatShareDialogAsync), new Dictionary()
{
{
- "chatId",chatId
+ "chatId", chatId
}
});
}
@@ -114,7 +118,8 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
public async Task CreateChatDialogHistoryAsync(CreateChatDialogHistoryInput input)
{
- await PostAsync(nameof(CreateChatDialogHistoryAsync), input).ConfigureAwait(false); ;
+ await PostAsync(nameof(CreateChatDialogHistoryAsync), input).ConfigureAwait(false);
+ ;
}
public async Task> GetChatDialogHistoryAsync(string chatDialogId, int page,
@@ -133,17 +138,20 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
nameof(pageSize),
pageSize.ToString()
}
- }).ConfigureAwait(false); ;
+ }).ConfigureAwait(false);
+ ;
}
public async Task RemoveDialogHistoryAsync(string id)
{
- await DeleteAsync(nameof(RemoveDialogHistoryAsync) + "/" + id).ConfigureAwait(false); ;
+ await DeleteAsync(nameof(RemoveDialogHistoryAsync) + "/" + id).ConfigureAwait(false);
+ ;
}
public async Task CreateShareAsync(CreateChatShareInput input)
{
- await PostAsync(nameof(CreateShareAsync), input).ConfigureAwait(false); ;
+ await PostAsync(nameof(CreateShareAsync), input).ConfigureAwait(false);
+ ;
}
public async Task> GetChatShareListAsync(string chatApplicationId, int page,
@@ -161,12 +169,14 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
{
"pageSize", pageSize.ToString()
}
- }).ConfigureAwait(false); ;
+ }).ConfigureAwait(false);
+ ;
}
public async Task RemoveDialogAsync(string id)
{
- await DeleteAsync(nameof(RemoveDialogAsync) + "/" + id).ConfigureAwait(false); ;
+ await DeleteAsync(nameof(RemoveDialogAsync) + "/" + id).ConfigureAwait(false);
+ ;
}
public async Task UpdateDialogAsync(ChatDialogDto input)
@@ -176,7 +186,8 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
public async Task RemoveShareDialogAsync(string chatId, string id)
{
- await DeleteAsync(nameof(RemoveDialogAsync) + "/" + id + "?chatId=" + chatId).ConfigureAwait(false); ;
+ await DeleteAsync(nameof(RemoveDialogAsync) + "/" + id + "?chatId=" + chatId).ConfigureAwait(false);
+ ;
}
public async Task UpdateShareDialogAsync(ChatDialogDto input)
@@ -184,24 +195,27 @@ public sealed class ChatApplicationService(ICaller caller, IHttpClientFactory ht
await PutAsync(nameof(UpdateDialogAsync), input).ConfigureAwait(false);
}
- public async Task> GetSessionLogDialogAsync(string chatApplicationId, int page, int pageSize)
+ public async Task> GetSessionLogDialogAsync(string chatApplicationId, int page,
+ int pageSize)
{
return
await GetAsync>(nameof(GetSessionLogDialogAsync),
new Dictionary()
{
{
-
- "chatApplicationId",chatApplicationId
+ "chatApplicationId", chatApplicationId
},
{
-
- "page",page.ToString()
+ "page", page.ToString()
},
{
-
- "pageSize",pageSize.ToString()
+ "pageSize", pageSize.ToString()
}
});
}
+
+ public async Task PutChatHistoryAsync(PutChatHistoryInput input)
+ {
+ await PutAsync(nameof(PutChatHistoryAsync), input).ConfigureAwait(false);
+ }
}
\ No newline at end of file
diff --git a/src/Contracts/FastWiki.Service.Contracts/ChatApplication/Dto/PutChatHistoryInput.cs b/src/Contracts/FastWiki.Service.Contracts/ChatApplication/Dto/PutChatHistoryInput.cs
new file mode 100644
index 0000000..55299d3
--- /dev/null
+++ b/src/Contracts/FastWiki.Service.Contracts/ChatApplication/Dto/PutChatHistoryInput.cs
@@ -0,0 +1,11 @@
+namespace FastWiki.Service.Contracts.ChatApplication.Dto;
+
+public sealed class PutChatHistoryInput
+{
+ public string Id { get; set; }
+
+ public string Content { get; set; }
+
+ public string? ChatShareId { get; set; }
+
+}
\ No newline at end of file
diff --git a/src/Contracts/FastWiki.Service.Contracts/ChatApplication/IChatApplicationService.cs b/src/Contracts/FastWiki.Service.Contracts/ChatApplication/IChatApplicationService.cs
index 30c212d..99eddd5 100644
--- a/src/Contracts/FastWiki.Service.Contracts/ChatApplication/IChatApplicationService.cs
+++ b/src/Contracts/FastWiki.Service.Contracts/ChatApplication/IChatApplicationService.cs
@@ -160,4 +160,10 @@ public interface IChatApplicationService
///
///
Task> GetSessionLogDialogAsync(string chatApplicationId, int page, int pageSize);
+
+ ///
+ /// 修改对话记录内容
+ ///
+ ///
+ Task PutChatHistoryAsync(PutChatHistoryInput input);
}
\ No newline at end of file
diff --git a/src/Service/FastWiki.Service/Application/ChatApplications/ChatApplicationCommandHandler.cs b/src/Service/FastWiki.Service/Application/ChatApplications/ChatApplicationCommandHandler.cs
index ffac551..6510a41 100644
--- a/src/Service/FastWiki.Service/Application/ChatApplications/ChatApplicationCommandHandler.cs
+++ b/src/Service/FastWiki.Service/Application/ChatApplications/ChatApplicationCommandHandler.cs
@@ -92,7 +92,7 @@ public class ChatApplicationCommandHandler(
[EventHandler]
public async Task RemoveShareDialogAsync(RemoveShareDialogCommand command)
{
- await chatApplicationRepository.RemoveShareDialogAsync(command.ChatId,command.Id);
+ await chatApplicationRepository.RemoveShareDialogAsync(command.ChatId, command.Id);
}
[EventHandler]
@@ -100,4 +100,11 @@ public class ChatApplicationCommandHandler(
{
await chatApplicationRepository.UpdateShareDialogAsync(mapper.Map(command.Input));
}
+
+ [EventHandler]
+ public async Task UpdateChatShareAsync(PutChatHistoryCommand command)
+ {
+ await chatApplicationRepository.PutChatHistoryAsync(command.Input.Id, command.Input.Content,
+ command.Input.ChatShareId);
+ }
}
\ No newline at end of file
diff --git a/src/Service/FastWiki.Service/Application/ChatApplications/Commands/PutChatHistoryCommand.cs b/src/Service/FastWiki.Service/Application/ChatApplications/Commands/PutChatHistoryCommand.cs
new file mode 100644
index 0000000..4e22a85
--- /dev/null
+++ b/src/Service/FastWiki.Service/Application/ChatApplications/Commands/PutChatHistoryCommand.cs
@@ -0,0 +1,7 @@
+namespace FastWiki.Service.Application.ChatApplications.Commands;
+
+///
+/// ļ¼
+///
+///
+public record PutChatHistoryCommand(PutChatHistoryInput Input):Command;
\ No newline at end of file
diff --git a/src/Service/FastWiki.Service/DataAccess/Repositories/ChatApplications/ChatApplicationReoisutory.cs b/src/Service/FastWiki.Service/DataAccess/Repositories/ChatApplications/ChatApplicationReoisutory.cs
index ef01fdf..70352c5 100644
--- a/src/Service/FastWiki.Service/DataAccess/Repositories/ChatApplications/ChatApplicationReoisutory.cs
+++ b/src/Service/FastWiki.Service/DataAccess/Repositories/ChatApplications/ChatApplicationReoisutory.cs
@@ -31,6 +31,8 @@ public sealed class ChatApplicationReoisutory(WikiDbContext context, IUnitOfWork
{
await Context.ChatDialogs.Where(x => x.Id == id).ExecuteDeleteAsync();
await Context.ChatDialogHistorys.Where(x => x.ChatDialogId == id).ExecuteDeleteAsync();
+
+ await Context.SaveChangesAsync();
}
public async Task> GetChatDialogListAsync(string applicationId, bool all)
@@ -169,6 +171,29 @@ public sealed class ChatApplicationReoisutory(WikiDbContext context, IUnitOfWork
return await query.LongCountAsync();
}
+ public async Task PutChatHistoryAsync(string id, string content, string? chatShareId)
+ {
+ if (chatShareId.IsNullOrEmpty())
+ {
+ await Context.ChatDialogHistorys.Where(x => x.Id == id)
+ .ExecuteUpdateAsync(x =>
+ x.SetProperty(b => b.Content, content));
+ }
+ else
+ {
+ var result = await Context.ChatShares.FirstOrDefaultAsync(x => x.Id == chatShareId);
+
+ if (result == null)
+ {
+ throw new UserFriendlyException("Ի");
+ }
+
+ await Context.ChatDialogHistorys.Where(x => x.Id == id)
+ .ExecuteUpdateAsync(x =>
+ x.SetProperty(b => b.Content, content));
+ }
+ }
+
private IQueryable CreateChatShareQueryable(Guid userId, string chatApplicationId)
{
return Context.ChatShares.AsNoTracking()
diff --git a/src/Service/FastWiki.Service/Domain/ChatApplications/Repositories/IChatApplicationRepository.cs b/src/Service/FastWiki.Service/Domain/ChatApplications/Repositories/IChatApplicationRepository.cs
index 6b05d70..5e7b993 100644
--- a/src/Service/FastWiki.Service/Domain/ChatApplications/Repositories/IChatApplicationRepository.cs
+++ b/src/Service/FastWiki.Service/Domain/ChatApplications/Repositories/IChatApplicationRepository.cs
@@ -147,4 +147,13 @@ public interface IChatApplicationRepository : IRepository
///
Task GetSessionLogDialogCountAsync(string chatApplicationId);
+
+ ///
+ /// 修改对话记录内容
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task PutChatHistoryAsync(string id,string content,string? chatShareId);
}
\ No newline at end of file
diff --git a/src/Service/FastWiki.Service/Service/ChatApplicationService.cs b/src/Service/FastWiki.Service/Service/ChatApplicationService.cs
index 08b2ced..85822e9 100644
--- a/src/Service/FastWiki.Service/Service/ChatApplicationService.cs
+++ b/src/Service/FastWiki.Service/Service/ChatApplicationService.cs
@@ -1,4 +1,3 @@
-using DocumentFormat.OpenXml.Office2010.ExcelAc;
using FastWiki.Service.Application.Storage.Queries;
using FastWiki.Service.Domain.Storage.Aggregates;
using FastWiki.Service.Infrastructure.Helper;
@@ -457,4 +456,11 @@ public sealed class ChatApplicationService(WikiMemoryService wikiMemoryService,
return query.Result;
}
+
+ public Task PutChatHistoryAsync(PutChatHistoryInput input)
+ {
+ var command = new PutChatHistoryCommand(input);
+
+ return EventBus.PublishAsync(command);
+ }
}
diff --git a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
index 7ee550b..a6a095c 100644
--- a/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
+++ b/web/src/pages/app-detail/feautres/ReleaseApplication.tsx
@@ -1,7 +1,7 @@
import { memo, useEffect, useState } from "react";
import { ChatShareDto } from "../../../models";
import type { TableProps } from 'antd';
-import { Button, Table } from 'antd';
+import { Button, Table ,message } from 'antd';
import styled from 'styled-components';
import CreateApplication from "./CreateApplication";
import { GetChatShareList } from "../../../services/ChatApplicationService";
@@ -51,6 +51,7 @@ export default memo((props: IReleaseApplicationProps) => {
render: (_, item) => (
{
copyToClipboard(location.origin + "/share-chat?id=" + item.id)
+ message.success('复制成功');
}}>分享
),
},
diff --git a/web/src/pages/chat/(desktop)/index.tsx b/web/src/pages/chat/(desktop)/index.tsx
index 46eec8d..b46b9fe 100644
--- a/web/src/pages/chat/(desktop)/index.tsx
+++ b/web/src/pages/chat/(desktop)/index.tsx
@@ -1,11 +1,12 @@
-import { ChatList, DraggablePanel, } from "@lobehub/ui";
+import { ChatList, DraggablePanel, Tooltip, } from "@lobehub/ui";
import { Select } from 'antd';
import { useEffect, useState } from "react";
-import { CreateChatDialog, CreateChatDialogHistory, GetChatApplicationsList, GetChatDialog, GetChatDialogHistory } from "../../../services/ChatApplicationService";
+import { CreateChatDialog, CreateChatDialogHistory, DeleteDialog, DeleteDialogHistory, GetChatApplicationsList, GetChatDialog, GetChatDialogHistory, PutChatHistory } from "../../../services/ChatApplicationService";
import Divider from "@lobehub/ui/es/Form/components/FormDivider";
import { Button, message } from 'antd'
import { useNavigate } from "react-router-dom";
import styled from "styled-components";
+import { DeleteOutlined } from '@ant-design/icons';
import {
ActionIcon,
ChatInputActionBar,
@@ -25,6 +26,8 @@ import CreateDialog from "../feautres/CreateDialog";
const DialogList = styled.div`
margin-top: 8px;
padding: 8px;
+ overflow: auto;
+ height: calc(100vh - 110px);
`;
const DialogItem = styled.div`
@@ -53,6 +56,7 @@ export default function DesktopLayout() {
const [dialog, setDialog] = useState({} as any);
const [history, setHistory] = useState([] as any[]);
const [value, setValue] = useState('' as string);
+ const [loading, setLoading] = useState(false);
const [input] = useState({
page: 1,
pageSize: 5
@@ -116,6 +120,14 @@ export default function DesktopLayout() {
});
setHistory(history);
+
+ // 等待1秒后滚动到底部
+ setTimeout(() => {
+ const chatlayout = document.getElementById('chat-layout');
+ if (chatlayout) {
+ chatlayout.scrollTop = chatlayout.scrollHeight;
+ }
+ }, 1000);
} catch (error) {
}
@@ -157,7 +169,14 @@ export default function DesktopLayout() {
async function sendChat() {
const v = value;
+ if(loading){
+ return
+ }
+
+ setLoading(true);
setValue('');
+
+ const chatlayout = document.getElementById('chat-layout');
history.push({
content: v,
@@ -173,11 +192,6 @@ export default function DesktopLayout() {
setHistory([...history]);
- const stream = await fetchRaw('/api/v1/ChatApplications/Completions', {
- chatDialogId: dialog.id,
- content: v,
- chatId: application.id
- });
let chat = {
content: '',
@@ -193,6 +207,18 @@ export default function DesktopLayout() {
setHistory([...history, chat]);
+ // 滚动到底部
+ if (chatlayout) {
+ chatlayout.scrollTop = chatlayout.scrollHeight;
+ }
+
+ const stream = await fetchRaw('/api/v1/ChatApplications/Completions', {
+ chatDialogId: dialog.id,
+ content: v,
+ chatId: application.id
+ });
+
+
for await (const c of stream) {
if (c) {
let content = c;
@@ -214,7 +240,6 @@ export default function DesktopLayout() {
}
content = "[" + content + "]";
- console.log(content);
var obj = JSON.parse(content) as any[];
@@ -223,6 +248,11 @@ export default function DesktopLayout() {
});
setHistory([...history, chat]);
+
+ // 滚动到底部
+ if (chatlayout) {
+ chatlayout.scrollTop = chatlayout.scrollHeight;
+ }
}
}
@@ -240,8 +270,31 @@ export default function DesktopLayout() {
current: false,
type: 0
})
+
+
+ setLoading(false);
}
+ function deleteDialog(id: string) {
+ DeleteDialog(id)
+ .then(() => {
+ loadingDialogs();
+ })
+ }
+
+ async function ActionsClick(e: any, item: any) {
+ if (e.key === 'del') {
+ await DeleteDialogHistory(item.id)
+ message.success('删除成功');
+
+ const index = history.findIndex((i) => i.id === item.id);
+ history.splice(index, 1);
+ setHistory([...history]);
+
+ } else if (e.key === 'regenerate') {
+ message.error('暂时并未支持重置!');
+ }
+ }
return <>
{
setDialog(item);
- }}>{item.name}
+ }}>
+
+ {item.name}
+
+ }
+ onClick={() => deleteDialog(item.id)}
+ />
+
})
}
setCreateDialogVisible(true)} style={{
@@ -311,11 +376,39 @@ export default function DesktopLayout() {