diff --git a/.env.template b/.env.template
index 0937fa9a6..33c0a8203 100644
--- a/.env.template
+++ b/.env.template
@@ -1,6 +1,6 @@
AXIOS_PROXY_HOST=127.0.0.1
AXIOS_PROXY_PORT=33210
-MONGODB_UR=
+MONGODB_URI=
MY_MAIL=
MAILE_CODE=
TOKEN_KEY=
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index bb50d5836..0f2b0d56e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,6 +34,6 @@ yarn-error.log*
# typescript
*.tsbuildinfo
next-env.d.ts
-public/trainData/
-.vscode/
+/public/trainData/
+/.vscode/
platform.json
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index d916a93e2..000000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "editor.formatOnType": true,
- "editor.formatOnSave": true ,
- "prettier.tabWidth": 2
-}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 8f9e8fecd..ee5e92d62 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -58,7 +58,7 @@ ENV PORT 3000
ENV MAX_USER ''
ENV AXIOS_PROXY_HOST ''
ENV AXIOS_PROXY_PORT ''
-ENV MONGODB_UR ''
+ENV MONGODB_URI ''
ENV MY_MAIL ''
ENV MAILE_CODE ''
ENV TOKEN_KEY ''
diff --git a/README.md b/README.md
index a8e8c227b..6a9f458f7 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
```
AXIOS_PROXY_HOST=axios代理地址,目前 openai 接口都需要走代理,本机的话就填 127.0.0.1
AXIOS_PROXY_PORT=代理端口
-MONGODB_UR=mongo数据库地址
+MONGODB_URI=mongo数据库地址
MY_MAIL=发送验证码邮箱
MAILE_CODE=邮箱秘钥
TOKEN_KEY=随便填一个,用于生成和校验token
@@ -15,22 +15,62 @@ TOKEN_KEY=随便填一个,用于生成和校验token
```bash
pnpm dev
```
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## 部署
+
```bash
# 本地 docker 打包
-docker build -t imageName .
-docker push imageName
-
-# 服务器拉取部署
-docker pull imageName
-docker stop doc-gpt || true
-docker rm doc-gpt || true
-# 运行时才把参数写入
-docker run -d --network=host --name doc-gpt -e AXIOS_PROXY_HOST= -e AXIOS_PROXY_PORT= -e MAILE_CODE= -e TOKEN_KEY= -e MONGODB_UR= imageName
+docker build -t imageName:tag .
+docker push imageName:tag
+```
+
+服务器请准备好 docker, mongo,nginx和代理。 镜像走本机的代理,所以用 host,port改成代理的端口,clash一般都是7890。
+
+```bash
+# 服务器拉取部署, imageName 替换成镜像名
+docker pull imageName:tag
+# 获取本地旧镜像ID
+OLD_IMAGE_ID=$(docker images imageName -f "dangling=true" -q)
+docker stop doc-gpt || true
+docker rm doc-gpt || true
+docker run -d --network=host --name doc-gpt \
+ -e MAX_USER=50 \
+ -e AXIOS_PROXY_HOST=127.0.0.1 \
+ -e AXIOS_PROXY_PORT=7890 \
+ -e MY_MAIL=your email\
+ -e MAILE_CODE=your email code \
+ -e TOKEN_KEY=任意一个内容 \
+ -e MONGODB_URI="mongodb://aha:ROOT_root123@127.0.0.0:27017/?authSource=admin&readPreference=primary&appname=MongoDB%20Compass&ssl=false" \
+ imageName:tag
+docker logs doc-gpt
+
+
+# 删除本地旧镜像
+if [ ! -z "$OLD_IMAGE_ID" ]; then
+ docker rmi $OLD_IMAGE_ID
+fi
+```
+
+### docker 安装
+```bash
+# 安装docker
+curl -sSL https://get.daocloud.io/docker | sh
+sudo systemctl start docker
+```
+
+### mongo 安装
+```bash
+docker pull mongo:6.0.4
+docker stop mongo
+docker rm mongo
+docker run -d --name mongo \
+ -e MONGO_INITDB_ROOT_USERNAME= \
+ -e MONGO_INITDB_ROOT_PASSWORD= \
+ -v /root/service/mongo:/data/db \
+ mongo:6.0.4
```
-Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
# 介绍页
@@ -70,4 +110,4 @@ Open [http://localhost:3000](http://localhost:3000) with your browser to see the
### 其他问题
还有其他问题,可以加我 wx,拉个交流群大家一起聊聊。
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/next.config.js b/next.config.js
index 04c3c8a67..e3e375924 100644
--- a/next.config.js
+++ b/next.config.js
@@ -6,7 +6,17 @@ const isDev = process.env.NODE_ENV === 'development';
const nextConfig = {
output: 'standalone',
reactStrictMode: false,
- compress: true
+ compress: true,
+ images: {
+ remotePatterns: [
+ {
+ protocol: 'https',
+ hostname: 'docgpt-1301319986.cos.ap-shanghai.myqcloud.com',
+ port: '',
+ pathname: '/**'
+ }
+ ]
+ }
};
module.exports = nextConfig;
diff --git a/package.json b/package.json
index bebac8c95..16b84e745 100644
--- a/package.json
+++ b/package.json
@@ -19,11 +19,10 @@
"@next/font": "13.1.6",
"@reduxjs/toolkit": "^1.9.3",
"@tanstack/react-query": "^4.24.10",
+ "@types/nprogress": "^0.2.0",
"axios": "^1.3.3",
"crypto": "^1.0.1",
"dayjs": "^1.11.7",
- "eslint": "8.34.0",
- "eslint-config-next": "13.1.6",
"formidable": "^2.1.1",
"framer-motion": "^9.0.6",
"hyperdown": "^2.4.29",
@@ -32,13 +31,16 @@
"mongoose": "^6.10.0",
"next": "13.1.6",
"nodemailer": "^6.9.1",
+ "nprogress": "^0.2.0",
"openai": "^3.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "^7.43.1",
"react-markdown": "^8.0.5",
"react-syntax-highlighter": "^15.5.0",
+ "rehype-katex": "^6.0.2",
"remark-gfm": "^3.0.1",
+ "remark-math": "^5.1.1",
"sass": "^1.58.3",
"sharp": "^0.31.3",
"tunnel": "^0.0.6",
@@ -56,6 +58,8 @@
"@types/react-syntax-highlighter": "^15.5.6",
"@types/tunnel": "^0.0.3",
"@types/uuid": "^9.0.1",
+ "eslint": "8.34.0",
+ "eslint-config-next": "13.1.6",
"husky": "^8.0.3",
"lint-staged": "^13.1.2",
"prettier": "^2.8.4"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index fe816d878..2e642514b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,6 +13,7 @@ specifiers:
'@types/jsonwebtoken': ^9.0.1
'@types/node': 18.14.0
'@types/nodemailer': ^6.4.7
+ '@types/nprogress': ^0.2.0
'@types/react': 18.0.28
'@types/react-dom': 18.0.11
'@types/react-syntax-highlighter': ^15.5.6
@@ -33,6 +34,7 @@ specifiers:
mongoose: ^6.10.0
next: 13.1.6
nodemailer: ^6.9.1
+ nprogress: ^0.2.0
openai: ^3.2.1
prettier: ^2.8.4
react: 18.2.0
@@ -40,7 +42,9 @@ specifiers:
react-hook-form: ^7.43.1
react-markdown: ^8.0.5
react-syntax-highlighter: ^15.5.0
+ rehype-katex: ^6.0.2
remark-gfm: ^3.0.1
+ remark-math: ^5.1.1
sass: ^1.58.3
sharp: ^0.31.3
tunnel: ^0.0.6
@@ -57,11 +61,10 @@ dependencies:
'@next/font': registry.npmmirror.com/@next/font/13.1.6
'@reduxjs/toolkit': registry.npmmirror.com/@reduxjs/toolkit/1.9.3_react@18.2.0
'@tanstack/react-query': registry.npmmirror.com/@tanstack/react-query/4.24.10_biqbaboplfbrettd7655fr4n2y
+ '@types/nprogress': registry.npmmirror.com/@types/nprogress/0.2.0
axios: registry.npmmirror.com/axios/1.3.3
crypto: registry.npmmirror.com/crypto/1.0.1
dayjs: registry.npmmirror.com/dayjs/1.11.7
- eslint: registry.npmmirror.com/eslint/8.34.0
- eslint-config-next: registry.npmmirror.com/eslint-config-next/13.1.6_7kw3g6rralp5ps6mg3uyzz6azm
formidable: registry.npmmirror.com/formidable/2.1.1
framer-motion: registry.npmmirror.com/framer-motion/9.0.6_biqbaboplfbrettd7655fr4n2y
hyperdown: registry.npmmirror.com/hyperdown/2.4.29
@@ -70,13 +73,16 @@ dependencies:
mongoose: registry.npmmirror.com/mongoose/6.10.0
next: registry.npmmirror.com/next/13.1.6_wiv434v7erz4aedd5whhdwmpv4
nodemailer: registry.npmmirror.com/nodemailer/6.9.1
+ nprogress: registry.npmmirror.com/nprogress/0.2.0
openai: registry.npmmirror.com/openai/3.2.1
react: registry.npmmirror.com/react/18.2.0
react-dom: registry.npmmirror.com/react-dom/18.2.0_react@18.2.0
react-hook-form: registry.npmmirror.com/react-hook-form/7.43.1_react@18.2.0
react-markdown: registry.npmmirror.com/react-markdown/8.0.5_pmekkgnqduwlme35zpnqhenc34
react-syntax-highlighter: registry.npmmirror.com/react-syntax-highlighter/15.5.0_react@18.2.0
+ rehype-katex: registry.npmmirror.com/rehype-katex/6.0.2
remark-gfm: registry.npmmirror.com/remark-gfm/3.0.1
+ remark-math: registry.npmmirror.com/remark-math/5.1.1
sass: registry.npmmirror.com/sass/1.58.3
sharp: registry.npmmirror.com/sharp/0.31.3
tunnel: registry.npmmirror.com/tunnel/0.0.6
@@ -94,6 +100,8 @@ devDependencies:
'@types/react-syntax-highlighter': registry.npmmirror.com/@types/react-syntax-highlighter/15.5.6
'@types/tunnel': registry.npmmirror.com/@types/tunnel/0.0.3
'@types/uuid': registry.npmmirror.com/@types/uuid/9.0.1
+ eslint: registry.npmmirror.com/eslint/8.34.0
+ eslint-config-next: registry.npmmirror.com/eslint-config-next/13.1.6_7kw3g6rralp5ps6mg3uyzz6azm
husky: registry.npmmirror.com/husky/8.0.3
lint-staged: registry.npmmirror.com/lint-staged/13.1.2
prettier: registry.npmmirror.com/prettier/2.8.4
@@ -1097,6 +1105,14 @@ packages:
regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11
dev: false
+ registry.npmmirror.com/@babel/runtime/7.21.0:
+ resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz}
+ name: '@babel/runtime'
+ version: 7.21.0
+ engines: {node: '>=6.9.0'}
+ dependencies:
+ regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11
+
registry.npmmirror.com/@babel/types/7.21.0:
resolution: {integrity: sha512-uR7NWq2VNFnDi7EYqiRz2Jv/VQIu38tu64Zy8TX2nQFQ6etJ9V/Rr2msW8BS132mum2rL645qpDrLtAJtVpuow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@babel/types/-/types-7.21.0.tgz}
name: '@babel/types'
@@ -2433,7 +2449,7 @@ packages:
version: 11.10.6
dependencies:
'@babel/helper-module-imports': registry.npmmirror.com/@babel/helper-module-imports/7.18.6
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
'@emotion/hash': registry.npmmirror.com/@emotion/hash/0.9.0
'@emotion/memoize': registry.npmmirror.com/@emotion/memoize/0.8.0
'@emotion/serialize': registry.npmmirror.com/@emotion/serialize/1.1.1
@@ -2606,7 +2622,7 @@ packages:
strip-json-comments: registry.npmmirror.com/strip-json-comments/3.1.1
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/@humanwhocodes/config-array/0.11.8:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz}
@@ -2619,20 +2635,20 @@ packages:
minimatch: registry.npmmirror.com/minimatch/3.1.2
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/@humanwhocodes/module-importer/1.0.1:
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz}
name: '@humanwhocodes/module-importer'
version: 1.0.1
engines: {node: '>=12.22'}
- dev: false
+ dev: true
registry.npmmirror.com/@humanwhocodes/object-schema/1.2.1:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz}
name: '@humanwhocodes/object-schema'
version: 1.2.1
- dev: false
+ dev: true
registry.npmmirror.com/@motionone/animation/10.15.1:
resolution: {integrity: sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@motionone/animation/-/animation-10.15.1.tgz}
@@ -2705,7 +2721,7 @@ packages:
version: 13.1.6
dependencies:
glob: registry.npmmirror.com/glob/7.1.7
- dev: false
+ dev: true
registry.npmmirror.com/@next/font/13.1.6:
resolution: {integrity: sha512-AITjmeb1RgX1HKMCiA39ztx2mxeAyxl4ljv2UoSBUGAbFFMg8MO7YAvjHCgFhD39hL7YTbFjol04e/BPBH5RzQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@next/font/-/font-13.1.6.tgz}
@@ -2868,14 +2884,14 @@ packages:
dependencies:
'@nodelib/fs.stat': registry.npmmirror.com/@nodelib/fs.stat/2.0.5
run-parallel: registry.npmmirror.com/run-parallel/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/@nodelib/fs.stat/2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz}
name: '@nodelib/fs.stat'
version: 2.0.5
engines: {node: '>= 8'}
- dev: false
+ dev: true
registry.npmmirror.com/@nodelib/fs.walk/1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
@@ -2885,7 +2901,7 @@ packages:
dependencies:
'@nodelib/fs.scandir': registry.npmmirror.com/@nodelib/fs.scandir/2.1.5
fastq: registry.npmmirror.com/fastq/1.15.0
- dev: false
+ dev: true
registry.npmmirror.com/@pkgr/utils/2.3.1:
resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@pkgr/utils/-/utils-2.3.1.tgz}
@@ -2899,7 +2915,7 @@ packages:
picocolors: registry.npmmirror.com/picocolors/1.0.0
tiny-glob: registry.npmmirror.com/tiny-glob/0.2.9
tslib: registry.npmmirror.com/tslib/2.5.0
- dev: false
+ dev: true
registry.npmmirror.com/@popperjs/core/2.11.6:
resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@popperjs/core/-/core-2.11.6.tgz}
@@ -2932,7 +2948,7 @@ packages:
resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz}
name: '@rushstack/eslint-patch'
version: 1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/@swc/helpers/0.4.14:
resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@swc/helpers/-/helpers-0.4.14.tgz}
@@ -2997,7 +3013,7 @@ packages:
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz}
name: '@types/json5'
version: 0.0.29
- dev: false
+ dev: true
registry.npmmirror.com/@types/jsonwebtoken/9.0.1:
resolution: {integrity: sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz}
@@ -3007,6 +3023,12 @@ packages:
'@types/node': registry.npmmirror.com/@types/node/18.14.0
dev: true
+ registry.npmmirror.com/@types/katex/0.11.1:
+ resolution: {integrity: sha512-DUlIj2nk0YnJdlWgsFuVKcX27MLW0KbKmGVoUHmFr+74FYYNUDAaj9ZqTADvsbE8rfxuVmSFc7KczYn5Y09ozg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/katex/-/katex-0.11.1.tgz}
+ name: '@types/katex'
+ version: 0.11.1
+ dev: false
+
registry.npmmirror.com/@types/lodash.mergewith/4.6.7:
resolution: {integrity: sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz}
name: '@types/lodash.mergewith'
@@ -3048,6 +3070,12 @@ packages:
'@types/node': registry.npmmirror.com/@types/node/18.14.0
dev: true
+ registry.npmmirror.com/@types/nprogress/0.2.0:
+ resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/nprogress/-/nprogress-0.2.0.tgz}
+ name: '@types/nprogress'
+ version: 0.2.0
+ dev: false
+
registry.npmmirror.com/@types/parse-json/4.0.0:
resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz}
name: '@types/parse-json'
@@ -3145,7 +3173,7 @@ packages:
typescript: registry.npmmirror.com/typescript/4.9.5
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/@typescript-eslint/scope-manager/5.52.0:
resolution: {integrity: sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz}
@@ -3155,14 +3183,14 @@ packages:
dependencies:
'@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.52.0
'@typescript-eslint/visitor-keys': registry.npmmirror.com/@typescript-eslint/visitor-keys/5.52.0
- dev: false
+ dev: true
registry.npmmirror.com/@typescript-eslint/types/5.52.0:
resolution: {integrity: sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.52.0.tgz}
name: '@typescript-eslint/types'
version: 5.52.0
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: false
+ dev: true
registry.npmmirror.com/@typescript-eslint/typescript-estree/5.52.0_typescript@4.9.5:
resolution: {integrity: sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz}
@@ -3186,7 +3214,7 @@ packages:
typescript: registry.npmmirror.com/typescript/4.9.5
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/@typescript-eslint/visitor-keys/5.52.0:
resolution: {integrity: sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz}
@@ -3196,7 +3224,7 @@ packages:
dependencies:
'@typescript-eslint/types': registry.npmmirror.com/@typescript-eslint/types/5.52.0
eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0
- dev: false
+ dev: true
registry.npmmirror.com/@zag-js/element-size/0.3.1:
resolution: {integrity: sha512-jR5j4G//bRzcxwAACWi9EfITnwjNmn10LxF4NmALrdZU7/PNWP3uUCdhCxd/0SCyeiJXUl0yvD57rWAbKPs1nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@zag-js/element-size/-/element-size-0.3.1.tgz}
@@ -3219,7 +3247,7 @@ packages:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
acorn: registry.npmmirror.com/acorn/8.8.2
- dev: false
+ dev: true
registry.npmmirror.com/acorn/8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/acorn/-/acorn-8.8.2.tgz}
@@ -3227,7 +3255,7 @@ packages:
version: 8.8.2
engines: {node: '>=0.4.0'}
hasBin: true
- dev: false
+ dev: true
registry.npmmirror.com/aggregate-error/3.1.0:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz}
@@ -3248,7 +3276,7 @@ packages:
fast-json-stable-stringify: registry.npmmirror.com/fast-json-stable-stringify/2.1.0
json-schema-traverse: registry.npmmirror.com/json-schema-traverse/0.4.1
uri-js: registry.npmmirror.com/uri-js/4.4.1
- dev: false
+ dev: true
registry.npmmirror.com/ansi-escapes/4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz}
@@ -3264,6 +3292,7 @@ packages:
name: ansi-regex
version: 5.0.1
engines: {node: '>=8'}
+ dev: true
registry.npmmirror.com/ansi-regex/6.0.1:
resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.0.1.tgz}
@@ -3288,6 +3317,7 @@ packages:
engines: {node: '>=8'}
dependencies:
color-convert: registry.npmmirror.com/color-convert/2.0.1
+ dev: true
registry.npmmirror.com/ansi-styles/6.2.1:
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz}
@@ -3310,7 +3340,7 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz}
name: argparse
version: 2.0.1
- dev: false
+ dev: true
registry.npmmirror.com/aria-hidden/1.2.2_pmekkgnqduwlme35zpnqhenc34:
resolution: {integrity: sha512-6y/ogyDTk/7YAe91T3E2PR1ALVKyM2QbTio5HwM+N1Q6CMlCKhvClyIjkckBswa0f2xJhjsfzIGa1yVSe1UMVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/aria-hidden/-/aria-hidden-1.2.2.tgz}
@@ -3336,7 +3366,7 @@ packages:
version: 5.1.3
dependencies:
deep-equal: registry.npmmirror.com/deep-equal/2.2.0
- dev: false
+ dev: true
registry.npmmirror.com/array-includes/3.1.6:
resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array-includes/-/array-includes-3.1.6.tgz}
@@ -3349,14 +3379,14 @@ packages:
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
is-string: registry.npmmirror.com/is-string/1.0.7
- dev: false
+ dev: true
registry.npmmirror.com/array-union/2.1.0:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz}
name: array-union
version: 2.1.0
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/array.prototype.flat/1.3.1:
resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz}
@@ -3368,7 +3398,7 @@ packages:
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
es-shim-unscopables: registry.npmmirror.com/es-shim-unscopables/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/array.prototype.flatmap/1.3.1:
resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz}
@@ -3380,7 +3410,7 @@ packages:
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
es-shim-unscopables: registry.npmmirror.com/es-shim-unscopables/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/array.prototype.tosorted/1.1.1:
resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz}
@@ -3392,7 +3422,7 @@ packages:
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
es-shim-unscopables: registry.npmmirror.com/es-shim-unscopables/1.0.0
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/asap/2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz}
@@ -3404,7 +3434,7 @@ packages:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz}
name: ast-types-flow
version: 0.0.7
- dev: false
+ dev: true
registry.npmmirror.com/astral-regex/2.0.0:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz}
@@ -3424,14 +3454,14 @@ packages:
name: available-typed-arrays
version: 1.0.5
engines: {node: '>= 0.4'}
- dev: false
+ dev: true
registry.npmmirror.com/axe-core/4.6.3:
resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axe-core/-/axe-core-4.6.3.tgz}
name: axe-core
version: 4.6.3
engines: {node: '>=4'}
- dev: false
+ dev: true
registry.npmmirror.com/axios/0.26.1:
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz}
@@ -3461,7 +3491,7 @@ packages:
version: 3.1.1
dependencies:
deep-equal: registry.npmmirror.com/deep-equal/2.2.0
- dev: false
+ dev: true
registry.npmmirror.com/babel-plugin-macros/3.1.0:
resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz}
@@ -3469,7 +3499,7 @@ packages:
version: 3.1.0
engines: {node: '>=10', npm: '>=6'}
dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
cosmiconfig: registry.npmmirror.com/cosmiconfig/7.1.0
resolve: registry.npmmirror.com/resolve/1.22.1
dev: false
@@ -3484,7 +3514,7 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz}
name: balanced-match
version: 1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/base64-js/1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz}
@@ -3523,7 +3553,7 @@ packages:
dependencies:
balanced-match: registry.npmmirror.com/balanced-match/1.0.2
concat-map: registry.npmmirror.com/concat-map/0.0.1
- dev: false
+ dev: true
registry.npmmirror.com/braces/3.0.2:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz}
@@ -3564,14 +3594,12 @@ packages:
dependencies:
function-bind: registry.npmmirror.com/function-bind/1.1.1
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
registry.npmmirror.com/callsites/3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz}
name: callsites
version: 3.1.0
engines: {node: '>=6'}
- dev: false
registry.npmmirror.com/caniuse-lite/1.0.30001456:
resolution: {integrity: sha512-XFHJY5dUgmpMV25UqaD4kVq2LsiaU5rS8fb0f17pCoXQiQslzmFgnfOxfvo1bTpTqf7dwG/N/05CnLCnOEKmzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001456.tgz}
@@ -3604,7 +3632,7 @@ packages:
dependencies:
ansi-styles: registry.npmmirror.com/ansi-styles/4.3.0
supports-color: registry.npmmirror.com/supports-color/7.2.0
- dev: false
+ dev: true
registry.npmmirror.com/character-entities-legacy/1.1.4:
resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz}
@@ -3774,6 +3802,13 @@ packages:
version: 2.0.3
dev: false
+ registry.npmmirror.com/commander/8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz}
+ name: commander
+ version: 8.3.0
+ engines: {node: '>= 12'}
+ dev: false
+
registry.npmmirror.com/commander/9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-9.5.0.tgz}
name: commander
@@ -3791,7 +3826,7 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz}
name: concat-map
version: 0.0.1
- dev: false
+ dev: true
registry.npmmirror.com/convert-source-map/1.9.0:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz}
@@ -3829,6 +3864,7 @@ packages:
path-key: registry.npmmirror.com/path-key/3.1.1
shebang-command: registry.npmmirror.com/shebang-command/2.0.0
which: registry.npmmirror.com/which/2.0.2
+ dev: true
registry.npmmirror.com/crypto/1.0.1:
resolution: {integrity: sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/crypto/-/crypto-1.0.1.tgz}
@@ -3854,7 +3890,7 @@ packages:
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz}
name: damerau-levenshtein
version: 1.0.8
- dev: false
+ dev: true
registry.npmmirror.com/dayjs/1.11.7:
resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz}
@@ -3873,7 +3909,7 @@ packages:
optional: true
dependencies:
ms: registry.npmmirror.com/ms/2.1.3
- dev: false
+ dev: true
registry.npmmirror.com/debug/4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz}
@@ -3927,7 +3963,7 @@ packages:
which-boxed-primitive: registry.npmmirror.com/which-boxed-primitive/1.0.2
which-collection: registry.npmmirror.com/which-collection/1.0.1
which-typed-array: registry.npmmirror.com/which-typed-array/1.1.9
- dev: false
+ dev: true
registry.npmmirror.com/deep-extend/0.6.0:
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz}
@@ -3940,14 +3976,14 @@ packages:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz}
name: deep-is
version: 0.1.4
- dev: false
+ dev: true
registry.npmmirror.com/define-lazy-prop/2.0.0:
resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz}
name: define-lazy-prop
version: 2.0.0
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/define-properties/1.2.0:
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz}
@@ -3957,7 +3993,7 @@ packages:
dependencies:
has-property-descriptors: registry.npmmirror.com/has-property-descriptors/1.0.0
object-keys: registry.npmmirror.com/object-keys/1.1.1
- dev: false
+ dev: true
registry.npmmirror.com/delayed-stream/1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz}
@@ -4009,7 +4045,7 @@ packages:
engines: {node: '>=8'}
dependencies:
path-type: registry.npmmirror.com/path-type/4.0.0
- dev: false
+ dev: true
registry.npmmirror.com/doctrine/2.1.0:
resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz}
@@ -4018,7 +4054,7 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
esutils: registry.npmmirror.com/esutils/2.0.3
- dev: false
+ dev: true
registry.npmmirror.com/doctrine/3.0.0:
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz}
@@ -4027,7 +4063,7 @@ packages:
engines: {node: '>=6.0.0'}
dependencies:
esutils: registry.npmmirror.com/esutils/2.0.3
- dev: false
+ dev: true
registry.npmmirror.com/eastasianwidth/0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz}
@@ -4053,6 +4089,7 @@ packages:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz}
name: emoji-regex
version: 9.2.2
+ dev: true
registry.npmmirror.com/end-of-stream/1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz}
@@ -4070,7 +4107,7 @@ packages:
dependencies:
graceful-fs: registry.npmmirror.com/graceful-fs/4.2.10
tapable: registry.npmmirror.com/tapable/2.2.1
- dev: false
+ dev: true
registry.npmmirror.com/error-ex/1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz}
@@ -4119,7 +4156,7 @@ packages:
typed-array-length: registry.npmmirror.com/typed-array-length/1.0.4
unbox-primitive: registry.npmmirror.com/unbox-primitive/1.0.2
which-typed-array: registry.npmmirror.com/which-typed-array/1.1.9
- dev: false
+ dev: true
registry.npmmirror.com/es-get-iterator/1.1.3:
resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz}
@@ -4135,7 +4172,7 @@ packages:
is-string: registry.npmmirror.com/is-string/1.0.7
isarray: registry.npmmirror.com/isarray/2.0.5
stop-iteration-iterator: registry.npmmirror.com/stop-iteration-iterator/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/es-set-tostringtag/2.0.1:
resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz}
@@ -4146,7 +4183,7 @@ packages:
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
has: registry.npmmirror.com/has/1.0.3
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/es-shim-unscopables/1.0.0:
resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz}
@@ -4154,7 +4191,7 @@ packages:
version: 1.0.0
dependencies:
has: registry.npmmirror.com/has/1.0.3
- dev: false
+ dev: true
registry.npmmirror.com/es-to-primitive/1.2.1:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz}
@@ -4165,7 +4202,7 @@ packages:
is-callable: registry.npmmirror.com/is-callable/1.2.7
is-date-object: registry.npmmirror.com/is-date-object/1.0.5
is-symbol: registry.npmmirror.com/is-symbol/1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/escape-string-regexp/1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
@@ -4179,7 +4216,6 @@ packages:
name: escape-string-regexp
version: 4.0.0
engines: {node: '>=10'}
- dev: false
registry.npmmirror.com/escape-string-regexp/5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz}
@@ -4214,7 +4250,7 @@ packages:
transitivePeerDependencies:
- eslint-import-resolver-webpack
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/eslint-import-resolver-node/0.3.7:
resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz}
@@ -4226,7 +4262,7 @@ packages:
resolve: registry.npmmirror.com/resolve/1.22.1
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/eslint-import-resolver-typescript/3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm:
resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.3.tgz}
@@ -4249,7 +4285,7 @@ packages:
synckit: registry.npmmirror.com/synckit/0.8.5
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/eslint-module-utils/2.7.4_cvrl34cvgpgac5pvqi7ag6zw7e:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz}
@@ -4282,7 +4318,7 @@ packages:
eslint-import-resolver-typescript: registry.npmmirror.com/eslint-import-resolver-typescript/3.5.3_mvgyw3chnqkp6sgfmmtihyjpnm
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/eslint-plugin-import/2.27.5_gndiqgw2wrzfeqy4ccfxbmtnsi:
resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz}
@@ -4318,7 +4354,7 @@ packages:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/eslint-plugin-jsx-a11y/6.7.1_eslint@8.34.0:
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz}
@@ -4329,7 +4365,7 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
aria-query: registry.npmmirror.com/aria-query/5.1.3
array-includes: registry.npmmirror.com/array-includes/3.1.6
array.prototype.flatmap: registry.npmmirror.com/array.prototype.flatmap/1.3.1
@@ -4346,7 +4382,7 @@ packages:
object.entries: registry.npmmirror.com/object.entries/1.1.6
object.fromentries: registry.npmmirror.com/object.fromentries/2.0.6
semver: registry.npmmirror.com/semver/6.3.0
- dev: false
+ dev: true
registry.npmmirror.com/eslint-plugin-react-hooks/4.6.0_eslint@8.34.0:
resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz}
@@ -4358,7 +4394,7 @@ packages:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies:
eslint: registry.npmmirror.com/eslint/8.34.0
- dev: false
+ dev: true
registry.npmmirror.com/eslint-plugin-react/7.32.2_eslint@8.34.0:
resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz}
@@ -4385,7 +4421,7 @@ packages:
resolve: registry.npmmirror.com/resolve/2.0.0-next.4
semver: registry.npmmirror.com/semver/6.3.0
string.prototype.matchall: registry.npmmirror.com/string.prototype.matchall/4.0.8
- dev: false
+ dev: true
registry.npmmirror.com/eslint-scope/7.1.1:
resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz}
@@ -4395,7 +4431,7 @@ packages:
dependencies:
esrecurse: registry.npmmirror.com/esrecurse/4.3.0
estraverse: registry.npmmirror.com/estraverse/5.3.0
- dev: false
+ dev: true
registry.npmmirror.com/eslint-utils/3.0.0_eslint@8.34.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz}
@@ -4408,21 +4444,21 @@ packages:
dependencies:
eslint: registry.npmmirror.com/eslint/8.34.0
eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/2.1.0
- dev: false
+ dev: true
registry.npmmirror.com/eslint-visitor-keys/2.1.0:
resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz}
name: eslint-visitor-keys
version: 2.1.0
engines: {node: '>=10'}
- dev: false
+ dev: true
registry.npmmirror.com/eslint-visitor-keys/3.3.0:
resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz}
name: eslint-visitor-keys
version: 3.3.0
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: false
+ dev: true
registry.npmmirror.com/eslint/8.34.0:
resolution: {integrity: sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/eslint/-/eslint-8.34.0.tgz}
@@ -4472,7 +4508,7 @@ packages:
text-table: registry.npmmirror.com/text-table/0.2.0
transitivePeerDependencies:
- supports-color
- dev: false
+ dev: true
registry.npmmirror.com/espree/9.4.1:
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz}
@@ -4483,7 +4519,7 @@ packages:
acorn: registry.npmmirror.com/acorn/8.8.2
acorn-jsx: registry.npmmirror.com/acorn-jsx/5.3.2_acorn@8.8.2
eslint-visitor-keys: registry.npmmirror.com/eslint-visitor-keys/3.3.0
- dev: false
+ dev: true
registry.npmmirror.com/esquery/1.4.2:
resolution: {integrity: sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esquery/-/esquery-1.4.2.tgz}
@@ -4492,7 +4528,7 @@ packages:
engines: {node: '>=0.10'}
dependencies:
estraverse: registry.npmmirror.com/estraverse/5.3.0
- dev: false
+ dev: true
registry.npmmirror.com/esrecurse/4.3.0:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz}
@@ -4501,21 +4537,21 @@ packages:
engines: {node: '>=4.0'}
dependencies:
estraverse: registry.npmmirror.com/estraverse/5.3.0
- dev: false
+ dev: true
registry.npmmirror.com/estraverse/5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz}
name: estraverse
version: 5.3.0
engines: {node: '>=4.0'}
- dev: false
+ dev: true
registry.npmmirror.com/esutils/2.0.3:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz}
name: esutils
version: 2.0.3
engines: {node: '>=0.10.0'}
- dev: false
+ dev: true
registry.npmmirror.com/execa/6.1.0:
resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/execa/-/execa-6.1.0.tgz}
@@ -4551,7 +4587,7 @@ packages:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz}
name: fast-deep-equal
version: 3.1.3
- dev: false
+ dev: true
registry.npmmirror.com/fast-glob/3.2.12:
resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz}
@@ -4564,19 +4600,19 @@ packages:
glob-parent: registry.npmmirror.com/glob-parent/5.1.2
merge2: registry.npmmirror.com/merge2/1.4.1
micromatch: registry.npmmirror.com/micromatch/4.0.5
- dev: false
+ dev: true
registry.npmmirror.com/fast-json-stable-stringify/2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz}
name: fast-json-stable-stringify
version: 2.1.0
- dev: false
+ dev: true
registry.npmmirror.com/fast-levenshtein/2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz}
name: fast-levenshtein
version: 2.0.6
- dev: false
+ dev: true
registry.npmmirror.com/fast-xml-parser/4.1.2:
resolution: {integrity: sha512-CDYeykkle1LiA/uqQyNwYpFbyF6Axec6YapmpUP+/RHWIoR1zKjocdvNaTsxCxZzQ6v9MLXaSYm9Qq0thv0DHg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fast-xml-parser/-/fast-xml-parser-4.1.2.tgz}
@@ -4594,7 +4630,7 @@ packages:
version: 1.15.0
dependencies:
reusify: registry.npmmirror.com/reusify/1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/fault/1.0.4:
resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fault/-/fault-1.0.4.tgz}
@@ -4611,7 +4647,7 @@ packages:
engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
flat-cache: registry.npmmirror.com/flat-cache/3.0.4
- dev: false
+ dev: true
registry.npmmirror.com/fill-range/7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz}
@@ -4635,7 +4671,7 @@ packages:
dependencies:
locate-path: registry.npmmirror.com/locate-path/6.0.0
path-exists: registry.npmmirror.com/path-exists/4.0.0
- dev: false
+ dev: true
registry.npmmirror.com/flat-cache/3.0.4:
resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz}
@@ -4645,13 +4681,13 @@ packages:
dependencies:
flatted: registry.npmmirror.com/flatted/3.2.7
rimraf: registry.npmmirror.com/rimraf/3.0.2
- dev: false
+ dev: true
registry.npmmirror.com/flatted/3.2.7:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz}
name: flatted
version: 3.2.7
- dev: false
+ dev: true
registry.npmmirror.com/focus-lock/0.11.6:
resolution: {integrity: sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/focus-lock/-/focus-lock-0.11.6.tgz}
@@ -4680,7 +4716,7 @@ packages:
version: 0.3.3
dependencies:
is-callable: registry.npmmirror.com/is-callable/1.2.7
- dev: false
+ dev: true
registry.npmmirror.com/form-data/4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz}
@@ -4747,7 +4783,7 @@ packages:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz}
name: fs.realpath
version: 1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/fsevents/2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz}
@@ -4763,7 +4799,6 @@ packages:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz}
name: function-bind
version: 1.1.1
- dev: false
registry.npmmirror.com/function.prototype.name/1.1.5:
resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz}
@@ -4775,13 +4810,13 @@ packages:
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
functions-have-names: registry.npmmirror.com/functions-have-names/1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/functions-have-names/1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz}
name: functions-have-names
version: 1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/get-intrinsic/1.2.0:
resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz}
@@ -4791,7 +4826,6 @@ packages:
function-bind: registry.npmmirror.com/function-bind/1.1.1
has: registry.npmmirror.com/has/1.0.3
has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: false
registry.npmmirror.com/get-nonce/1.0.1:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-nonce/-/get-nonce-1.0.1.tgz}
@@ -4815,13 +4849,13 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/get-tsconfig/4.4.0:
resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/get-tsconfig/-/get-tsconfig-4.4.0.tgz}
name: get-tsconfig
version: 4.4.0
- dev: false
+ dev: true
registry.npmmirror.com/github-from-package/0.0.0:
resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/github-from-package/-/github-from-package-0.0.0.tgz}
@@ -4836,7 +4870,6 @@ packages:
engines: {node: '>= 6'}
dependencies:
is-glob: registry.npmmirror.com/is-glob/4.0.3
- dev: false
registry.npmmirror.com/glob-parent/6.0.2:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz}
@@ -4845,7 +4878,7 @@ packages:
engines: {node: '>=10.13.0'}
dependencies:
is-glob: registry.npmmirror.com/is-glob/4.0.3
- dev: false
+ dev: true
registry.npmmirror.com/glob/7.1.7:
resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz}
@@ -4858,7 +4891,7 @@ packages:
minimatch: registry.npmmirror.com/minimatch/3.1.2
once: registry.npmmirror.com/once/1.4.0
path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1
- dev: false
+ dev: true
registry.npmmirror.com/glob/7.2.3:
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz}
@@ -4871,7 +4904,7 @@ packages:
minimatch: registry.npmmirror.com/minimatch/3.1.2
once: registry.npmmirror.com/once/1.4.0
path-is-absolute: registry.npmmirror.com/path-is-absolute/1.0.1
- dev: false
+ dev: true
registry.npmmirror.com/globals/13.20.0:
resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz}
@@ -4880,7 +4913,7 @@ packages:
engines: {node: '>=8'}
dependencies:
type-fest: registry.npmmirror.com/type-fest/0.20.2
- dev: false
+ dev: true
registry.npmmirror.com/globalthis/1.0.3:
resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globalthis/-/globalthis-1.0.3.tgz}
@@ -4889,13 +4922,13 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
define-properties: registry.npmmirror.com/define-properties/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/globalyzer/0.1.0:
resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globalyzer/-/globalyzer-0.1.0.tgz}
name: globalyzer
version: 0.1.0
- dev: false
+ dev: true
registry.npmmirror.com/globby/11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz}
@@ -4909,7 +4942,7 @@ packages:
ignore: registry.npmmirror.com/ignore/5.2.4
merge2: registry.npmmirror.com/merge2/1.4.1
slash: registry.npmmirror.com/slash/3.0.0
- dev: false
+ dev: true
registry.npmmirror.com/globby/13.1.3:
resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globby/-/globby-13.1.3.tgz}
@@ -4922,13 +4955,13 @@ packages:
ignore: registry.npmmirror.com/ignore/5.2.4
merge2: registry.npmmirror.com/merge2/1.4.1
slash: registry.npmmirror.com/slash/4.0.0
- dev: false
+ dev: true
registry.npmmirror.com/globrex/0.1.2:
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/globrex/-/globrex-0.1.2.tgz}
name: globrex
version: 0.1.2
- dev: false
+ dev: true
registry.npmmirror.com/gopd/1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz}
@@ -4936,25 +4969,25 @@ packages:
version: 1.0.1
dependencies:
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/graceful-fs/4.2.10:
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz}
name: graceful-fs
version: 4.2.10
- dev: false
+ dev: true
registry.npmmirror.com/grapheme-splitter/1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz}
name: grapheme-splitter
version: 1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/has-bigints/1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz}
name: has-bigints
version: 1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/has-flag/3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz}
@@ -4968,7 +5001,7 @@ packages:
name: has-flag
version: 4.0.0
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/has-property-descriptors/1.0.0:
resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz}
@@ -4976,21 +5009,20 @@ packages:
version: 1.0.0
dependencies:
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/has-proto/1.0.1:
resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz}
name: has-proto
version: 1.0.1
engines: {node: '>= 0.4'}
- dev: false
+ dev: true
registry.npmmirror.com/has-symbols/1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz}
name: has-symbols
version: 1.0.3
engines: {node: '>= 0.4'}
- dev: false
registry.npmmirror.com/has-tostringtag/1.0.0:
resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz}
@@ -4999,7 +5031,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: false
+ dev: true
registry.npmmirror.com/has/1.0.3:
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/has/-/has-1.0.3.tgz}
@@ -5008,6 +5040,28 @@ packages:
engines: {node: '>= 0.4.0'}
dependencies:
function-bind: registry.npmmirror.com/function-bind/1.1.1
+
+ registry.npmmirror.com/hast-util-from-parse5/7.1.2:
+ resolution: {integrity: sha512-Nz7FfPBuljzsN3tCQ4kCBKqdNhQE2l0Tn+X1ubgKBPRoiDIu1mL08Cfw4k7q71+Duyaw7DXDN+VTAp4Vh3oCOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-from-parse5/-/hast-util-from-parse5-7.1.2.tgz}
+ name: hast-util-from-parse5
+ version: 7.1.2
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ hastscript: registry.npmmirror.com/hastscript/7.2.0
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ vfile: registry.npmmirror.com/vfile/5.3.7
+ vfile-location: registry.npmmirror.com/vfile-location/4.1.0
+ web-namespaces: registry.npmmirror.com/web-namespaces/2.0.1
+ dev: false
+
+ registry.npmmirror.com/hast-util-is-element/2.1.3:
+ resolution: {integrity: sha512-O1bKah6mhgEq2WtVMk+Ta5K7pPMqsBBlmzysLdcwKVrqzZQ0CHqUPiIVspNhAG1rvxpvJjtGee17XfauZYKqVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-is-element/-/hast-util-is-element-2.1.3.tgz}
+ name: hast-util-is-element
+ version: 2.1.3
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
dev: false
registry.npmmirror.com/hast-util-parse-selector/2.2.5:
@@ -5016,6 +5070,25 @@ packages:
version: 2.2.5
dev: false
+ registry.npmmirror.com/hast-util-parse-selector/3.1.1:
+ resolution: {integrity: sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz}
+ name: hast-util-parse-selector
+ version: 3.1.1
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ dev: false
+
+ registry.npmmirror.com/hast-util-to-text/3.1.2:
+ resolution: {integrity: sha512-tcllLfp23dJJ+ju5wCCZHVpzsQQ43+moJbqVX3jNWPB7z/KFC4FyZD6R7y94cHL6MQ33YtMZL8Z0aIXXI4XFTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-to-text/-/hast-util-to-text-3.1.2.tgz}
+ name: hast-util-to-text
+ version: 3.1.2
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ hast-util-is-element: registry.npmmirror.com/hast-util-is-element/2.1.3
+ unist-util-find-after: registry.npmmirror.com/unist-util-find-after/4.0.1
+ dev: false
+
registry.npmmirror.com/hast-util-whitespace/2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz}
name: hast-util-whitespace
@@ -5034,6 +5107,18 @@ packages:
space-separated-tokens: registry.npmmirror.com/space-separated-tokens/1.1.5
dev: false
+ registry.npmmirror.com/hastscript/7.2.0:
+ resolution: {integrity: sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hastscript/-/hastscript-7.2.0.tgz}
+ name: hastscript
+ version: 7.2.0
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ comma-separated-tokens: registry.npmmirror.com/comma-separated-tokens/2.0.3
+ hast-util-parse-selector: registry.npmmirror.com/hast-util-parse-selector/3.1.1
+ property-information: registry.npmmirror.com/property-information/6.2.0
+ space-separated-tokens: registry.npmmirror.com/space-separated-tokens/2.0.2
+ dev: false
+
registry.npmmirror.com/hexoid/1.0.0:
resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/hexoid/-/hexoid-1.0.0.tgz}
name: hexoid
@@ -5093,7 +5178,7 @@ packages:
name: ignore
version: 5.2.4
engines: {node: '>= 4'}
- dev: false
+ dev: true
registry.npmmirror.com/immer/9.0.19:
resolution: {integrity: sha512-eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/immer/-/immer-9.0.19.tgz}
@@ -5115,14 +5200,13 @@ packages:
dependencies:
parent-module: registry.npmmirror.com/parent-module/1.0.1
resolve-from: registry.npmmirror.com/resolve-from/4.0.0
- dev: false
registry.npmmirror.com/imurmurhash/0.1.4:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz}
name: imurmurhash
version: 0.1.4
engines: {node: '>=0.8.19'}
- dev: false
+ dev: true
registry.npmmirror.com/indent-string/4.0.0:
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz}
@@ -5138,13 +5222,12 @@ packages:
dependencies:
once: registry.npmmirror.com/once/1.4.0
wrappy: registry.npmmirror.com/wrappy/1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/inherits/2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz}
name: inherits
version: 2.0.4
- dev: false
registry.npmmirror.com/ini/1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz}
@@ -5167,7 +5250,7 @@ packages:
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
has: registry.npmmirror.com/has/1.0.3
side-channel: registry.npmmirror.com/side-channel/1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/invariant/2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz}
@@ -5206,7 +5289,7 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-array-buffer/3.0.1:
resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.1.tgz}
@@ -5216,7 +5299,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
is-typed-array: registry.npmmirror.com/is-typed-array/1.1.10
- dev: false
+ dev: true
registry.npmmirror.com/is-arrayish/0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz}
@@ -5236,7 +5319,7 @@ packages:
version: 1.0.4
dependencies:
has-bigints: registry.npmmirror.com/has-bigints/1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/is-binary-path/2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz}
@@ -5255,7 +5338,7 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-buffer/2.0.5:
resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-buffer/-/is-buffer-2.0.5.tgz}
@@ -5269,7 +5352,7 @@ packages:
name: is-callable
version: 1.2.7
engines: {node: '>= 0.4'}
- dev: false
+ dev: true
registry.npmmirror.com/is-core-module/2.11.0:
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz}
@@ -5277,7 +5360,6 @@ packages:
version: 2.11.0
dependencies:
has: registry.npmmirror.com/has/1.0.3
- dev: false
registry.npmmirror.com/is-date-object/1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz}
@@ -5286,7 +5368,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-decimal/1.0.4:
resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-decimal/-/is-decimal-1.0.4.tgz}
@@ -5300,14 +5382,13 @@ packages:
version: 2.2.1
engines: {node: '>=8'}
hasBin: true
- dev: false
+ dev: true
registry.npmmirror.com/is-extglob/2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz}
name: is-extglob
version: 2.1.1
engines: {node: '>=0.10.0'}
- dev: false
registry.npmmirror.com/is-fullwidth-code-point/3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz}
@@ -5330,7 +5411,6 @@ packages:
engines: {node: '>=0.10.0'}
dependencies:
is-extglob: registry.npmmirror.com/is-extglob/2.1.1
- dev: false
registry.npmmirror.com/is-hexadecimal/1.0.4:
resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz}
@@ -5342,14 +5422,14 @@ packages:
resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-map/-/is-map-2.0.2.tgz}
name: is-map
version: 2.0.2
- dev: false
+ dev: true
registry.npmmirror.com/is-negative-zero/2.0.2:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz}
name: is-negative-zero
version: 2.0.2
engines: {node: '>= 0.4'}
- dev: false
+ dev: true
registry.npmmirror.com/is-number-object/1.0.7:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz}
@@ -5358,7 +5438,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-number/7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz}
@@ -5371,7 +5451,7 @@ packages:
name: is-path-inside
version: 3.0.3
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/is-plain-obj/4.1.0:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz}
@@ -5388,13 +5468,13 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-set/2.0.2:
resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-set/-/is-set-2.0.2.tgz}
name: is-set
version: 2.0.2
- dev: false
+ dev: true
registry.npmmirror.com/is-shared-array-buffer/1.0.2:
resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz}
@@ -5402,7 +5482,7 @@ packages:
version: 1.0.2
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/is-stream/3.0.0:
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-stream/-/is-stream-3.0.0.tgz}
@@ -5418,7 +5498,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-symbol/1.0.4:
resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz}
@@ -5427,7 +5507,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
has-symbols: registry.npmmirror.com/has-symbols/1.0.3
- dev: false
+ dev: true
registry.npmmirror.com/is-typed-array/1.1.10:
resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.10.tgz}
@@ -5440,13 +5520,13 @@ packages:
for-each: registry.npmmirror.com/for-each/0.3.3
gopd: registry.npmmirror.com/gopd/1.0.1
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/is-weakmap/2.0.1:
resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.1.tgz}
name: is-weakmap
version: 2.0.1
- dev: false
+ dev: true
registry.npmmirror.com/is-weakref/1.0.2:
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz}
@@ -5454,7 +5534,7 @@ packages:
version: 1.0.2
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/is-weakset/2.0.2:
resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.2.tgz}
@@ -5463,7 +5543,7 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/is-wsl/2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz}
@@ -5472,30 +5552,30 @@ packages:
engines: {node: '>=8'}
dependencies:
is-docker: registry.npmmirror.com/is-docker/2.2.1
- dev: false
+ dev: true
registry.npmmirror.com/isarray/2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz}
name: isarray
version: 2.0.5
- dev: false
+ dev: true
registry.npmmirror.com/isexe/2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz}
name: isexe
version: 2.0.0
+ dev: true
registry.npmmirror.com/js-sdsl/4.3.0:
resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.3.0.tgz}
name: js-sdsl
version: 4.3.0
- dev: false
+ dev: true
registry.npmmirror.com/js-tokens/4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz}
name: js-tokens
version: 4.0.0
- dev: false
registry.npmmirror.com/js-yaml/4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz}
@@ -5504,7 +5584,7 @@ packages:
hasBin: true
dependencies:
argparse: registry.npmmirror.com/argparse/2.0.1
- dev: false
+ dev: true
registry.npmmirror.com/json-parse-even-better-errors/2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz}
@@ -5516,13 +5596,13 @@ packages:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz}
name: json-schema-traverse
version: 0.4.1
- dev: false
+ dev: true
registry.npmmirror.com/json-stable-stringify-without-jsonify/1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz}
name: json-stable-stringify-without-jsonify
version: 1.0.1
- dev: false
+ dev: true
registry.npmmirror.com/json5/1.0.2:
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz}
@@ -5531,7 +5611,7 @@ packages:
hasBin: true
dependencies:
minimist: registry.npmmirror.com/minimist/1.2.8
- dev: false
+ dev: true
registry.npmmirror.com/jsonwebtoken/9.0.0:
resolution: {integrity: sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz}
@@ -5553,7 +5633,7 @@ packages:
dependencies:
array-includes: registry.npmmirror.com/array-includes/3.1.6
object.assign: registry.npmmirror.com/object.assign/4.1.4
- dev: false
+ dev: true
registry.npmmirror.com/jwa/1.4.1:
resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz}
@@ -5581,6 +5661,24 @@ packages:
engines: {node: '>=12.0.0'}
dev: false
+ registry.npmmirror.com/katex/0.13.24:
+ resolution: {integrity: sha512-jZxYuKCma3VS5UuxOx/rFV1QyGSl3Uy/i0kTJF3HgQ5xMinCQVF8Zd4bMY/9aI9b9A2pjIBOsjSSm68ykTAr8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/katex/-/katex-0.13.24.tgz}
+ name: katex
+ version: 0.13.24
+ hasBin: true
+ dependencies:
+ commander: registry.npmmirror.com/commander/8.3.0
+ dev: false
+
+ registry.npmmirror.com/katex/0.15.6:
+ resolution: {integrity: sha512-UpzJy4yrnqnhXvRPhjEuLA4lcPn6eRngixW7Q3TJErjg3Aw2PuLFBzTkdUb89UtumxjhHTqL3a5GDGETMSwgJA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/katex/-/katex-0.15.6.tgz}
+ name: katex
+ version: 0.15.6
+ hasBin: true
+ dependencies:
+ commander: registry.npmmirror.com/commander/8.3.0
+ dev: false
+
registry.npmmirror.com/kleur/4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/kleur/-/kleur-4.1.5.tgz}
name: kleur
@@ -5592,7 +5690,7 @@ packages:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz}
name: language-subtag-registry
version: 0.3.22
- dev: false
+ dev: true
registry.npmmirror.com/language-tags/1.0.5:
resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/language-tags/-/language-tags-1.0.5.tgz}
@@ -5600,7 +5698,7 @@ packages:
version: 1.0.5
dependencies:
language-subtag-registry: registry.npmmirror.com/language-subtag-registry/0.3.22
- dev: false
+ dev: true
registry.npmmirror.com/levn/0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz}
@@ -5610,7 +5708,7 @@ packages:
dependencies:
prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1
type-check: registry.npmmirror.com/type-check/0.4.0
- dev: false
+ dev: true
registry.npmmirror.com/lilconfig/2.0.6:
resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz}
@@ -5678,13 +5776,13 @@ packages:
engines: {node: '>=10'}
dependencies:
p-locate: registry.npmmirror.com/p-locate/5.0.0
- dev: false
+ dev: true
registry.npmmirror.com/lodash.merge/4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz}
name: lodash.merge
version: 4.6.2
- dev: false
+ dev: true
registry.npmmirror.com/lodash.mergewith/4.6.2:
resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz}
@@ -5723,7 +5821,6 @@ packages:
hasBin: true
dependencies:
js-tokens: registry.npmmirror.com/js-tokens/4.0.0
- dev: false
registry.npmmirror.com/lowlight/1.20.0:
resolution: {integrity: sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lowlight/-/lowlight-1.20.0.tgz}
@@ -5741,7 +5838,6 @@ packages:
engines: {node: '>=10'}
dependencies:
yallist: registry.npmmirror.com/yallist/4.0.0
- dev: false
registry.npmmirror.com/markdown-table/3.0.3:
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/markdown-table/-/markdown-table-3.0.3.tgz}
@@ -5859,6 +5955,16 @@ packages:
- supports-color
dev: false
+ registry.npmmirror.com/mdast-util-math/2.0.2:
+ resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-math/-/mdast-util-math-2.0.2.tgz}
+ name: mdast-util-math
+ version: 2.0.2
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ longest-streak: registry.npmmirror.com/longest-streak/3.1.0
+ mdast-util-to-markdown: registry.npmmirror.com/mdast-util-to-markdown/1.5.0
+ dev: false
+
registry.npmmirror.com/mdast-util-phrasing/3.0.1:
resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz}
name: mdast-util-phrasing
@@ -5924,7 +6030,7 @@ packages:
name: merge2
version: 1.4.1
engines: {node: '>= 8'}
- dev: false
+ dev: true
registry.npmmirror.com/micromark-core-commonmark/1.0.6:
resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz}
@@ -6036,6 +6142,20 @@ packages:
micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
dev: false
+ registry.npmmirror.com/micromark-extension-math/2.0.2:
+ resolution: {integrity: sha512-cFv2B/E4pFPBBFuGgLHkkNiFAIQv08iDgPH2HCuR2z3AUgMLecES5Cq7AVtwOtZeRrbA80QgMUk8VVW0Z+D2FA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-extension-math/-/micromark-extension-math-2.0.2.tgz}
+ name: micromark-extension-math
+ version: 2.0.2
+ dependencies:
+ '@types/katex': registry.npmmirror.com/@types/katex/0.11.1
+ katex: registry.npmmirror.com/katex/0.13.24
+ micromark-factory-space: registry.npmmirror.com/micromark-factory-space/1.0.0
+ micromark-util-character: registry.npmmirror.com/micromark-util-character/1.1.0
+ micromark-util-symbol: registry.npmmirror.com/micromark-util-symbol/1.0.1
+ micromark-util-types: registry.npmmirror.com/micromark-util-types/1.0.2
+ uvu: registry.npmmirror.com/uvu/0.5.6
+ dev: false
+
registry.npmmirror.com/micromark-factory-destination/1.0.0:
resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz}
name: micromark-factory-destination
@@ -6239,6 +6359,7 @@ packages:
dependencies:
braces: registry.npmmirror.com/braces/3.0.2
picomatch: registry.npmmirror.com/picomatch/2.3.1
+ dev: true
registry.npmmirror.com/mime-db/1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz}
@@ -6283,13 +6404,12 @@ packages:
version: 3.1.2
dependencies:
brace-expansion: registry.npmmirror.com/brace-expansion/1.1.11
- dev: false
+ dev: true
registry.npmmirror.com/minimist/1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz}
name: minimist
version: 1.2.8
- dev: false
registry.npmmirror.com/mkdirp-classic/0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz}
@@ -6374,7 +6494,6 @@ packages:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz}
name: ms
version: 2.1.3
- dev: false
registry.npmmirror.com/nanoid/3.3.4:
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz}
@@ -6394,7 +6513,7 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz}
name: natural-compare
version: 1.4.0
- dev: false
+ dev: true
registry.npmmirror.com/next/13.1.6_wiv434v7erz4aedd5whhdwmpv4:
resolution: {integrity: sha512-hHlbhKPj9pW+Cymvfzc15lvhaOZ54l+8sXDXJWm3OBNBzgrVj6hwGPmqqsXg40xO1Leq+kXpllzRPuncpC0Phw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/next/-/next-13.1.6.tgz}
@@ -6481,12 +6600,17 @@ packages:
path-key: registry.npmmirror.com/path-key/4.0.0
dev: true
+ registry.npmmirror.com/nprogress/0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz}
+ name: nprogress
+ version: 0.2.0
+ dev: false
+
registry.npmmirror.com/object-assign/4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz}
name: object-assign
version: 4.1.1
engines: {node: '>=0.10.0'}
- dev: false
registry.npmmirror.com/object-inspect/1.12.3:
resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz}
@@ -6501,14 +6625,14 @@ packages:
dependencies:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
- dev: false
+ dev: true
registry.npmmirror.com/object-keys/1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz}
name: object-keys
version: 1.1.1
engines: {node: '>= 0.4'}
- dev: false
+ dev: true
registry.npmmirror.com/object.assign/4.1.4:
resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz}
@@ -6520,7 +6644,7 @@ packages:
define-properties: registry.npmmirror.com/define-properties/1.2.0
has-symbols: registry.npmmirror.com/has-symbols/1.0.3
object-keys: registry.npmmirror.com/object-keys/1.1.1
- dev: false
+ dev: true
registry.npmmirror.com/object.entries/1.1.6:
resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.entries/-/object.entries-1.1.6.tgz}
@@ -6531,7 +6655,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/object.fromentries/2.0.6:
resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.6.tgz}
@@ -6542,7 +6666,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/object.hasown/1.1.2:
resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.hasown/-/object.hasown-1.1.2.tgz}
@@ -6551,7 +6675,7 @@ packages:
dependencies:
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/object.values/1.1.6:
resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object.values/-/object.values-1.1.6.tgz}
@@ -6562,7 +6686,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/once/1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/once/-/once-1.4.0.tgz}
@@ -6570,7 +6694,6 @@ packages:
version: 1.4.0
dependencies:
wrappy: registry.npmmirror.com/wrappy/1.0.2
- dev: false
registry.npmmirror.com/onetime/5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz}
@@ -6599,7 +6722,7 @@ packages:
define-lazy-prop: registry.npmmirror.com/define-lazy-prop/2.0.0
is-docker: registry.npmmirror.com/is-docker/2.2.1
is-wsl: registry.npmmirror.com/is-wsl/2.2.0
- dev: false
+ dev: true
registry.npmmirror.com/openai/3.2.1:
resolution: {integrity: sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/openai/-/openai-3.2.1.tgz}
@@ -6624,7 +6747,7 @@ packages:
prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1
type-check: registry.npmmirror.com/type-check/0.4.0
word-wrap: registry.npmmirror.com/word-wrap/1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/p-limit/3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz}
@@ -6633,7 +6756,7 @@ packages:
engines: {node: '>=10'}
dependencies:
yocto-queue: registry.npmmirror.com/yocto-queue/0.1.0
- dev: false
+ dev: true
registry.npmmirror.com/p-locate/5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz}
@@ -6642,7 +6765,7 @@ packages:
engines: {node: '>=10'}
dependencies:
p-limit: registry.npmmirror.com/p-limit/3.1.0
- dev: false
+ dev: true
registry.npmmirror.com/p-map/4.0.0:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz}
@@ -6660,7 +6783,6 @@ packages:
engines: {node: '>=6'}
dependencies:
callsites: registry.npmmirror.com/callsites/3.1.0
- dev: false
registry.npmmirror.com/parse-entities/2.0.0:
resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse-entities/-/parse-entities-2.0.0.tgz}
@@ -6687,25 +6809,32 @@ packages:
lines-and-columns: registry.npmmirror.com/lines-and-columns/1.2.4
dev: false
+ registry.npmmirror.com/parse5/6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz}
+ name: parse5
+ version: 6.0.1
+ dev: false
+
registry.npmmirror.com/path-exists/4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz}
name: path-exists
version: 4.0.0
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/path-is-absolute/1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz}
name: path-is-absolute
version: 1.0.1
engines: {node: '>=0.10.0'}
- dev: false
+ dev: true
registry.npmmirror.com/path-key/3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz}
name: path-key
version: 3.1.1
engines: {node: '>=8'}
+ dev: true
registry.npmmirror.com/path-key/4.0.0:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz}
@@ -6718,20 +6847,17 @@ packages:
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz}
name: path-parse
version: 1.0.7
- dev: false
registry.npmmirror.com/path-type/4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz}
name: path-type
version: 4.0.0
engines: {node: '>=8'}
- dev: false
registry.npmmirror.com/picocolors/1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz}
name: picocolors
version: 1.0.0
- dev: false
registry.npmmirror.com/picomatch/2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz}
@@ -6784,7 +6910,7 @@ packages:
name: prelude-ls
version: 1.2.1
engines: {node: '>= 0.8.0'}
- dev: false
+ dev: true
registry.npmmirror.com/prettier/2.8.4:
resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prettier/-/prettier-2.8.4.tgz}
@@ -6816,7 +6942,6 @@ packages:
loose-envify: registry.npmmirror.com/loose-envify/1.4.0
object-assign: registry.npmmirror.com/object-assign/4.1.1
react-is: registry.npmmirror.com/react-is/16.13.1
- dev: false
registry.npmmirror.com/property-information/5.6.0:
resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/property-information/-/property-information-5.6.0.tgz}
@@ -6852,7 +6977,6 @@ packages:
name: punycode
version: 2.3.0
engines: {node: '>=6'}
- dev: false
registry.npmmirror.com/qs/6.11.0:
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz}
@@ -6867,7 +6991,7 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz}
name: queue-microtask
version: 1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/rc/1.2.8:
resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz}
@@ -6889,7 +7013,7 @@ packages:
peerDependencies:
react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
react: registry.npmmirror.com/react/18.2.0
dev: false
@@ -6924,7 +7048,7 @@ packages:
'@types/react':
optional: true
dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
'@types/react': registry.npmmirror.com/@types/react/18.0.28
focus-lock: registry.npmmirror.com/focus-lock/0.11.6
prop-types: registry.npmmirror.com/prop-types/15.8.1
@@ -6950,7 +7074,6 @@ packages:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz}
name: react-is
version: 16.13.1
- dev: false
registry.npmmirror.com/react-is/18.2.0:
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-is/-/react-is-18.2.0.tgz}
@@ -7110,7 +7233,7 @@ packages:
name: redux
version: 4.2.1
dependencies:
- '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.20.13
+ '@babel/runtime': registry.npmmirror.com/@babel/runtime/7.21.0
dev: false
registry.npmmirror.com/refractor/3.6.0:
@@ -7127,7 +7250,6 @@ packages:
resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz}
name: regenerator-runtime
version: 0.13.11
- dev: false
registry.npmmirror.com/regexp.prototype.flags/1.4.3:
resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz}
@@ -7138,13 +7260,39 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
functions-have-names: registry.npmmirror.com/functions-have-names/1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/regexpp/3.2.0:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz}
name: regexpp
version: 3.2.0
engines: {node: '>=8'}
+ dev: true
+
+ registry.npmmirror.com/rehype-katex/6.0.2:
+ resolution: {integrity: sha512-C4gDAlS1+l0hJqctyiU64f9CvT00S03qV1T6HiMzbSuLBgWUtcqydWHY9OpKrm0SpkK16FNd62CDKyWLwV2ppg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rehype-katex/-/rehype-katex-6.0.2.tgz}
+ name: rehype-katex
+ version: 6.0.2
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ '@types/katex': registry.npmmirror.com/@types/katex/0.11.1
+ hast-util-to-text: registry.npmmirror.com/hast-util-to-text/3.1.2
+ katex: registry.npmmirror.com/katex/0.15.6
+ rehype-parse: registry.npmmirror.com/rehype-parse/8.0.4
+ unified: registry.npmmirror.com/unified/10.1.2
+ unist-util-remove-position: registry.npmmirror.com/unist-util-remove-position/4.0.2
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.2
+ dev: false
+
+ registry.npmmirror.com/rehype-parse/8.0.4:
+ resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rehype-parse/-/rehype-parse-8.0.4.tgz}
+ name: rehype-parse
+ version: 8.0.4
+ dependencies:
+ '@types/hast': registry.npmmirror.com/@types/hast/2.3.4
+ hast-util-from-parse5: registry.npmmirror.com/hast-util-from-parse5/7.1.2
+ parse5: registry.npmmirror.com/parse5/6.0.1
+ unified: registry.npmmirror.com/unified/10.1.2
dev: false
registry.npmmirror.com/remark-gfm/3.0.1:
@@ -7160,6 +7308,17 @@ packages:
- supports-color
dev: false
+ registry.npmmirror.com/remark-math/5.1.1:
+ resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-math/-/remark-math-5.1.1.tgz}
+ name: remark-math
+ version: 5.1.1
+ dependencies:
+ '@types/mdast': registry.npmmirror.com/@types/mdast/3.0.10
+ mdast-util-math: registry.npmmirror.com/mdast-util-math/2.0.2
+ micromark-extension-math: registry.npmmirror.com/micromark-extension-math/2.0.2
+ unified: registry.npmmirror.com/unified/10.1.2
+ dev: false
+
registry.npmmirror.com/remark-parse/10.0.1:
resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/remark-parse/-/remark-parse-10.0.1.tgz}
name: remark-parse
@@ -7194,7 +7353,6 @@ packages:
name: resolve-from
version: 4.0.0
engines: {node: '>=4'}
- dev: false
registry.npmmirror.com/resolve/1.22.1:
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz}
@@ -7205,7 +7363,6 @@ packages:
is-core-module: registry.npmmirror.com/is-core-module/2.11.0
path-parse: registry.npmmirror.com/path-parse/1.0.7
supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0
- dev: false
registry.npmmirror.com/resolve/2.0.0-next.4:
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.4.tgz}
@@ -7216,7 +7373,7 @@ packages:
is-core-module: registry.npmmirror.com/is-core-module/2.11.0
path-parse: registry.npmmirror.com/path-parse/1.0.7
supports-preserve-symlinks-flag: registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0
- dev: false
+ dev: true
registry.npmmirror.com/restore-cursor/3.1.0:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz}
@@ -7233,7 +7390,7 @@ packages:
name: reusify
version: 1.0.4
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
- dev: false
+ dev: true
registry.npmmirror.com/rfdc/1.3.0:
resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz}
@@ -7248,7 +7405,7 @@ packages:
hasBin: true
dependencies:
glob: registry.npmmirror.com/glob/7.2.3
- dev: false
+ dev: true
registry.npmmirror.com/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz}
@@ -7256,7 +7413,7 @@ packages:
version: 1.2.0
dependencies:
queue-microtask: registry.npmmirror.com/queue-microtask/1.2.3
- dev: false
+ dev: true
registry.npmmirror.com/rxjs/7.8.0:
resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rxjs/-/rxjs-7.8.0.tgz}
@@ -7289,7 +7446,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
is-regex: registry.npmmirror.com/is-regex/1.1.4
- dev: false
+ dev: true
registry.npmmirror.com/saslprep/1.0.3:
resolution: {integrity: sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/saslprep/-/saslprep-1.0.3.tgz}
@@ -7327,7 +7484,7 @@ packages:
name: semver
version: 6.3.0
hasBin: true
- dev: false
+ dev: true
registry.npmmirror.com/semver/7.3.8:
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz}
@@ -7337,7 +7494,6 @@ packages:
hasBin: true
dependencies:
lru-cache: registry.npmmirror.com/lru-cache/6.0.0
- dev: false
registry.npmmirror.com/sharp/0.31.3:
resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sharp/-/sharp-0.31.3.tgz}
@@ -7363,12 +7519,14 @@ packages:
engines: {node: '>=8'}
dependencies:
shebang-regex: registry.npmmirror.com/shebang-regex/3.0.0
+ dev: true
registry.npmmirror.com/shebang-regex/3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz}
name: shebang-regex
version: 3.0.0
engines: {node: '>=8'}
+ dev: true
registry.npmmirror.com/side-channel/1.0.4:
resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz}
@@ -7378,7 +7536,6 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
get-intrinsic: registry.npmmirror.com/get-intrinsic/1.2.0
object-inspect: registry.npmmirror.com/object-inspect/1.12.3
- dev: false
registry.npmmirror.com/sift/16.0.1:
resolution: {integrity: sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sift/-/sift-16.0.1.tgz}
@@ -7421,14 +7578,14 @@ packages:
name: slash
version: 3.0.0
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/slash/4.0.0:
resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz}
name: slash
version: 4.0.0
engines: {node: '>=12'}
- dev: false
+ dev: true
registry.npmmirror.com/slice-ansi/3.0.0:
resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slice-ansi/-/slice-ansi-3.0.0.tgz}
@@ -7521,7 +7678,7 @@ packages:
engines: {node: '>= 0.4'}
dependencies:
internal-slot: registry.npmmirror.com/internal-slot/1.0.5
- dev: false
+ dev: true
registry.npmmirror.com/string-argv/0.3.1:
resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string-argv/-/string-argv-0.3.1.tgz}
@@ -7565,7 +7722,7 @@ packages:
internal-slot: registry.npmmirror.com/internal-slot/1.0.5
regexp.prototype.flags: registry.npmmirror.com/regexp.prototype.flags/1.4.3
side-channel: registry.npmmirror.com/side-channel/1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/string.prototype.trimend/1.0.6:
resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz}
@@ -7575,7 +7732,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/string.prototype.trimstart/1.0.6:
resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz}
@@ -7585,7 +7742,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
define-properties: registry.npmmirror.com/define-properties/1.2.0
es-abstract: registry.npmmirror.com/es-abstract/1.21.1
- dev: false
+ dev: true
registry.npmmirror.com/string_decoder/1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz}
@@ -7602,6 +7759,7 @@ packages:
engines: {node: '>=8'}
dependencies:
ansi-regex: registry.npmmirror.com/ansi-regex/5.0.1
+ dev: true
registry.npmmirror.com/strip-ansi/7.0.1:
resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz}
@@ -7617,7 +7775,7 @@ packages:
name: strip-bom
version: 3.0.0
engines: {node: '>=4'}
- dev: false
+ dev: true
registry.npmmirror.com/strip-final-newline/3.0.0:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz}
@@ -7638,7 +7796,7 @@ packages:
name: strip-json-comments
version: 3.1.1
engines: {node: '>=8'}
- dev: false
+ dev: true
registry.npmmirror.com/strnum/1.0.5:
resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strnum/-/strnum-1.0.5.tgz}
@@ -7697,14 +7855,13 @@ packages:
engines: {node: '>=8'}
dependencies:
has-flag: registry.npmmirror.com/has-flag/4.0.0
- dev: false
+ dev: true
registry.npmmirror.com/supports-preserve-symlinks-flag/1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz}
name: supports-preserve-symlinks-flag
version: 1.0.0
engines: {node: '>= 0.4'}
- dev: false
registry.npmmirror.com/synckit/0.8.5:
resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/synckit/-/synckit-0.8.5.tgz}
@@ -7714,14 +7871,14 @@ packages:
dependencies:
'@pkgr/utils': registry.npmmirror.com/@pkgr/utils/2.3.1
tslib: registry.npmmirror.com/tslib/2.5.0
- dev: false
+ dev: true
registry.npmmirror.com/tapable/2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz}
name: tapable
version: 2.2.1
engines: {node: '>=6'}
- dev: false
+ dev: true
registry.npmmirror.com/tar-fs/2.1.1:
resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tar-fs/-/tar-fs-2.1.1.tgz}
@@ -7751,7 +7908,7 @@ packages:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz}
name: text-table
version: 0.2.0
- dev: false
+ dev: true
registry.npmmirror.com/through/2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/through/-/through-2.3.8.tgz}
@@ -7766,7 +7923,7 @@ packages:
dependencies:
globalyzer: registry.npmmirror.com/globalyzer/0.1.0
globrex: registry.npmmirror.com/globrex/0.1.2
- dev: false
+ dev: true
registry.npmmirror.com/tiny-invariant/1.3.1:
resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz}
@@ -7825,13 +7982,12 @@ packages:
json5: registry.npmmirror.com/json5/1.0.2
minimist: registry.npmmirror.com/minimist/1.2.8
strip-bom: registry.npmmirror.com/strip-bom/3.0.0
- dev: false
+ dev: true
registry.npmmirror.com/tslib/1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz}
name: tslib
version: 1.14.1
- dev: false
registry.npmmirror.com/tslib/2.4.0:
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz}
@@ -7855,7 +8011,7 @@ packages:
dependencies:
tslib: registry.npmmirror.com/tslib/1.14.1
typescript: registry.npmmirror.com/typescript/4.9.5
- dev: false
+ dev: true
registry.npmmirror.com/tunnel-agent/0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz}
@@ -7879,14 +8035,14 @@ packages:
engines: {node: '>= 0.8.0'}
dependencies:
prelude-ls: registry.npmmirror.com/prelude-ls/1.2.1
- dev: false
+ dev: true
registry.npmmirror.com/type-fest/0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz}
name: type-fest
version: 0.20.2
engines: {node: '>=10'}
- dev: false
+ dev: true
registry.npmmirror.com/type-fest/0.21.3:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz}
@@ -7903,7 +8059,7 @@ packages:
call-bind: registry.npmmirror.com/call-bind/1.0.2
for-each: registry.npmmirror.com/for-each/0.3.3
is-typed-array: registry.npmmirror.com/is-typed-array/1.1.10
- dev: false
+ dev: true
registry.npmmirror.com/typescript/4.9.5:
resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz}
@@ -7911,7 +8067,6 @@ packages:
version: 4.9.5
engines: {node: '>=4.2.0'}
hasBin: true
- dev: false
registry.npmmirror.com/unbox-primitive/1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz}
@@ -7922,7 +8077,7 @@ packages:
has-bigints: registry.npmmirror.com/has-bigints/1.0.2
has-symbols: registry.npmmirror.com/has-symbols/1.0.3
which-boxed-primitive: registry.npmmirror.com/which-boxed-primitive/1.0.2
- dev: false
+ dev: true
registry.npmmirror.com/unified/10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unified/-/unified-10.1.2.tgz}
@@ -7938,6 +8093,15 @@ packages:
vfile: registry.npmmirror.com/vfile/5.3.7
dev: false
+ registry.npmmirror.com/unist-util-find-after/4.0.1:
+ resolution: {integrity: sha512-QO/PuPMm2ERxC6vFXEPtmAutOopy5PknD+Oq64gGwxKtk4xwo9Z97t9Av1obPmGU0IyTa6EKYUfTrK2QJS3Ozw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-find-after/-/unist-util-find-after-4.0.1.tgz}
+ name: unist-util-find-after
+ version: 4.0.1
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-is: registry.npmmirror.com/unist-util-is/5.2.0
+ dev: false
+
registry.npmmirror.com/unist-util-generated/2.0.1:
resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz}
name: unist-util-generated
@@ -7958,6 +8122,15 @@ packages:
'@types/unist': registry.npmmirror.com/@types/unist/2.0.6
dev: false
+ registry.npmmirror.com/unist-util-remove-position/4.0.2:
+ resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz}
+ name: unist-util-remove-position
+ version: 4.0.2
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ unist-util-visit: registry.npmmirror.com/unist-util-visit/4.1.2
+ dev: false
+
registry.npmmirror.com/unist-util-stringify-position/3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz}
name: unist-util-stringify-position
@@ -7991,7 +8164,7 @@ packages:
version: 4.4.1
dependencies:
punycode: registry.npmmirror.com/punycode/2.3.0
- dev: false
+ dev: true
registry.npmmirror.com/use-callback-ref/1.3.0_pmekkgnqduwlme35zpnqhenc34:
resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz}
@@ -8075,6 +8248,15 @@ packages:
sade: registry.npmmirror.com/sade/1.8.1
dev: false
+ registry.npmmirror.com/vfile-location/4.1.0:
+ resolution: {integrity: sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vfile-location/-/vfile-location-4.1.0.tgz}
+ name: vfile-location
+ version: 4.1.0
+ dependencies:
+ '@types/unist': registry.npmmirror.com/@types/unist/2.0.6
+ vfile: registry.npmmirror.com/vfile/5.3.7
+ dev: false
+
registry.npmmirror.com/vfile-message/3.1.4:
resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vfile-message/-/vfile-message-3.1.4.tgz}
name: vfile-message
@@ -8095,6 +8277,12 @@ packages:
vfile-message: registry.npmmirror.com/vfile-message/3.1.4
dev: false
+ registry.npmmirror.com/web-namespaces/2.0.1:
+ resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/web-namespaces/-/web-namespaces-2.0.1.tgz}
+ name: web-namespaces
+ version: 2.0.1
+ dev: false
+
registry.npmmirror.com/webidl-conversions/7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz}
name: webidl-conversions
@@ -8122,7 +8310,7 @@ packages:
is-number-object: registry.npmmirror.com/is-number-object/1.0.7
is-string: registry.npmmirror.com/is-string/1.0.7
is-symbol: registry.npmmirror.com/is-symbol/1.0.4
- dev: false
+ dev: true
registry.npmmirror.com/which-collection/1.0.1:
resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which-collection/-/which-collection-1.0.1.tgz}
@@ -8133,7 +8321,7 @@ packages:
is-set: registry.npmmirror.com/is-set/2.0.2
is-weakmap: registry.npmmirror.com/is-weakmap/2.0.1
is-weakset: registry.npmmirror.com/is-weakset/2.0.2
- dev: false
+ dev: true
registry.npmmirror.com/which-typed-array/1.1.9:
resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.9.tgz}
@@ -8147,7 +8335,7 @@ packages:
gopd: registry.npmmirror.com/gopd/1.0.1
has-tostringtag: registry.npmmirror.com/has-tostringtag/1.0.0
is-typed-array: registry.npmmirror.com/is-typed-array/1.1.10
- dev: false
+ dev: true
registry.npmmirror.com/which/2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which/-/which-2.0.2.tgz}
@@ -8157,13 +8345,14 @@ packages:
hasBin: true
dependencies:
isexe: registry.npmmirror.com/isexe/2.0.0
+ dev: true
registry.npmmirror.com/word-wrap/1.2.3:
resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz}
name: word-wrap
version: 1.2.3
engines: {node: '>=0.10.0'}
- dev: false
+ dev: true
registry.npmmirror.com/wrap-ansi/6.2.0:
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz}
@@ -8191,7 +8380,6 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz}
name: wrappy
version: 1.0.2
- dev: false
registry.npmmirror.com/xtend/4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz}
@@ -8204,7 +8392,6 @@ packages:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz}
name: yallist
version: 4.0.0
- dev: false
registry.npmmirror.com/yaml/1.10.2:
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz}
@@ -8225,7 +8412,7 @@ packages:
name: yocto-queue
version: 0.1.0
engines: {node: '>=10'}
- dev: false
+ dev: true
registry.npmmirror.com/zustand/4.3.5_immer@9.0.19+react@18.2.0:
resolution: {integrity: sha512-2iPUzfwx+g3f0PagOMz2vDO9mZzEp2puFpNe7vrAymVPOEIEUjCPkC4/zy84eAscxIWmTU4j9g6upXYkJdzEFQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/zustand/-/zustand-4.3.5.tgz}
diff --git a/public/imgs/human.png b/public/icon/human.png
similarity index 100%
rename from public/imgs/human.png
rename to public/icon/human.png
diff --git a/public/icon/logo.png b/public/icon/logo.png
new file mode 100644
index 000000000..93670150a
Binary files /dev/null and b/public/icon/logo.png differ
diff --git a/public/icon/menu-left.svg b/public/icon/menu-left.svg
deleted file mode 100644
index 7ed50b75d..000000000
--- a/public/icon/menu-left.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/public/imgs/erweima.jpg b/public/imgs/erweima.jpg
deleted file mode 100644
index 268b6e8e6..000000000
Binary files a/public/imgs/erweima.jpg and /dev/null differ
diff --git a/public/imgs/modelAvatar.png b/public/imgs/modelAvatar.png
deleted file mode 100644
index 264453d9d..000000000
Binary files a/public/imgs/modelAvatar.png and /dev/null differ
diff --git a/public/logo.svg b/public/logo.svg
deleted file mode 100644
index f58a84dce..000000000
--- a/public/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/api/chat.ts b/src/api/chat.ts
index 9184b415a..2d49c674f 100644
--- a/src/api/chat.ts
+++ b/src/api/chat.ts
@@ -1,5 +1,6 @@
import { GET, POST, DELETE } from './request';
import { ChatItemType, ChatSiteType, ChatSiteItemType } from '@/types/chat';
+import axios from 'axios';
/**
* 获取一个聊天框的ID
@@ -56,7 +57,7 @@ export const postChatGptPrompt = ({
});
/* 获取 Chat 的 Event 对象,进行持续通信 */
export const getChatGPTSendEvent = (chatId: string, windowId: string) =>
- new EventSource(`/api/chat/chatGpt?chatId=${chatId}&windowId=${windowId}`);
+ new EventSource(`/api/chat/chatGpt?chatId=${chatId}&windowId=${windowId}&date=${Date.now()}`);
/**
* 删除最后一句
diff --git a/src/api/request.ts b/src/api/request.ts
index 3ab06f6df..a5df11ee5 100644
--- a/src/api/request.ts
+++ b/src/api/request.ts
@@ -34,7 +34,7 @@ function responseSuccess(response: AxiosResponse) {
*/
function checkRes(data: ResponseDataType) {
if (data === undefined) {
- console.log(data, 'data is empty');
+ console.error(data, 'data is empty');
return Promise.reject('服务器异常');
} else if (data.code < 200 || data.code >= 400) {
return Promise.reject(data.message);
@@ -49,21 +49,20 @@ function responseError(err: any) {
console.error('请求错误', err);
if (!err) {
- return Promise.reject('未知错误');
+ return Promise.reject({ message: '未知错误' });
}
if (typeof err === 'string') {
- return Promise.reject(err);
+ return Promise.reject({ message: err });
}
if (err.response) {
// 有报错响应
const res = err.response;
- /* token过期,判断请求token与本地是否相同,若不同需要重发 */
if (res.data.code in TOKEN_ERROR_CODE) {
clearToken();
- return Promise.reject('token过期,重新登录');
+ return Promise.reject({ message: 'token过期,重新登录' });
}
}
- return Promise.reject('未知错误');
+ return Promise.reject(err);
}
/* 创建请求实例 */
diff --git a/src/components/Layout/auth.tsx b/src/components/Layout/auth.tsx
index a9e85fcfe..5f495b987 100644
--- a/src/components/Layout/auth.tsx
+++ b/src/components/Layout/auth.tsx
@@ -7,6 +7,7 @@ import { useGlobalStore } from '@/store/global';
import { useQuery } from '@tanstack/react-query';
const unAuthPage: { [key: string]: boolean } = {
+ '/': true,
'/login': true,
'/chat': true
};
@@ -24,10 +25,10 @@ const Auth = ({ children }: { children: JSX.Element }) => {
useQuery(
[router.pathname, userInfo],
() => {
- setLoading(true);
if (unAuthPage[router.pathname] === true || userInfo) {
return setLoading(false);
} else {
+ setLoading(true);
return getTokenLogin();
}
},
@@ -38,7 +39,7 @@ const Auth = ({ children }: { children: JSX.Element }) => {
}
},
onError(error) {
- console.log(error);
+ console.error(error);
router.push('/login');
toast();
},
@@ -48,7 +49,7 @@ const Auth = ({ children }: { children: JSX.Element }) => {
}
);
- return userInfo || unAuthPage[router.pathname] === true ? <>{children}> : null;
+ return userInfo || unAuthPage[router.pathname] === true ? children : null;
};
export default Auth;
diff --git a/src/components/Layout/index.tsx b/src/components/Layout/index.tsx
index 924456169..7641a77f4 100644
--- a/src/components/Layout/index.tsx
+++ b/src/components/Layout/index.tsx
@@ -43,18 +43,16 @@ const navbarList = [
const Layout = ({ children }: { children: JSX.Element }) => {
const { isPc } = useScreen();
const router = useRouter();
- const { Loading } = useLoading({
- defaultLoading: true
- });
+ const { Loading } = useLoading({ defaultLoading: true });
const { loading } = useGlobalStore();
return (
<>
{!unShowLayoutRoute[router.pathname] ? (
-
+
{isPc ? (
<>
-
+
diff --git a/src/components/Layout/navbar.tsx b/src/components/Layout/navbar.tsx
index 2dcfd2f40..dd9dc8517 100644
--- a/src/components/Layout/navbar.tsx
+++ b/src/components/Layout/navbar.tsx
@@ -3,7 +3,6 @@ import { Box, Flex } from '@chakra-ui/react';
import Image from 'next/image';
import { useRouter } from 'next/router';
import Icon from '../Icon';
-import styles from './style.module.scss';
export enum NavbarTypeEnum {
normal = 'normal',
@@ -35,7 +34,7 @@ const Navbar = ({
>
{/* logo */}
-
+
{/* 导航列表 */}
@@ -47,6 +46,7 @@ const Navbar = ({
alignItems={'center'}
justifyContent={'center'}
onClick={() =>
+ !item.activeLink.includes(router.pathname) &&
router.push(item.link, undefined, {
shallow: true
})
diff --git a/src/components/Layout/navbarPhone.tsx b/src/components/Layout/navbarPhone.tsx
index ca7a49c67..251a0a791 100644
--- a/src/components/Layout/navbarPhone.tsx
+++ b/src/components/Layout/navbarPhone.tsx
@@ -45,15 +45,15 @@ const NavbarPhone = ({
-
+
-
-
+
+
{navbarList.map((item) => (
{
@@ -61,8 +61,7 @@ const NavbarPhone = ({
onClose();
}}
cursor={'pointer'}
- fontSize={'sm'}
- h={'65px'}
+ h={'60px'}
borderRadius={'md'}
{...(item.activeLink.includes(router.pathname)
? {
diff --git a/src/components/Markdown/index.module.scss b/src/components/Markdown/index.module.scss
index 40ebc8453..d3b64603a 100644
--- a/src/components/Markdown/index.module.scss
+++ b/src/components/Markdown/index.module.scss
@@ -27,96 +27,356 @@
opacity: 1;
}
}
+
+.markdown > *:first-child {
+ margin-top: 0 !important;
+}
+.markdown > *:last-child {
+ margin-bottom: 0 !important;
+}
+.markdown a.absent {
+ color: #cc0000;
+}
+.markdown a.anchor {
+ bottom: 0;
+ cursor: pointer;
+ display: block;
+ left: 0;
+ margin-left: -30px;
+ padding-left: 30px;
+ position: absolute;
+ top: 0;
+}
+.markdown h1,
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+ cursor: text;
+ font-weight: bold;
+ margin: 20px 0 10px;
+ padding: 0;
+ position: relative;
+}
+.markdown h1 .mini-icon-link,
+.markdown h2 .mini-icon-link,
+.markdown h3 .mini-icon-link,
+.markdown h4 .mini-icon-link,
+.markdown h5 .mini-icon-link,
+.markdown h6 .mini-icon-link {
+ color: #000000;
+ display: none;
+}
+.markdown h1:hover a.anchor,
+.markdown h2:hover a.anchor,
+.markdown h3:hover a.anchor,
+.markdown h4:hover a.anchor,
+.markdown h5:hover a.anchor,
+.markdown h6:hover a.anchor {
+ line-height: 1;
+ margin-left: -22px;
+ padding-left: 0;
+ text-decoration: none;
+ top: 15%;
+}
+.markdown h1:hover a.anchor .mini-icon-link,
+.markdown h2:hover a.anchor .mini-icon-link,
+.markdown h3:hover a.anchor .mini-icon-link,
+.markdown h4:hover a.anchor .mini-icon-link,
+.markdown h5:hover a.anchor .mini-icon-link,
+.markdown h6:hover a.anchor .mini-icon-link {
+ display: inline-block;
+}
+.markdown h1 tt,
+.markdown h1 code,
+.markdown h2 tt,
+.markdown h2 code,
+.markdown h3 tt,
+.markdown h3 code,
+.markdown h4 tt,
+.markdown h4 code,
+.markdown h5 tt,
+.markdown h5 code,
+.markdown h6 tt,
+.markdown h6 code {
+ font-size: inherit;
+}
+.markdown h1 {
+ color: #000000;
+ font-size: 28px;
+}
+.markdown h2 {
+ color: #000000;
+ font-size: 24px;
+}
+.markdown h3 {
+ font-size: 18px;
+}
+.markdown h4 {
+ font-size: 16px;
+}
+.markdown h5 {
+ font-size: 14px;
+}
+.markdown h6 {
+ color: #777777;
+ font-size: 14px;
+}
+.markdown p,
+.markdown blockquote,
+.markdown ul,
+.markdown ol,
+.markdown dl,
+.markdown table,
+.markdown pre {
+ margin: 15px 0;
+}
+.markdown hr {
+ background: url('https://a248.e.akamai.net/assets.github.com/assets/primer/markdown/dirty-shade-350cca8f57223ebd53603021b2e670f4f319f1b7.png')
+ repeat-x scroll 0 0 transparent;
+ border: 0 none;
+ color: #cccccc;
+ height: 4px;
+ padding: 0;
+}
+.markdown > h2:first-child,
+.markdown > h1:first-child,
+.markdown > h1:first-child + h2,
+.markdown > h3:first-child,
+.markdown > h4:first-child,
+.markdown > h5:first-child,
+.markdown > h6:first-child {
+ margin-top: 0;
+ padding-top: 0;
+}
+.markdown a:first-child h1,
+.markdown a:first-child h2,
+.markdown a:first-child h3,
+.markdown a:first-child h4,
+.markdown a:first-child h5,
+.markdown a:first-child h6 {
+ margin-top: 0;
+ padding-top: 0;
+}
+.markdown h1 + p,
+.markdown h2 + p,
+.markdown h3 + p,
+.markdown h4 + p,
+.markdown h5 + p,
+.markdown h6 + p {
+ margin-top: 0;
+}
+.markdown li p.first {
+ display: inline-block;
+}
+.markdown ul,
+.markdown ol {
+ padding-left: 30px;
+}
+.markdown ul.no-list,
+.markdown ol.no-list {
+ list-style-type: none;
+ padding: 0;
+}
+.markdown ul li > *:first-child,
+.markdown ol li > *:first-child {
+ margin-top: 0;
+}
+.markdown ul ul,
+.markdown ul ol,
+.markdown ol ol,
+.markdown ol ul {
+ margin-bottom: 0;
+}
+.markdown dl {
+ padding: 0;
+}
+.markdown dl dt {
+ font-size: 14px;
+ font-style: italic;
+ font-weight: bold;
+ margin: 15px 0 5px;
+ padding: 0;
+}
+.markdown dl dt:first-child {
+ padding: 0;
+}
+.markdown dl dt > *:first-child {
+ margin-top: 0;
+}
+.markdown dl dt > *:last-child {
+ margin-bottom: 0;
+}
+.markdown dl dd {
+ margin: 0 0 15px;
+ padding: 0 15px;
+}
+.markdown dl dd > *:first-child {
+ margin-top: 0;
+}
+.markdown dl dd > *:last-child {
+ margin-bottom: 0;
+}
+.markdown blockquote {
+ border-left: 4px solid #dddddd;
+ color: #777777;
+ padding: 0 15px;
+}
+.markdown blockquote > *:first-child {
+ margin-top: 0;
+}
+.markdown blockquote > *:last-child {
+ margin-bottom: 0;
+}
+.markdown table th {
+ font-weight: bold;
+}
+.markdown table th,
+.markdown table td {
+ border: 1px solid #cccccc;
+ padding: 6px 13px;
+}
+.markdown table tr {
+ background-color: #ffffff;
+ border-top: 1px solid #cccccc;
+}
+.markdown table tr:nth-child(2n) {
+ background-color: #f0f0f0;
+}
+.markdown img {
+ max-width: 100%;
+}
+.markdown span.frame {
+ display: block;
+ overflow: hidden;
+}
+.markdown span.frame > span {
+ border: 1px solid #dddddd;
+ display: block;
+ float: left;
+ margin: 13px 0 0;
+ overflow: hidden;
+ padding: 7px;
+ width: auto;
+}
+.markdown span.frame span img {
+ display: block;
+ float: left;
+}
+.markdown span.frame span span {
+ clear: both;
+ color: #333333;
+ display: block;
+ padding: 5px 0 0;
+}
+.markdown span.align-center {
+ clear: both;
+ display: block;
+ overflow: hidden;
+}
+.markdown span.align-center > span {
+ display: block;
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: center;
+}
+.markdown span.align-center span img {
+ margin: 0 auto;
+ text-align: center;
+}
+.markdown span.align-right {
+ clear: both;
+ display: block;
+ overflow: hidden;
+}
+.markdown span.align-right > span {
+ display: block;
+ margin: 13px 0 0;
+ overflow: hidden;
+ text-align: right;
+}
+.markdown span.align-right span img {
+ margin: 0;
+ text-align: right;
+}
+.markdown span.float-left {
+ display: block;
+ float: left;
+ margin-right: 13px;
+ overflow: hidden;
+}
+.markdown span.float-left span {
+ margin: 13px 0 0;
+}
+.markdown span.float-right {
+ display: block;
+ float: right;
+ margin-left: 13px;
+ overflow: hidden;
+}
+.markdown span.float-right > span {
+ display: block;
+ margin: 13px auto 0;
+ overflow: hidden;
+ text-align: right;
+}
+.markdown code,
+.markdown tt {
+ background-color: #f0f0f0;
+ border: 1px solid #eaeaea;
+ border-radius: 3px 3px 3px 3px;
+ margin: 0 2px;
+ padding: 0 5px;
+}
+.markdown pre > code {
+ background: none repeat scroll 0 0 transparent;
+ border: medium none;
+ margin: 0;
+ padding: 0;
+ white-space: pre;
+}
+.markdown .highlight pre,
+.markdown pre {
+ background-color: #f0f0f0;
+ border: 1px solid #cccccc;
+ border-radius: 3px 3px 3px 3px;
+ font-size: 13px;
+ line-height: 19px;
+ overflow: auto;
+ padding: 6px 10px;
+}
+.markdown pre code,
+.markdown pre tt {
+ background-color: transparent;
+ border: medium none;
+}
.markdown {
- /* 标题样式 */
- h1 {
- font-size: 1.8rem;
- }
-
- h2 {
- font-size: 1.6rem;
- }
-
- h3 {
- font-size: 1.4rem;
- }
-
- h4 {
- font-size: 1.2rem;
- }
-
- h5 {
- font-size: 1rem;
- }
-
- h6 {
- font-size: 0.83rem;
- }
-
- /* 列表样式 */
- ol,
- ul {
- padding-left: 1.5rem;
- margin-left: 1rem;
- }
- ul {
- list-style: inside;
- }
- ol {
- list-style: decimal;
- }
-
- /* 链接样式 */
- a {
- color: #0077cc;
- text-decoration: none;
- border-bottom: 1px solid #0077cc;
- }
-
- a:hover {
- color: #005580;
- border-bottom-color: #005580;
- }
-
- /* 图片样式 */
- img {
- max-width: 100%;
- max-height: 200px;
- margin: auto;
- }
-
- /* 强调样式 */
- em,
- i {
- font-style: italic;
- }
-
- strong,
- b {
- font-weight: bold;
- }
-
- /* 代码样式 */
- code {
- border-radius: 3px;
- width: 100%;
- }
+ font-size: 14px;
+ line-height: 1.6;
+ letter-spacing: 0.5px;
+ text-align: justify;
pre {
- padding: 10px 15px;
+ display: block;
width: 100%;
+ padding: 15px;
+ margin: 0;
+ border: none;
+ border-radius: 0;
background-color: #222 !important;
overflow-x: auto;
}
pre code {
- display: block;
- border: none;
background-color: #222;
color: #fff;
+ width: 100%;
+ font-family: 'Söhne,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji';
}
- p {
- line-height: 1.7;
+ a {
+ text-decoration: underline;
+ color: var(--chakra-colors-blue-600);
}
}
diff --git a/src/components/Markdown/index.tsx b/src/components/Markdown/index.tsx
index 0fe1f4b80..e6e4f17f2 100644
--- a/src/components/Markdown/index.tsx
+++ b/src/components/Markdown/index.tsx
@@ -1,33 +1,41 @@
-import React, { useMemo, memo } from 'react';
+import React, { memo, useMemo } from 'react';
import ReactMarkdown from 'react-markdown';
-import remarkGfm from 'remark-gfm';
import styles from './index.module.scss';
import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';
import { codeLight } from './codeLight';
import { Box, Flex } from '@chakra-ui/react';
import { useCopyData } from '@/utils/tools';
import Icon from '@/components/Icon';
+import remarkGfm from 'remark-gfm';
+import remarkMath from 'remark-math';
+import rehypeKatex from 'rehype-katex';
const Markdown = ({ source, isChatting }: { source: string; isChatting: boolean }) => {
- // const formatSource = useMemo(() => source.replace(/\n/g, '\n'), [source]);
+ const formatSource = useMemo(() => source.replace(/\n/g, ' \n'), [source]);
const { copyData } = useCopyData();
+
return (
-
+
{match?.[1]}
copyData(code)} alignItems={'center'}>
@@ -36,18 +44,23 @@ const Markdown = ({ source, isChatting }: { source: string; isChatting: boolean
{code}
+ ) : (
+
+ {children}
+
);
}
}}
+ linkTarget="_blank"
>
- {source}
+ {formatSource}
);
};
diff --git a/src/constants/common.ts b/src/constants/common.ts
index 4e498190d..9c5d9b3a5 100644
--- a/src/constants/common.ts
+++ b/src/constants/common.ts
@@ -6,8 +6,7 @@ export enum EmailTypeEnum {
export const introPage = `
## 欢迎使用 Doc GPT
-时间比较赶,介绍没来得及完善,先直接上怎么使用:
-
+时间比较赶,介绍没来得及完善,先直接上怎么使用:
1. 使用邮箱注册账号。
2. 进入账号页面,添加关联账号,目前只有 openai 的账号可以添加,直接去 openai 官网,把 API Key 粘贴过来。
3. 进入模型页,创建一个模型,建议直接用 ChatGPT。
@@ -39,6 +38,5 @@ export const introPage = `
* 分享链接应为:http://docgpt.ahapocket.cn/chat?chatId=6402c9f64cb5d6283f764
### 其他问题
-还有其他问题,可以加我 wx,拉个交流群大家一起聊聊。
-
+还有其他问题,可以加我 wx: YNyiqi,拉个交流群大家一起聊聊。
`;
diff --git a/src/constants/theme.ts b/src/constants/theme.ts
index 5526b1c63..72661ab04 100644
--- a/src/constants/theme.ts
+++ b/src/constants/theme.ts
@@ -58,7 +58,11 @@ export const theme = extendTheme({
global: {
'html, body': {
color: 'blackAlpha.800',
- fontSize: '14px'
+ fontSize: '14px',
+ fontFamily:
+ 'Söhne,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji',
+ height: '100%',
+ overflowY: 'auto'
}
}
},
diff --git a/src/hooks/useConfirm.tsx b/src/hooks/useConfirm.tsx
index 050dac317..b3365d52a 100644
--- a/src/hooks/useConfirm.tsx
+++ b/src/hooks/useConfirm.tsx
@@ -1,4 +1,4 @@
-import { useState, useRef } from 'react';
+import { useCallback, useRef } from 'react';
import {
AlertDialog,
AlertDialogBody,
@@ -17,45 +17,51 @@ export const useConfirm = ({ title = '提示', content }: { title?: string; cont
const cancelCb = useRef();
return {
- openConfirm: (confirm?: any, cancel?: any) => {
- onOpen();
- confirmCb.current = confirm;
- cancelCb.current = cancel;
- },
- ConfirmChild: () => (
-
-
-
-
- {title}
-
+ openConfirm: useCallback(
+ (confirm?: any, cancel?: any) => {
+ onOpen();
+ confirmCb.current = confirm;
+ cancelCb.current = cancel;
+ },
+ [onOpen]
+ ),
+ ConfirmChild: useCallback(
+ () => (
+
+
+
+
+ {title}
+
- {content}
+ {content}
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ ),
+ [content, isOpen, onClose, title]
)
};
};
diff --git a/src/hooks/useLoading.tsx b/src/hooks/useLoading.tsx
index 68c4d3808..7083fe8ae 100644
--- a/src/hooks/useLoading.tsx
+++ b/src/hooks/useLoading.tsx
@@ -1,32 +1,29 @@
-import { useState } from 'react';
+import { useState, useCallback } from 'react';
import { Spinner, Flex } from '@chakra-ui/react';
export const useLoading = (props?: { defaultLoading: boolean }) => {
const [isLoading, setIsLoading] = useState(props?.defaultLoading || false);
- const Loading = ({
- loading,
- fixed = true
- }: {
- loading?: boolean;
- fixed?: boolean;
- }): JSX.Element | null => {
- return isLoading || loading ? (
-
-
-
- ) : null;
- };
+ const Loading = useCallback(
+ ({ loading, fixed = true }: { loading?: boolean; fixed?: boolean }): JSX.Element | null => {
+ return isLoading || loading ? (
+
+
+
+ ) : null;
+ },
+ [isLoading]
+ );
return {
isLoading,
diff --git a/src/hooks/useScreen.ts b/src/hooks/useScreen.ts
index 4f96861d0..c392aff3c 100644
--- a/src/hooks/useScreen.ts
+++ b/src/hooks/useScreen.ts
@@ -11,6 +11,6 @@ export function useScreen() {
isPc,
mediaLgMd: useMemo(() => (isPc ? 'lg' : 'md'), [isPc]),
mediaMdSm: useMemo(() => (isPc ? 'md' : 'sm'), [isPc]),
- media: (pc: number | string, phone: number | string) => (isPc ? pc : phone)
+ media: (pc: any, phone: any) => (isPc ? pc : phone)
};
}
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
index 0a8496d03..f43b83a24 100644
--- a/src/pages/_app.tsx
+++ b/src/pages/_app.tsx
@@ -1,23 +1,32 @@
import type { AppProps, NextWebVitalsMetric } from 'next/app';
+import Script from 'next/script';
import Head from 'next/head';
import { ChakraProvider } from '@chakra-ui/react';
import Layout from '@/components/Layout';
import { theme } from '@/constants/theme';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
+import NProgress from 'nprogress'; //nprogress module
+import Router from 'next/router';
+import 'nprogress/nprogress.css';
import '../styles/reset.scss';
-export default function App({ Component, pageProps }: AppProps) {
- // Create a client
- const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- refetchOnWindowFocus: false,
- retry: false,
- cacheTime: 0
- }
- }
- });
+//Binding events.
+Router.events.on('routeChangeStart', () => NProgress.start());
+Router.events.on('routeChangeComplete', () => NProgress.done());
+Router.events.on('routeChangeError', () => NProgress.done());
+// Create a client
+const queryClient = new QueryClient({
+ defaultOptions: {
+ queries: {
+ refetchOnWindowFocus: false,
+ retry: false,
+ cacheTime: 0
+ }
+ }
+});
+
+export default function App({ Component, pageProps }: AppProps) {
return (
<>
@@ -28,8 +37,8 @@ export default function App({ Component, pageProps }: AppProps) {
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;"
/>
-
+
diff --git a/src/pages/api/chat/chatGpt.ts b/src/pages/api/chat/chatGpt.ts
index ded6787b4..82fca36e7 100644
--- a/src/pages/api/chat/chatGpt.ts
+++ b/src/pages/api/chat/chatGpt.ts
@@ -1,6 +1,6 @@
-// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
import type { NextApiRequest, NextApiResponse } from 'next';
-import { connectToDatabase, Chat, ChatWindow } from '@/service/mongo';
+import { Readable } from 'stream';
+import { connectToDatabase, ChatWindow } from '@/service/mongo';
import type { ModelType } from '@/types/model';
import { getOpenAIApi, authChat } from '@/service/utils/chat';
import { openaiProxy } from '@/service/utils/tools';
@@ -9,12 +9,23 @@ import { ChatItemType } from '@/types/chat';
/* 发送提示词 */
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
- res.writeHead(200, {
- Connection: 'keep-alive',
- 'Content-Encoding': 'none',
- 'Cache-Control': 'no-cache',
- 'Content-Type': 'text/event-stream'
+ res.setHeader('Connection', 'keep-alive');
+ res.setHeader('Cache-Control', 'no-cache');
+ res.setHeader('Content-Type', 'text/event-stream');
+
+ const responseData: string[] = [];
+ const stream = new Readable({
+ read(size) {
+ const data = responseData.shift() || null;
+ this.push(data);
+ }
});
+
+ res.on('close', () => {
+ res.end();
+ stream.destroy();
+ });
+
const { chatId, windowId } = req.query as { chatId: string; windowId: string };
try {
@@ -47,9 +58,15 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const formatPrompts: ChatCompletionRequestMessage[] = filterPrompts.map(
(item: ChatItemType) => ({
role: map[item.obj],
- content: item.value
+ content: item.value.replace(/(\n| )/g, '')
})
);
+ // 第一句话,强调代码类型
+ formatPrompts.unshift({
+ role: ChatCompletionRequestMessageRoleEnum.System,
+ content:
+ 'If the content is code or code blocks, please mark the code type as accurately as possible!'
+ });
// 获取 chatAPI
const chatAPI = getOpenAIApi(userApiKey);
@@ -68,43 +85,75 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const reg = /{"content"(.*)"}/g;
// @ts-ignore
const match = chatResponse.data.match(reg);
+ if (!match) return;
+
let AIResponse = '';
- if (match) {
- match.forEach((item: string, i: number) => {
- try {
- const json = JSON.parse(item);
- // 开头的换行忽略
- if (i === 0 && json.content?.startsWith('\n')) return;
- AIResponse += json.content;
- const content = json.content.replace(/\n/g, '
'); // 无法直接传输\n
- content && res.write(`data: ${content}\n\n`);
- } catch (err) {
- err;
- }
- });
- }
- res.write(`data: [DONE]\n\n`);
+ // 循环给 stream push 内容
+ match.forEach((item: string, i: number) => {
+ try {
+ const json = JSON.parse(item);
+ // 开头的换行忽略
+ if (i === 0 && json.content?.startsWith('\n')) return;
+ AIResponse += json.content;
+ const content = json.content.replace(/\n/g, '
'); // 无法直接传输\n
+ if (content) {
+ responseData.push(`event: responseData\ndata: ${content}\n\n`);
+ // res.write(`event: responseData\n`)
+ // res.write(`data: ${content}\n\n`)
+ }
+ } catch (err) {
+ err;
+ }
+ });
+
+ responseData.push(`event: done\ndata: \n\n`);
// 存入库
- await ChatWindow.findByIdAndUpdate(windowId, {
- $push: {
- content: {
- obj: 'AI',
- value: AIResponse
- }
- },
- updateTime: Date.now()
- });
-
- res.end();
+ (async () => {
+ await ChatWindow.findByIdAndUpdate(windowId, {
+ $push: {
+ content: {
+ obj: 'AI',
+ value: AIResponse
+ }
+ },
+ updateTime: Date.now()
+ });
+ })();
} catch (err: any) {
- console.log(err?.response?.data || err);
- // 删除最一条数据库记录, 也就是预发送的那一条
- await ChatWindow.findByIdAndUpdate(windowId, {
- $pop: { content: 1 },
- updateTime: Date.now()
- });
+ let errorText = err;
+ if (err.code === 'ECONNRESET') {
+ errorText = '服务器代理出错';
+ } else {
+ switch (err?.response?.data?.error?.code) {
+ case 'invalid_api_key':
+ errorText = 'API-KEY不合法';
+ break;
+ case 'context_length_exceeded':
+ errorText = '内容超长了,请重置对话';
+ break;
+ case 'rate_limit_reached':
+ errorText = '同时访问用户过多,请稍后再试';
+ break;
+ case null:
+ errorText = 'OpenAI 服务器访问超时';
+ break;
+ default:
+ errorText = '服务器异常';
+ }
+ }
+ console.error(errorText);
+ responseData.push(`event: serviceError\ndata: ${errorText}\n\n`);
- res.end();
+ // 删除最一条数据库记录, 也就是预发送的那一条
+ (async () => {
+ await ChatWindow.findByIdAndUpdate(windowId, {
+ $pop: { content: 1 },
+ updateTime: Date.now()
+ });
+ })();
}
+
+ // 开启 stream 传输
+ stream.pipe(res);
}
diff --git a/src/pages/api/chat/init.ts b/src/pages/api/chat/init.ts
index 192c9c5ba..c32e57fd8 100644
--- a/src/pages/api/chat/init.ts
+++ b/src/pages/api/chat/init.ts
@@ -23,7 +23,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
});
// 安全校验
- if (chat.loadAmount === 0 || chat.expiredTime < Date.now()) {
+ if (!chat || chat.loadAmount === 0 || chat.expiredTime < Date.now()) {
throw new Error('聊天框已过期');
}
@@ -82,7 +82,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
}
});
} catch (err) {
- console.log(err);
jsonRes(res, {
code: 500,
error: err
diff --git a/src/pages/api/test.ts b/src/pages/api/test.ts
deleted file mode 100644
index 04326b0ff..000000000
--- a/src/pages/api/test.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from 'next';
-
-export default async function handler(req: NextApiRequest, res: NextApiResponse) {
- if (req.method !== 'GET') return;
-
- res.writeHead(200, {
- Connection: 'keep-alive',
- 'Content-Encoding': 'none',
- 'Cache-Control': 'no-cache',
- 'Content-Type': 'text/event-stream'
- });
-
- let val = 0;
-
- const timer = setInterval(() => {
- console.log('发送消息', val);
- res.write(`data: ${val++}\n\n`);
- if (val > 30) {
- clearInterval(timer);
- res.write(`data: [DONE]\n\n`);
- res.end();
- }
- }, 500);
-}
diff --git a/src/pages/chat/index.tsx b/src/pages/chat/index.tsx
index 45b3e9f98..00a7b8cb1 100644
--- a/src/pages/chat/index.tsx
+++ b/src/pages/chat/index.tsx
@@ -13,15 +13,19 @@ import { Textarea, Box, Flex, Button } from '@chakra-ui/react';
import { useToast } from '@/hooks/useToast';
import Icon from '@/components/Icon';
import { useScreen } from '@/hooks/useScreen';
-import Markdown from '@/components/Markdown';
import { useQuery } from '@tanstack/react-query';
-import { useLoading } from '@/hooks/useLoading';
import { OpenAiModelEnum } from '@/constants/model';
+import dynamic from 'next/dynamic';
+import { useGlobalStore } from '@/store/global';
+
+const Markdown = dynamic(() => import('@/components/Markdown'));
+
+const textareaMinH = '22px';
const Chat = () => {
const { toast } = useToast();
const router = useRouter();
- const { media } = useScreen();
+ const { isPc, media } = useScreen();
const { chatId, windowId } = router.query as { chatId: string; windowId?: string };
const ChatBox = useRef(null);
const TextareaDom = useRef(null);
@@ -32,7 +36,7 @@ const Chat = () => {
const isChatting = useMemo(() => chatList[chatList.length - 1]?.status === 'loading', [chatList]);
const lastWordHuman = useMemo(() => chatList[chatList.length - 1]?.obj === 'Human', [chatList]);
- const { Loading } = useLoading();
+ const { setLoading } = useGlobalStore();
// 滚动到底部
const scrollToBottom = useCallback(() => {
@@ -47,28 +51,40 @@ const Chat = () => {
}, []);
// 初始化聊天框
- useQuery([chatId, windowId], () => (chatId ? getInitChatSiteInfo(chatId, windowId) : null), {
- cacheTime: 5 * 60 * 1000,
- onSuccess(res) {
- if (!res) return;
- router.replace(`/chat?chatId=${chatId}&windowId=${res.windowId}`);
-
- setChatSiteData(res.chatSite);
- setChatList(
- res.history.map((item) => ({
- ...item,
- status: 'finish'
- }))
- );
- scrollToBottom();
+ useQuery(
+ [chatId, windowId],
+ () => {
+ if (!chatId) return null;
+ setLoading(true);
+ return getInitChatSiteInfo(chatId, windowId);
},
- onError() {
- toast({
- title: '初始化异常',
- status: 'error'
- });
+ {
+ cacheTime: 5 * 60 * 1000,
+ onSuccess(res) {
+ if (!res) return;
+ router.replace(`/chat?chatId=${chatId}&windowId=${res.windowId}`);
+
+ setChatSiteData(res.chatSite);
+ setChatList(
+ res.history.map((item) => ({
+ ...item,
+ status: 'finish'
+ }))
+ );
+ scrollToBottom();
+ setLoading(false);
+ },
+ onError(e: any) {
+ toast({
+ title: e?.message || '初始化异常,请检查地址',
+ status: 'error',
+ isClosable: true,
+ duration: 5000
+ });
+ setLoading(false);
+ }
}
- });
+ );
// gpt3 方法
const gpt3ChatPrompt = useCallback(
@@ -107,36 +123,55 @@ const Chat = () => {
return new Promise((resolve, reject) => {
const event = getChatGPTSendEvent(chatId, windowId);
- event.onmessage = ({ data }) => {
- if (data === '[DONE]') {
- event.close();
- setChatList((state) =>
- state.map((item, index) => {
- if (index !== state.length - 1) return item;
- return {
- ...item,
- status: 'finish'
- };
- })
- );
- resolve('');
- } else if (data) {
- const msg = data.replace(/
/g, '\n');
- setChatList((state) =>
- state.map((item, index) => {
- if (index !== state.length - 1) return item;
- return {
- ...item,
- value: item.value + msg
- };
- })
- );
- }
- };
- event.onerror = (err) => {
- console.error(err, '===');
+ // 30s 收不到消息就报错
+ let timer = setTimeout(() => {
event.close();
- reject('对话出现错误');
+ reject('服务器超时');
+ }, 300000);
+ event.addEventListener('responseData', ({ data }) => {
+ /* 重置定时器 */
+ clearTimeout(timer);
+ timer = setTimeout(() => {
+ event.close();
+ reject('服务器超时');
+ }, 300000);
+
+ const msg = data.replace(/
/g, '\n');
+ setChatList((state) =>
+ state.map((item, index) => {
+ if (index !== state.length - 1) return item;
+ return {
+ ...item,
+ value: item.value + msg
+ };
+ })
+ );
+ });
+ event.addEventListener('done', () => {
+ clearTimeout(timer);
+ event.close();
+ setChatList((state) =>
+ state.map((item, index) => {
+ if (index !== state.length - 1) return item;
+ return {
+ ...item,
+ status: 'finish'
+ };
+ })
+ );
+ resolve('');
+ });
+ event.addEventListener('serviceError', ({ data: err }) => {
+ clearTimeout(timer);
+ event.close();
+ console.error(err, '===');
+ reject(typeof err === 'string' ? err : '对话出现不知名错误~');
+ });
+ event.onerror = (err) => {
+ clearTimeout(timer);
+ event.close();
+ console.error(err);
+ reject(typeof err === 'string' ? err : '对话出现不知名错误~');
};
});
},
@@ -179,8 +214,9 @@ const Chat = () => {
setTimeout(() => {
scrollToBottom();
+ /* 回到最小高度 */
if (TextareaDom.current) {
- TextareaDom.current.style.height = 22 + 'px';
+ TextareaDom.current.style.height = textareaMinH;
}
}, 100);
@@ -242,7 +278,7 @@ const Chat = () => {
}, [chatList, windowId]);
return (
-
+
{/* 头部 */}
{
{/* 滚动到底部按键 */}
- {/* 滚动到底部 */}
{ChatBox.current && ChatBox.current.scrollHeight > 2 * ChatBox.current.clientHeight && (
{
borderBottom={'1px solid rgba(0,0,0,0.1)'}
>
-
+
+ />
-
+ {item.obj === 'AI' ? (
+
+ ) : (
+ {item.value}
+ )}
))}
+ {/* 空内容提示 */}
+ {/* {
+ chatList.length === 0 && (
+ <>
+
+内容太长
+
+ >
+ )
+ } */}
{lastWordHuman ? (
@@ -349,12 +399,12 @@ const Chat = () => {
onChange={(e) => {
const textarea = e.target;
setInputVal(textarea.value);
-
- textarea.style.height = textarea.value.split('\n').length * 22 + 'px';
+ textarea.style.height = textareaMinH;
+ textarea.style.height = `${textarea.scrollHeight}px`;
}}
onKeyDown={(e) => {
// 触发快捷发送
- if (e.keyCode === 13 && !e.shiftKey) {
+ if (isPc && e.keyCode === 13 && !e.shiftKey) {
sendPrompt();
e.preventDefault();
}
@@ -382,7 +432,6 @@ const Chat = () => {
)}
-
);
};
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
index 5bfc70f2e..75046b298 100644
--- a/src/pages/index.tsx
+++ b/src/pages/index.tsx
@@ -1,12 +1,9 @@
-import React, { useEffect } from 'react';
-import { useRouter } from 'next/router';
-import { Card, Text, Box, Heading, Flex } from '@chakra-ui/react';
+import React from 'react';
+import { Card } from '@chakra-ui/react';
import Markdown from '@/components/Markdown';
import { introPage } from '@/constants/common';
const Home = () => {
- const router = useRouter();
-
return (
diff --git a/src/pages/login/components/ForgetPasswordForm.tsx b/src/pages/login/components/ForgetPasswordForm.tsx
index 8a4283baa..b6ab6df1d 100644
--- a/src/pages/login/components/ForgetPasswordForm.tsx
+++ b/src/pages/login/components/ForgetPasswordForm.tsx
@@ -1,19 +1,12 @@
import React, { useState, Dispatch, useCallback } from 'react';
-import {
- FormControl,
- Box,
- Input,
- Button,
- FormErrorMessage,
- useToast,
- Flex
-} from '@chakra-ui/react';
+import { FormControl, Box, Input, Button, FormErrorMessage, Flex } from '@chakra-ui/react';
import { useForm } from 'react-hook-form';
import { PageTypeEnum } from '../../../constants/user';
import { postFindPassword } from '@/api/user';
import { useSendCode } from '@/hooks/useSendCode';
import type { ResLogin } from '@/api/response/user';
import { useScreen } from '@/hooks/useScreen';
+import { useToast } from '@/hooks/useToast';
interface Props {
setPageType: Dispatch<`${PageTypeEnum}`>;
@@ -28,7 +21,7 @@ interface RegisterType {
}
const RegisterForm = ({ setPageType, loginSuccess }: Props) => {
- const toast = useToast();
+ const { toast } = useToast();
const { mediaLgMd } = useScreen();
const {
register,
@@ -66,8 +59,7 @@ const RegisterForm = ({ setPageType, loginSuccess }: Props) => {
);
toast({
title: `密码已找回`,
- status: 'success',
- position: 'top'
+ status: 'success'
});
} catch (error) {
typeof error === 'string' &&
diff --git a/src/pages/login/index.module.scss b/src/pages/login/index.module.scss
index c4ae441b4..fe5c78ced 100644
--- a/src/pages/login/index.module.scss
+++ b/src/pages/login/index.module.scss
@@ -1,7 +1,5 @@
.loginPage {
background: url('/icon/login-bg.svg') no-repeat;
background-size: cover;
- height: 100vh;
- width: 100vw;
user-select: none;
}
diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx
index e61f267d7..39ae9c5e3 100644
--- a/src/pages/login/index.tsx
+++ b/src/pages/login/index.tsx
@@ -1,15 +1,17 @@
-import React, { useState, useCallback } from 'react';
+import React, { useState, useCallback, useMemo } from 'react';
import styles from './index.module.scss';
import { Box, Flex, Image } from '@chakra-ui/react';
import { PageTypeEnum } from '@/constants/user';
-import LoginForm from './components/LoginForm';
-import RegisterForm from './components/RegisterForm';
-import ForgetPasswordForm from './components/ForgetPasswordForm';
import { useScreen } from '@/hooks/useScreen';
import type { ResLogin } from '@/api/response/user';
import { useRouter } from 'next/router';
import { useUserStore } from '@/store/user';
+import dynamic from 'next/dynamic';
+const LoginForm = dynamic(() => import('./components/LoginForm'));
+const RegisterForm = dynamic(() => import('./components/RegisterForm'));
+const ForgetPasswordForm = dynamic(() => import('./components/ForgetPasswordForm'));
+
const Login = () => {
const router = useRouter();
const { isPc } = useScreen();
@@ -24,23 +26,20 @@ const Login = () => {
[router, setUserInfo]
);
- const map = {
- [PageTypeEnum.login]: {
- Component: ,
- img: '/icon/loginLeft.svg'
- },
- [PageTypeEnum.register]: {
- Component: ,
- img: '/icon/loginLeft.svg'
- },
- [PageTypeEnum.forgetPassword]: {
- Component: ,
- img: '/icon/loginLeft.svg'
- }
- };
+ function DynamicComponent({ type }: { type: `${PageTypeEnum}` }) {
+ const TypeMap = {
+ [PageTypeEnum.login]: LoginForm,
+ [PageTypeEnum.register]: RegisterForm,
+ [PageTypeEnum.forgetPassword]: ForgetPasswordForm
+ };
+
+ const Component = TypeMap[type];
+
+ return ;
+ }
return (
-
+
{
>
{isPc && (
{
px={10}
borderRadius={isPc ? 'md' : 'none'}
>
- {map[pageType].Component}
+
diff --git a/src/pages/model/components/CreateModel.tsx b/src/pages/model/components/CreateModel.tsx
index 5dc75dd78..4bcb27d07 100644
--- a/src/pages/model/components/CreateModel.tsx
+++ b/src/pages/model/components/CreateModel.tsx
@@ -25,11 +25,9 @@ interface CreateFormType {
}
const CreateModel = ({
- isOpen,
setCreateModelOpen,
onSuccess
}: {
- isOpen: boolean;
setCreateModelOpen: Dispatch;
onSuccess: Dispatch;
}) => {
@@ -72,7 +70,7 @@ const CreateModel = ({
return (
<>
- setCreateModelOpen(false)}>
+ setCreateModelOpen(false)}>
创建模型
diff --git a/src/pages/model/components/ModelEditForm.tsx b/src/pages/model/components/ModelEditForm.tsx
index 4cb6d7ff1..5c432f75e 100644
--- a/src/pages/model/components/ModelEditForm.tsx
+++ b/src/pages/model/components/ModelEditForm.tsx
@@ -1,4 +1,4 @@
-import React, { useCallback } from 'react';
+import React, { useCallback, useEffect, useRef } from 'react';
import { Grid, Box, Card, Flex, Button, FormControl, Input, Textarea } from '@chakra-ui/react';
import type { ModelType } from '@/types/model';
import { useForm } from 'react-hook-form';
@@ -7,17 +7,17 @@ import { putModelById } from '@/api/model';
import { useScreen } from '@/hooks/useScreen';
import { useGlobalStore } from '@/store/global';
-const ModelEditForm = ({ model }: { model: ModelType }) => {
+const ModelEditForm = ({ model }: { model?: ModelType }) => {
+ const isInit = useRef(false);
const {
register,
handleSubmit,
+ reset,
formState: { errors }
- } = useForm({
- defaultValues: model
- });
+ } = useForm();
const { setLoading } = useGlobalStore();
const { toast } = useToast();
- const { isPc } = useScreen();
+ const { media } = useScreen();
const onclickSave = useCallback(
async (data: ModelType) => {
@@ -34,7 +34,7 @@ const ModelEditForm = ({ model }: { model: ModelType }) => {
status: 'success'
});
} catch (err) {
- console.log(err);
+ console.error(err);
toast({
title: err as string,
status: 'success'
@@ -61,8 +61,16 @@ const ModelEditForm = ({ model }: { model: ModelType }) => {
});
}, [errors, toast]);
+ /* model 只会改变一次 */
+ useEffect(() => {
+ if (model && !isInit.current) {
+ reset(model);
+ isInit.current = true;
+ }
+ }, [model, reset]);
+
return (
-
+
@@ -83,7 +91,7 @@ const ModelEditForm = ({ model }: { model: ModelType }) => {
对话模型:
- {model.service.modelName}
+ {model?.service.modelName}
diff --git a/src/pages/model/components/Training.tsx b/src/pages/model/components/Training.tsx
index f60879d74..4a4bb1d18 100644
--- a/src/pages/model/components/Training.tsx
+++ b/src/pages/model/components/Training.tsx
@@ -1,5 +1,5 @@
import React, { useEffect, useCallback, useState } from 'react';
-import { Box, Card, TableContainer, Table, Thead, Tbody, Tr, Th, Td } from '@chakra-ui/react';
+import { Box, TableContainer, Table, Thead, Tbody, Tr, Th, Td } from '@chakra-ui/react';
import { ModelType } from '@/types/model';
import { getModelTrainings } from '@/api/model';
import type { TrainingItemType } from '@/types/training';
@@ -29,7 +29,7 @@ const Training = ({ model }: { model: ModelType }) => {
const res = await getModelTrainings(id);
setRecords(res);
} catch (error) {
- console.log(error);
+ console.error(error);
}
}, []);
@@ -38,7 +38,7 @@ const Training = ({ model }: { model: ModelType }) => {
}, [loadTrainingRecords, model]);
return (
-
+ <>
训练记录: {model.trainingTimes}次
@@ -63,7 +63,7 @@ const Training = ({ model }: { model: ModelType }) => {
-
+ >
);
};
diff --git a/src/pages/model/detail.tsx b/src/pages/model/detail.tsx
index a23c7848a..2b4ed366c 100644
--- a/src/pages/model/detail.tsx
+++ b/src/pages/model/detail.tsx
@@ -11,12 +11,14 @@ import { useGlobalStore } from '@/store/global';
import { useScreen } from '@/hooks/useScreen';
import ModelEditForm from './components/ModelEditForm';
import Icon from '@/components/Icon';
-import Training from './components/Training';
+import dynamic from 'next/dynamic';
+
+const Training = dynamic(() => import('./components/Training'));
const ModelDetail = () => {
const { toast } = useToast();
const router = useRouter();
- const { isPc } = useScreen();
+ const { isPc, media } = useScreen();
const { setLoading } = useGlobalStore();
const { openConfirm, ConfirmChild } = useConfirm({
content: '确认删除该模型?'
@@ -39,10 +41,8 @@ const ModelDetail = () => {
const res = await getModelById(modelId as string);
res.security.expiredTime /= 60 * 60 * 1000;
setModel(res);
-
- console.log(res);
} catch (err) {
- console.log(err);
+ console.error(err);
}
setLoading(false);
}, [modelId, setLoading]);
@@ -63,7 +63,7 @@ const ModelDetail = () => {
});
router.replace('/model/list');
} catch (err) {
- console.log(err);
+ console.error(err);
}
setLoading(false);
}, [setLoading, model, router, toast]);
@@ -77,7 +77,7 @@ const ModelDetail = () => {
router.push(`/chat?chatId=${chatId}`);
} catch (err) {
- console.log(err);
+ console.error(err);
}
setLoading(false);
}, [setLoading, model, router]);
@@ -105,7 +105,7 @@ const ModelDetail = () => {
title: typeof err === 'string' ? err : '文件格式错误',
status: 'error'
});
- console.log(err);
+ console.error(err);
}
setLoading(false);
},
@@ -121,121 +121,121 @@ const ModelDetail = () => {
await putModelTrainingStatus(model._id);
loadModel();
} catch (error) {
- console.log(error);
+ console.error(error);
}
setLoading(false);
}, [setLoading, loadModel, model]);
return (
<>
- {!!model && (
- <>
- {/* 头部 */}
-
- {isPc ? (
-
-
- {model.name} 配置
-
-
+ {/* 头部 */}
+
+ {isPc ? (
+
+
+ {model?.name || '模型'} 配置
+
+ {!!model && (
+
+ {formatModelStatus[model.status].text}
+
+ )}
+
+
+
+ ) : (
+ <>
+
+
+ {model?.name || '模型'} 配置
+
+ {!!model && (
+
{formatModelStatus[model.status].text}
-
-
-
- ) : (
- <>
-
-
- {model.name} 配置
-
-
- {formatModelStatus[model.status].text}
-
-
-
-
-
- >
- )}
-
- {/* 基本信息编辑 */}
-
-
+ )}
+
+
+
+
+ >
+ )}
+
+ {/* 基本信息编辑 */}
+
+
+
+ {/* 其他配置 */}
+
+ {!!model && }
+
+
+ 神奇操作
- {/* 其他配置 */}
-
-
-
-
- 神奇操作
-
-
- 模型微调:
-
-
-
- 下载模板
-
-
- {/* 提示 */}
-
-
- 每行包括一个 prompt 和一个 completion
-
-
- prompt 必须以 \n\n###\n\n 结尾,且尽量保障每个 prompt
- 内容不都是同一个标点结尾,可以加一个空格打断相同性,
-
-
- completion 开头必须有一个空格,末尾必须以 ### 结尾,同样的不要都是同一个标点结尾。
-
-
-
- 删除模型:
-
-
-
-
- >
- )}
+
+ 模型微调:
+
+
+
+ 下载模板
+
+
+ {/* 提示 */}
+
+
+ 每行包括一个 prompt 和一个 completion
+
+
+ prompt 必须以 \n\n###\n\n 结尾,且尽量保障每个 prompt
+ 内容不都是同一个标点结尾,可以加一个空格打断相同性,
+
+
+ completion 开头必须有一个空格,末尾必须以 ### 结尾,同样的不要都是同一个标点结尾。
+
+
+
+ 删除模型:
+
+
+
+
diff --git a/src/pages/model/list.tsx b/src/pages/model/list.tsx
index b6d1d0f1e..c6057b81a 100644
--- a/src/pages/model/list.tsx
+++ b/src/pages/model/list.tsx
@@ -1,36 +1,32 @@
-import React, { useState, useEffect, useCallback } from 'react';
+import React, { useState, useCallback } from 'react';
import { Box, Button, Flex, Card } from '@chakra-ui/react';
import { getMyModels } from '@/api/model';
import { getChatSiteId } from '@/api/chat';
import { ModelType } from '@/types/model';
-import CreateModel from './components/CreateModel';
import { useRouter } from 'next/router';
import ModelTable from './components/ModelTable';
import ModelPhoneList from './components/ModelPhoneList';
import { useScreen } from '@/hooks/useScreen';
-import { useGlobalStore } from '@/store/global';
+import { useQuery } from '@tanstack/react-query';
+import { useLoading } from '@/hooks/useLoading';
+import dynamic from 'next/dynamic';
+
+const CreateModel = dynamic(() => import('./components/CreateModel'));
const ModelList = () => {
const { isPc } = useScreen();
const router = useRouter();
const [models, setModels] = useState([]);
const [openCreateModel, setOpenCreateModel] = useState(false);
- const { setLoading } = useGlobalStore();
+ const { Loading, setIsLoading } = useLoading();
/* 加载模型 */
- const loadModels = useCallback(async () => {
- setLoading(true);
- try {
- const res = await getMyModels();
+ const { isLoading } = useQuery(['loadModels'], () => getMyModels(), {
+ onSuccess(res) {
+ if (!res) return;
setModels(res);
- } catch (err) {
- console.log(err);
}
- setLoading(false);
- }, [setLoading]);
- useEffect(() => {
- loadModels();
- }, [loadModels]);
+ });
/* 创建成功回调 */
const createModelSuccess = useCallback((data: ModelType) => {
@@ -40,7 +36,7 @@ const ModelList = () => {
/* 点前往聊天预览页 */
const handlePreviewChat = useCallback(
async (modelId: string) => {
- setLoading(true);
+ setIsLoading(true);
try {
const chatId = await getChatSiteId(modelId);
@@ -48,11 +44,11 @@ const ModelList = () => {
shallow: true
});
} catch (err) {
- console.log(err);
+ console.error(err);
}
- setLoading(false);
+ setIsLoading(false);
},
- [router, setLoading]
+ [router, setIsLoading]
);
return (
@@ -78,11 +74,11 @@ const ModelList = () => {
)}
{/* 创建弹窗 */}
-
+ {openCreateModel && (
+
+ )}
+
+
);
};
diff --git a/src/service/mongo.ts b/src/service/mongo.ts
index 33322e26c..e68deb885 100644
--- a/src/service/mongo.ts
+++ b/src/service/mongo.ts
@@ -8,7 +8,7 @@ export async function connectToDatabase() {
return cachedClient;
}
- cachedClient = await mongoose.connect(process.env.MONGODB_UR as string, {
+ cachedClient = await mongoose.connect(process.env.MONGODB_URI as string, {
dbName: 'doc_gpt'
});
diff --git a/src/service/response.ts b/src/service/response.ts
index fe312a490..ea2cb1318 100644
--- a/src/service/response.ts
+++ b/src/service/response.ts
@@ -24,8 +24,8 @@ export const jsonRes = (
typeof error === 'string'
? error
: openaiError[error?.response?.data?.message] || error?.message || '请求错误';
-
- console.log(msg);
+ console.error(error);
+ console.error(msg);
}
res.json({
diff --git a/src/service/utils/sendEmail.ts b/src/service/utils/sendEmail.ts
index 0fcea75da..2923ec029 100644
--- a/src/service/utils/sendEmail.ts
+++ b/src/service/utils/sendEmail.ts
@@ -34,7 +34,7 @@ export const sendCode = (email: string, code: string, type: `${EmailTypeEnum}`)
};
mailTransport.sendMail(options, function (err, msg) {
if (err) {
- console.log(err);
+ console.error(err);
reject('邮箱异常');
} else {
resolve('');
@@ -53,7 +53,7 @@ export const sendTrainSucceed = (email: string, modelName: string) => {
};
mailTransport.sendMail(options, function (err, msg) {
if (err) {
- console.log(err);
+ console.error(err);
reject('邮箱异常');
} else {
resolve('');
diff --git a/src/styles/reset.scss b/src/styles/reset.scss
index bc7531aeb..c6b60dc7e 100644
--- a/src/styles/reset.scss
+++ b/src/styles/reset.scss
@@ -24,63 +24,9 @@ td,
svg {
margin: 0;
}
-body,
-button,
-input,
-select,
-textarea {
- font: 12px/1.5tahoma, arial, \5b8b\4f53;
-}
-// h1, h2, h3, h4, h5, h6{ font-size:100%; }
-address,
-cite,
-dfn,
-em,
-var {
- font-style: normal;
-}
-code,
-kbd,
-pre,
-samp {
- font-family: couriernew, courier, monospace;
-}
-small {
- font-size: 12px;
-}
-ul,
-ol {
- list-style: none;
- padding: 0;
-}
-a {
- text-decoration: none;
-}
-a:hover {
- text-decoration: underline;
-}
-sup {
- vertical-align: text-top;
-}
-sub {
- vertical-align: text-bottom;
-}
-legend {
- color: #000;
-}
-fieldset,
-img {
- border: 0;
-}
-button,
-input,
-select,
-textarea {
- font-size: 100%;
-}
-table {
- border-collapse: collapse;
- border-spacing: 0;
+
+#__next {
+ height: 100%;
}
::-webkit-scrollbar,
diff --git a/src/styles/scrollbar.module.scss b/src/styles/scrollbar.module.scss
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/utils/tools.ts b/src/utils/tools.ts
index bc8315dad..787651bb7 100644
--- a/src/utils/tools.ts
+++ b/src/utils/tools.ts
@@ -8,19 +8,25 @@ export const useCopyData = () => {
const { toast } = useToast();
return {
copyData: (data: string, title: string = '复制成功') => {
- const clipboardObj = navigator.clipboard;
- clipboardObj
- .writeText(data)
- .then(() => {
- toast({
- title,
- status: 'success',
- duration: 1000
- });
- })
- .catch((err) => {
- console.log(err);
+ try {
+ const textarea = document.createElement('textarea');
+ textarea.value = data;
+ document.body.appendChild(textarea);
+ textarea.select();
+ document.execCommand('copy');
+ document.body.removeChild(textarea);
+ toast({
+ title,
+ status: 'success',
+ duration: 1000
});
+ } catch (error) {
+ console.error(error);
+ toast({
+ title: '复制失败',
+ status: 'error'
+ });
+ }
}
};
};