From 375fb2a0225db4e105bb41a1680c10354f9633d0 Mon Sep 17 00:00:00 2001 From: yj <1336058017@qq.com> Date: Fri, 5 Jul 2024 11:25:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=90=91=E5=AF=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .env.production | 2 +- .env.test | 2 +- .npmrc | 2 + package-lock.json | 786 +++++---------------------- package.json | 6 +- preload.js | 125 ++++- src/api/{Home => Login}/index.ts | 4 +- src/assets/icon33.png | Bin 0 -> 745 bytes src/assets/icon34.png | Bin 0 -> 2516 bytes src/assets/icon35.png | Bin 0 -> 2753 bytes src/page/Login/index.tsx | 9 +- src/page/Meeting/index.module.scss | 100 +++- src/page/Meeting/index.tsx | 144 ++++- src/render.d.ts | 10 +- src/utils/package/agoraConfig.js | 2 +- src/utils/package/basicEngagement.ts | 95 ---- src/utils/styles/App.css | 17 + src/utils/styles/App.min.css | 2 +- src/utils/styles/App.scss | 24 + 20 files changed, 533 insertions(+), 799 deletions(-) create mode 100644 .npmrc rename src/api/{Home => Login}/index.ts (63%) create mode 100644 src/assets/icon33.png create mode 100644 src/assets/icon34.png create mode 100644 src/assets/icon35.png delete mode 100644 src/utils/package/basicEngagement.ts diff --git a/.env.development b/.env.development index efe9af9..4ade7dd 100644 --- a/.env.development +++ b/.env.development @@ -1,5 +1,5 @@ #基础API 绝对的 -VITE_BASE_URL_API = 'http://192.168.2.9:6500' +VITE_BASE_URL_API = 'http://192.168.2.8:5192' VITE_BASE_URL_DRAW_API = 'http://192.168.2.9:6555' #当前IP 相对的 VITE_BASE_CURRENT_API = '.' diff --git a/.env.production b/.env.production index 6cf0585..281edce 100644 --- a/.env.production +++ b/.env.production @@ -1,5 +1,5 @@ #基础API 绝对的 -VITE_BASE_URL_API = 'http://192.168.2.9:6500' +VITE_BASE_URL_API = 'http://192.168.2.8:5192' VITE_BASE_URL_DRAW_API = 'http://192.168.2.9:6555' #当前IP 相对的 VITE_BASE_CURRENT_API = '.' diff --git a/.env.test b/.env.test index 26e7a60..691fc44 100644 --- a/.env.test +++ b/.env.test @@ -1,5 +1,5 @@ #基础API 绝对的 -VITE_BASE_URL_API = 'http://192.168.2.9:6500' +VITE_BASE_URL_API = 'http://192.168.2.8:5192' VITE_BASE_URL_DRAW_API = 'http://192.168.2.9:6555' #当前IP 相对的 VITE_BASE_CURRENT_API = '.' diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..6403ba2 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +agora_electron_sdk_arch=ia32 +arch=ia32 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 3b53ef3..aa0325e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "@vitejs/plugin-react": "^1.0.7", "concurrently": "^7.6.0", "cross-env": "^7.0.3", - "electron": "^17.4.11", + "electron": "^31.1.0", "typescript": "^4.5.4", "vite": "^2.8.0" } @@ -57,9 +57,9 @@ } }, "node_modules/@ant-design/colors": { - "version": "7.0.2", - "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.0.2.tgz", - "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.1.0.tgz", + "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", "dependencies": { "@ctrl/tinycolor": "^3.6.1" } @@ -2877,6 +2877,23 @@ "react-dom": ">=16.9.0" } }, + "node_modules/@rc-component/qrcode": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@rc-component/qrcode/-/qrcode-1.0.0.tgz", + "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", + "dependencies": { + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, "node_modules/@rc-component/tour": { "version": "1.15.0", "resolved": "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.15.0.tgz", @@ -3376,9 +3393,9 @@ } }, "node_modules/antd": { - "version": "5.18.3", - "resolved": "https://registry.npmmirror.com/antd/-/antd-5.18.3.tgz", - "integrity": "sha512-Dm3P8HBxoo/DiR/QZLj5Mk+rQZsSXxCCArSZACHGiklkkjW6klzlebAElOUr9NyDeFX7UnQ6LVk7vznXlnjTqQ==", + "version": "5.19.0", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.19.0.tgz", + "integrity": "sha512-+w+3zJUKqwU1GSXUxnKhzSGuWUqwwpHQm/voJr2X0JBdYxr9gkLhKR0HBhQjVSSJzSb86rB48fUbByHKrN05Xg==", "dependencies": { "@ant-design/colors": "^7.0.2", "@ant-design/cssinjs": "^1.21.0", @@ -3388,13 +3405,13 @@ "@ctrl/tinycolor": "^3.6.1", "@rc-component/color-picker": "~1.5.3", "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", "@rc-component/tour": "~1.15.0", "@rc-component/trigger": "^2.2.0", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.11", - "qrcode.react": "^3.1.0", - "rc-cascader": "~3.26.0", + "rc-cascader": "~3.27.0", "rc-checkbox": "~3.3.0", "rc-collapse": "~3.7.3", "rc-dialog": "~9.5.2", @@ -3405,16 +3422,16 @@ "rc-input": "~1.5.1", "rc-input-number": "~9.1.0", "rc-mentions": "~2.14.0", - "rc-menu": "~9.14.0", + "rc-menu": "~9.14.1", "rc-motion": "^2.9.2", "rc-notification": "~5.6.0", - "rc-pagination": "~4.0.4", - "rc-picker": "~4.5.0", + "rc-pagination": "~4.2.0", + "rc-picker": "~4.6.6", "rc-progress": "~4.0.0", "rc-rate": "~2.13.0", "rc-resize-observer": "^1.4.0", "rc-segmented": "~2.3.0", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-slider": "~10.6.2", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", @@ -3423,7 +3440,7 @@ "rc-textarea": "~1.7.0", "rc-tooltip": "~6.2.0", "rc-tree": "~5.8.8", - "rc-tree-select": "~5.21.0", + "rc-tree-select": "~5.22.1", "rc-upload": "~4.5.2", "rc-util": "^5.43.0", "scroll-into-view-if-needed": "^3.1.0", @@ -4341,9 +4358,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001639", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001639.tgz", - "integrity": "sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==", + "version": "1.0.30001640", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "dev": true, "funding": [ { @@ -4850,17 +4867,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "optional": true, - "dependencies": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -5621,21 +5627,21 @@ "dev": true }, "node_modules/electron": { - "version": "17.4.11", - "resolved": "https://registry.npmmirror.com/electron/-/electron-17.4.11.tgz", - "integrity": "sha512-mdSWM2iY/Bh5bKzd5drYS3mf8JWyR9P9UXZA2uLEZ+1fhgLEVkY9qu501QHoMsKlNwgn96EreQC+dfdQ75VTcA==", + "version": "31.1.0", + "resolved": "https://registry.npmmirror.com/electron/-/electron-31.1.0.tgz", + "integrity": "sha512-TBOwqLxSxnx6+pH6GMri7R3JPH2AkuGJHfWZS0p1HsmN+Qr1T9b0IRJnnehSd/3NZAmAre4ft9Ljec7zjyKFJA==", "dev": true, "hasInstallScript": true, "dependencies": { - "@electron/get": "^1.13.0", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" }, "bin": { "electron": "cli.js" }, "engines": { - "node": ">= 8.6" + "node": ">= 12.20.55" } }, "node_modules/electron-installer-common": { @@ -6085,9 +6091,9 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/electron-to-chromium": { - "version": "1.4.815", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.815.tgz", - "integrity": "sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==", + "version": "1.4.816", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", "dev": true }, "node_modules/electron-winstaller": { @@ -6147,127 +6153,24 @@ } }, "node_modules/electron/node_modules/@electron/get": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@electron/get/-/get-1.14.1.tgz", - "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", "dev": true, "dependencies": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", - "got": "^9.6.0", + "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "engines": { - "node": ">=8.6" + "node": ">=12" }, "optionalDependencies": { - "global-agent": "^3.0.0", - "global-tunnel-ng": "^2.7.1" - } - }, - "node_modules/electron/node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", - "dev": true - }, - "node_modules/electron/node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron/node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/electron/node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/electron/node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "node_modules/electron/node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - } - }, - "node_modules/electron/node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "global-agent": "^3.0.0" } }, "node_modules/electron/node_modules/fs-extra": { @@ -6284,43 +6187,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/electron/node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmmirror.com/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/electron/node_modules/got/node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron/node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, "node_modules/electron/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", @@ -6330,69 +6196,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/electron/node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/electron/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/electron/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/electron/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron/node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/electron/node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dev": true, - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/electron/node_modules/responselike/node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/electron/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", @@ -6422,16 +6225,6 @@ "resolved": "https://registry.npmmirror.com/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/encoding": { "version": "0.1.13", "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", @@ -8002,22 +7795,6 @@ "which": "bin/which" } }, - "node_modules/global-tunnel-ng": { - "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", - "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", - "dev": true, - "optional": true, - "dependencies": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - }, - "engines": { - "node": ">=0.10" - } - }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", @@ -10189,30 +9966,6 @@ "node": ">= 0.10" } }, - "node_modules/npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "optional": true, - "dependencies": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-conf/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -11029,13 +10782,6 @@ "node": ">=10" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true, - "optional": true - }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -11069,14 +10815,6 @@ "once": "^1.3.1" } }, - "node_modules/qrcode.react": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz", - "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/query-string": { "version": "5.1.1", "resolved": "https://registry.npmmirror.com/query-string/-/query-string-5.1.1.tgz", @@ -11123,14 +10861,14 @@ } }, "node_modules/rc-cascader": { - "version": "3.26.0", - "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.26.0.tgz", - "integrity": "sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==", + "version": "3.27.0", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.27.0.tgz", + "integrity": "sha512-z5uq8VvQadFUBiuZJ7YF5UAUGNkZtdEtcEYiIA94N/Kc2MIKr6lEbN5HyVddvYSgwWlKqnL6pH5bFXFuIK3MNg==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-tree": "~5.8.1", "rc-util": "^5.37.0" }, @@ -11362,9 +11100,9 @@ } }, "node_modules/rc-pagination": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz", - "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.2.0.tgz", + "integrity": "sha512-V6qeANJsT6tmOcZ4XiUmj8JXjRLbkusuufpuoBw2GiAn94fIixYjFLmbruD1Sbhn8fPLDnWawPp4CN37zQorvw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -11376,16 +11114,16 @@ } }, "node_modules/rc-picker": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.5.0.tgz", - "integrity": "sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==", + "version": "4.6.6", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.6.6.tgz", + "integrity": "sha512-sEWARCNlodubP7/IM6nXHDDIuKZ3gYd5CpS2cYcNORa2telX3nAfllqnGSGjGEFvdtyW+IqGAVatLOmFT0lKYg==", "dependencies": { - "@babel/runtime": "^7.10.1", + "@babel/runtime": "^7.24.7", "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.1", "rc-overflow": "^1.3.2", "rc-resize-observer": "^1.4.0", - "rc-util": "^5.38.1" + "rc-util": "^5.43.0" }, "engines": { "node": ">=8.x" @@ -11475,9 +11213,9 @@ } }, "node_modules/rc-select": { - "version": "14.14.0", - "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.14.0.tgz", - "integrity": "sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==", + "version": "14.15.0", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.15.0.tgz", + "integrity": "sha512-BDqnDLhhm/8VyyyDlX7ju06S75k6ObJvbsN86zqZ4SY1Fu2ANQxeSWPo7pnwx5nwA5JgG+HcQevtddAgsdeBVQ==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^2.1.1", @@ -11634,13 +11372,13 @@ } }, "node_modules/rc-tree-select": { - "version": "5.21.0", - "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.21.0.tgz", - "integrity": "sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==", + "version": "5.22.1", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.22.1.tgz", + "integrity": "sha512-b8mAK52xEpRgS+b2PTapCt29GoIrO5cO8jB7AfHttFsIJfcnynY9FCtnYzURsKXJkGHbFY6UzSEB2I3TETtdWg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-tree": "~5.8.1", "rc-util": "^5.16.1" }, @@ -13634,15 +13372,6 @@ "node": ">=0.10.0" } }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", @@ -13795,16 +13524,6 @@ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmmirror.com/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, "node_modules/type": { "version": "2.7.3", "resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz", @@ -14022,9 +13741,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -14766,9 +14485,9 @@ } }, "@ant-design/colors": { - "version": "7.0.2", - "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.0.2.tgz", - "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-7.1.0.tgz", + "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", "requires": { "@ctrl/tinycolor": "^3.6.1" } @@ -16581,6 +16300,16 @@ "rc-util": "^5.24.4" } }, + "@rc-component/qrcode": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@rc-component/qrcode/-/qrcode-1.0.0.tgz", + "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", + "requires": { + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + } + }, "@rc-component/tour": { "version": "1.15.0", "resolved": "https://registry.npmmirror.com/@rc-component/tour/-/tour-1.15.0.tgz", @@ -16988,9 +16717,9 @@ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==" }, "antd": { - "version": "5.18.3", - "resolved": "https://registry.npmmirror.com/antd/-/antd-5.18.3.tgz", - "integrity": "sha512-Dm3P8HBxoo/DiR/QZLj5Mk+rQZsSXxCCArSZACHGiklkkjW6klzlebAElOUr9NyDeFX7UnQ6LVk7vznXlnjTqQ==", + "version": "5.19.0", + "resolved": "https://registry.npmmirror.com/antd/-/antd-5.19.0.tgz", + "integrity": "sha512-+w+3zJUKqwU1GSXUxnKhzSGuWUqwwpHQm/voJr2X0JBdYxr9gkLhKR0HBhQjVSSJzSb86rB48fUbByHKrN05Xg==", "requires": { "@ant-design/colors": "^7.0.2", "@ant-design/cssinjs": "^1.21.0", @@ -17000,13 +16729,13 @@ "@ctrl/tinycolor": "^3.6.1", "@rc-component/color-picker": "~1.5.3", "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", "@rc-component/tour": "~1.15.0", "@rc-component/trigger": "^2.2.0", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.11", - "qrcode.react": "^3.1.0", - "rc-cascader": "~3.26.0", + "rc-cascader": "~3.27.0", "rc-checkbox": "~3.3.0", "rc-collapse": "~3.7.3", "rc-dialog": "~9.5.2", @@ -17017,16 +16746,16 @@ "rc-input": "~1.5.1", "rc-input-number": "~9.1.0", "rc-mentions": "~2.14.0", - "rc-menu": "~9.14.0", + "rc-menu": "~9.14.1", "rc-motion": "^2.9.2", "rc-notification": "~5.6.0", - "rc-pagination": "~4.0.4", - "rc-picker": "~4.5.0", + "rc-pagination": "~4.2.0", + "rc-picker": "~4.6.6", "rc-progress": "~4.0.0", "rc-rate": "~2.13.0", "rc-resize-observer": "^1.4.0", "rc-segmented": "~2.3.0", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-slider": "~10.6.2", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", @@ -17035,7 +16764,7 @@ "rc-textarea": "~1.7.0", "rc-tooltip": "~6.2.0", "rc-tree": "~5.8.8", - "rc-tree-select": "~5.21.0", + "rc-tree-select": "~5.22.1", "rc-upload": "~4.5.2", "rc-util": "^5.43.0", "scroll-into-view-if-needed": "^3.1.0", @@ -17712,9 +17441,9 @@ "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==" }, "caniuse-lite": { - "version": "1.0.30001639", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001639.tgz", - "integrity": "sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==", + "version": "1.0.30001640", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "dev": true }, "canvas-size": { @@ -18099,17 +17828,6 @@ } } }, - "config-chain": { - "version": "1.1.13", - "resolved": "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz", - "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", - "dev": true, - "optional": true, - "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" - } - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -18695,118 +18413,32 @@ "dev": true }, "electron": { - "version": "17.4.11", - "resolved": "https://registry.npmmirror.com/electron/-/electron-17.4.11.tgz", - "integrity": "sha512-mdSWM2iY/Bh5bKzd5drYS3mf8JWyR9P9UXZA2uLEZ+1fhgLEVkY9qu501QHoMsKlNwgn96EreQC+dfdQ75VTcA==", + "version": "31.1.0", + "resolved": "https://registry.npmmirror.com/electron/-/electron-31.1.0.tgz", + "integrity": "sha512-TBOwqLxSxnx6+pH6GMri7R3JPH2AkuGJHfWZS0p1HsmN+Qr1T9b0IRJnnehSd/3NZAmAre4ft9Ljec7zjyKFJA==", "dev": true, "requires": { - "@electron/get": "^1.13.0", - "@types/node": "^14.6.2", - "extract-zip": "^1.0.3" + "@electron/get": "^2.0.0", + "@types/node": "^20.9.0", + "extract-zip": "^2.0.1" }, "dependencies": { "@electron/get": { - "version": "1.14.1", - "resolved": "https://registry.npmmirror.com/@electron/get/-/get-1.14.1.tgz", - "integrity": "sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==", + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@electron/get/-/get-2.0.3.tgz", + "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==", "dev": true, "requires": { "debug": "^4.1.1", "env-paths": "^2.2.0", "fs-extra": "^8.1.0", "global-agent": "^3.0.0", - "global-tunnel-ng": "^2.7.1", - "got": "^9.6.0", + "got": "^11.8.5", "progress": "^2.0.3", "semver": "^6.2.0", "sumchecker": "^3.0.1" } }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", - "dev": true - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dev": true, - "requires": { - "mimic-response": "^1.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true - }, - "extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmmirror.com/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "requires": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", @@ -18818,39 +18450,6 @@ "universalify": "^0.1.0" } }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmmirror.com/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - } - } - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "dev": true - }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", @@ -18860,59 +18459,6 @@ "graceful-fs": "^4.1.6" } }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, - "requires": { - "json-buffer": "3.0.0" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "dev": true - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dev": true, - "requires": { - "lowercase-keys": "^1.0.0" - }, - "dependencies": { - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true - } - } - }, "semver": { "version": "6.3.1", "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", @@ -19258,9 +18804,9 @@ } }, "electron-to-chromium": { - "version": "1.4.815", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.815.tgz", - "integrity": "sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==", + "version": "1.4.816", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.816.tgz", + "integrity": "sha512-EKH5X5oqC6hLmiS7/vYtZHZFTNdhsYG5NVPRN6Yn0kQHNBlT59+xSM8HBy66P5fxWpKgZbPqb+diC64ng295Jw==", "dev": true }, "electron-winstaller": { @@ -19320,13 +18866,6 @@ "resolved": "https://registry.npmmirror.com/enabled/-/enabled-2.0.0.tgz", "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==" }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "optional": true - }, "encoding": { "version": "0.1.13", "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", @@ -20456,19 +19995,6 @@ } } }, - "global-tunnel-ng": { - "version": "2.7.1", - "resolved": "https://registry.npmmirror.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", - "integrity": "sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==", - "dev": true, - "optional": true, - "requires": { - "encodeurl": "^1.0.2", - "lodash": "^4.17.10", - "npm-conf": "^1.1.3", - "tunnel": "^0.0.6" - } - }, "globals": { "version": "11.12.0", "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", @@ -22114,26 +21640,6 @@ "once": "^1.3.2" } }, - "npm-conf": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/npm-conf/-/npm-conf-1.1.3.tgz", - "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", - "dev": true, - "optional": true, - "requires": { - "config-chain": "^1.1.11", - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz", - "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", - "dev": true, - "optional": true - } - } - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -22717,13 +22223,6 @@ "retry": "^0.12.0" } }, - "proto-list": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", - "dev": true, - "optional": true - }, "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -22759,12 +22258,6 @@ } } }, - "qrcode.react": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/qrcode.react/-/qrcode.react-3.1.0.tgz", - "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", - "requires": {} - }, "query-string": { "version": "5.1.1", "resolved": "https://registry.npmmirror.com/query-string/-/query-string-5.1.1.tgz", @@ -22788,14 +22281,14 @@ "dev": true }, "rc-cascader": { - "version": "3.26.0", - "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.26.0.tgz", - "integrity": "sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==", + "version": "3.27.0", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.27.0.tgz", + "integrity": "sha512-z5uq8VvQadFUBiuZJ7YF5UAUGNkZtdEtcEYiIA94N/Kc2MIKr6lEbN5HyVddvYSgwWlKqnL6pH5bFXFuIK3MNg==", "requires": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-tree": "~5.8.1", "rc-util": "^5.37.0" } @@ -22961,9 +22454,9 @@ } }, "rc-pagination": { - "version": "4.0.4", - "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.0.4.tgz", - "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-4.2.0.tgz", + "integrity": "sha512-V6qeANJsT6tmOcZ4XiUmj8JXjRLbkusuufpuoBw2GiAn94fIixYjFLmbruD1Sbhn8fPLDnWawPp4CN37zQorvw==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -22971,16 +22464,16 @@ } }, "rc-picker": { - "version": "4.5.0", - "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.5.0.tgz", - "integrity": "sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==", + "version": "4.6.6", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-4.6.6.tgz", + "integrity": "sha512-sEWARCNlodubP7/IM6nXHDDIuKZ3gYd5CpS2cYcNORa2telX3nAfllqnGSGjGEFvdtyW+IqGAVatLOmFT0lKYg==", "requires": { - "@babel/runtime": "^7.10.1", + "@babel/runtime": "^7.24.7", "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.1", "rc-overflow": "^1.3.2", "rc-resize-observer": "^1.4.0", - "rc-util": "^5.38.1" + "rc-util": "^5.43.0" } }, "rc-progress": { @@ -23026,9 +22519,9 @@ } }, "rc-select": { - "version": "14.14.0", - "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.14.0.tgz", - "integrity": "sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==", + "version": "14.15.0", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.15.0.tgz", + "integrity": "sha512-BDqnDLhhm/8VyyyDlX7ju06S75k6ObJvbsN86zqZ4SY1Fu2ANQxeSWPo7pnwx5nwA5JgG+HcQevtddAgsdeBVQ==", "requires": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^2.1.1", @@ -23131,13 +22624,13 @@ } }, "rc-tree-select": { - "version": "5.21.0", - "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.21.0.tgz", - "integrity": "sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==", + "version": "5.22.1", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.22.1.tgz", + "integrity": "sha512-b8mAK52xEpRgS+b2PTapCt29GoIrO5cO8jB7AfHttFsIJfcnynY9FCtnYzURsKXJkGHbFY6UzSEB2I3TETtdWg==", "requires": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "~14.14.0", + "rc-select": "~14.15.0", "rc-tree": "~5.8.1", "rc-util": "^5.16.1" } @@ -24631,12 +24124,6 @@ } } }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true - }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz", @@ -24757,13 +24244,6 @@ "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.3.tgz", "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, - "tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmmirror.com/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "dev": true, - "optional": true - }, "type": { "version": "2.7.3", "resolved": "https://registry.npmmirror.com/type/-/type-2.7.3.tgz", @@ -24923,9 +24403,9 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "requires": { "escalade": "^3.1.2", diff --git a/package.json b/package.json index 3bf38d4..8b55a64 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "make:prod": "vite build --mode production & electron-forge make" }, "agora_electron": { - "prebuilt": true + "platform": "win32", + "prebuilt": true, + "arch": "ia32" }, "dependencies": { "@ant-design/icons": "^5.3.7", @@ -53,7 +55,7 @@ "@vitejs/plugin-react": "^1.0.7", "concurrently": "^7.6.0", "cross-env": "^7.0.3", - "electron": "^17.4.11", + "electron": "^31.1.0", "typescript": "^4.5.4", "vite": "^2.8.0" }, diff --git a/preload.js b/preload.js index 13e9748..325adec 100644 --- a/preload.js +++ b/preload.js @@ -7,8 +7,10 @@ const { VideoViewSetupMode, ScreenCaptureSourceType, RenderModeType, + ChannelProfileType } = require("agora-electron-sdk"); -const agoraAonfig = require('./src/utils/package/agoraConfig') +const agoraAonfig = require('./src/utils/package/agoraConfig'); +const { message } = require('antd'); const rtcEngine = createAgoraRtcEngine(); rtcEngine.initialize({ appId: agoraAonfig.appid, @@ -22,28 +24,26 @@ const getDom = () => { const EventHandles = { // 监听本地用户加入频道事件 onJoinChannelSuccess: ({ channelId, localUid }, elapsed) => { - const dom = document.getElementById('video1') + console.log({ channelId, localUid }); // 本地用户加入频道后,设置本地视频窗口 rtcEngine.setupLocalVideo({ renderMode: RenderModeType.RenderModeFit, sourceType: VideoSourceType.VideoSourceScreen, + // sourceType: VideoSourceType.VideoSourceCameraPrimary, uid: localUid, - view: dom, - // view: getDom(), + view: getDom(), setupMode: VideoViewSetupMode.VideoViewSetupAdd, }); }, // 监听远端用户加入频道事件 onUserJoined: ({ channelId, localUid }, remoteUid, elapsed) => { - console.log('远端用户 ' + remoteUid + ' 已加入'); - const dom = document.getElementById('video2') // 远端用户加入频道后,设置远端视频窗口 rtcEngine.setupRemoteVideo( { renderMode: RenderModeType.RenderModeFit, sourceType: VideoSourceType.VideoSourceRemote, uid: remoteUid, - view: dom, + view: getDom(), setupMode: VideoViewSetupMode.VideoViewSetupAdd, }, { channelId }, @@ -51,24 +51,28 @@ const EventHandles = { }, // 监听用户离开频道事件 - onUserOffline: (info, remoteUid, reason) => { - console.log('远端用户 ' + remoteUid + ' 已离开频道'); + onUserOffline: ({ channelId, localUid }, remoteUid, reason) => { // 远端用户离开频道后,关闭远端视频窗口 - const dom = document.getElementById('video2') rtcEngine.setupRemoteVideo( { renderMode: RenderModeType.RenderModeFit, sourceType: VideoSourceType.VideoSourceRemote, uid: remoteUid, - view: dom, + view: getDom(), setupMode: VideoViewSetupMode.VideoViewSetupRemove, }, ); }, + // 用户音量提示回调。 + onAudioVolumeIndication: (connection, speakers, speakerNumber, totalVolume) => { + const percentage = (totalVolume / 255) * 100 + if (document.getElementById('recordingDeviceTest')) { + document.getElementById('recordingDeviceTest').style.width = `${percentage}%` + } + } }; rtcEngine.registerEventHandler(EventHandles); - contextBridge.exposeInMainWorld( 'electron', { @@ -77,7 +81,7 @@ contextBridge.exposeInMainWorld( return rtcEngine.getScreenCaptureSources({ width: 300, height: 300 }, { width: 300, height: 300 }, true); }, - // 设置视频播放 + // 共享屏幕采集 setDesktopCapturerVideo: (targetSource) => { rtcEngine.stopScreenCapture() if ( @@ -105,7 +109,10 @@ contextBridge.exposeInMainWorld( ); } videoID = `vidoe-${123}-${agoraAonfig.channelId}`; - rtcEngine.joinChannel(agoraAonfig.token, agoraAonfig.channelId, 123, { + rtcEngine.joinChannelEx(agoraAonfig.token, { + channelId: agoraAonfig.channelId, + localUid: 123, + }, { autoSubscribeAudio: true, //设置是否自动订阅所有音频流 autoSubscribeVideo: true, //设置是否自动订阅所有视频流 publishMicrophoneTrack: false, //设置是否发布麦克风采集到的音频 @@ -114,6 +121,23 @@ contextBridge.exposeInMainWorld( publishScreenTrack: true, //设置是否发布屏幕采集的视频 }); }, + // 摄像头采集 + setCameraCapture: () => { + rtcEngine.startCameraCapture(VideoSourceType.VideoSourceCamera, {}) + videoID = `vidoe-${123}-${agoraAonfig.channelId}`; + rtcEngine.joinChannelEx(agoraAonfig.token, { + channelId: agoraAonfig.channelId, + localUid: 123, + }, { + channelProfile: ChannelProfileType.ChannelProfileLiveBroadcasting, //设置频道场景为直播场景 + clientRoleType: ClientRoleType.ClientRoleBroadcaster, //设置用户角色为主播;如果要将用户角色设置为观众,保持默认值即可 + publishMicrophoneTrack: true, //发布麦克风采集的音频 + publishCameraTrack: true, //发布摄像头采集的视频 + autoSubscribeAudio: true, //自动订阅所有音频流 + autoSubscribeVideo: true, //自动订阅所有视频流 + publishScreenTrack: false, //设置是否发布屏幕采集的视频 + }); + }, // 加入频道 setJoinChannel: () => { videoID = `vidoe-${234}-${agoraAonfig.channelId}`; @@ -133,18 +157,73 @@ contextBridge.exposeInMainWorld( getVideoId: () => { return videoID; }, - // 获取摄像头以及音频内容 - getCameraAndMicrophoneMedia: async () => { - try { - const stream = await navigator.mediaDevices.getUserMedia({ + // 获取音频设备列表 + getAudioMediaList: () => { + return { + currentDevice: rtcEngine.getAudioDeviceManager().getRecordingDefaultDevice(), + currentDevices: rtcEngine.getAudioDeviceManager().enumerateRecordingDevices(), + currentVolume: rtcEngine.getAudioDeviceManager().getRecordingDeviceVolume() + } + }, + // 设置音频设备音量 + setRecordingDeviceVolume: (volume) => { + rtcEngine.getAudioDeviceManager().setRecordingDeviceVolume(volume) + }, + // 设置音频采集设备 + setRecordingDevice: (deviceId) => { + rtcEngine.getAudioDeviceManager().setRecordingDevice(deviceId) + }, + // 启动音频采集设备测试 + startRecordingDeviceTest: (indicationInterval) => { + rtcEngine.getAudioDeviceManager().startRecordingDeviceTest(indicationInterval) + navigator.mediaDevices.getUserMedia({ audio: true }) + .then((stream) => { + let dom = document.getElementById('startAudio'); + dom.srcObject = stream; + dom.play() + }) + .catch((error) => { + message.error('无法获取麦克风!'); + }); + }, + // 停止音频设备回路测试 + stopAudioDeviceLoopbackTest: () => { + rtcEngine.getAudioDeviceManager().stopAudioDeviceLoopbackTest() + rtcEngine.getAudioDeviceManager().stopRecordingDeviceTest() + let video = document.getElementById('startPreview'); + if (video.srcObject) { + const tracks = video.srcObject.getTracks(); + tracks.forEach((track) => { + track.stop(); + }); + video.srcObject = null; + } + let audio = document.getElementById('startAudio'); + if (audio.srcObject) { + const tracks = audio.srcObject.getTracks(); + tracks.forEach((track) => { + track.stop(); + }); + audio.srcObject = null; + } + }, + // 开启本地视频预览 + startPreview: async () => { + return new Promise((resolve, reject) => { + navigator.mediaDevices.getUserMedia({ video: true, audio: true, + }).then((stream) => { + let dom = document.getElementById('startPreview'); + dom.srcObject = stream; + dom.play() + resolve(true) + }).catch((error) => { + message.error('无法获取摄像头!'); + resolve(true) }); - stream.getTracks().forEach(track => track.stop()); - return stream - } catch (error) { - return false; - } + }) + }, // 设置窗口大小 setMainWindowSize: (config) => { diff --git a/src/api/Home/index.ts b/src/api/Login/index.ts similarity index 63% rename from src/api/Home/index.ts rename to src/api/Login/index.ts index 4261fcd..7c7e7c2 100644 --- a/src/api/Home/index.ts +++ b/src/api/Login/index.ts @@ -1,7 +1,7 @@ import { request } from '@/utils' -export const GetViewSize = (data: any) => +export const GetCheckUser = (userName: string) => request({ - url: `/draw/position?X=${data.X}&Y=${data.Y}&Width=${data.Width}&Height=${data.Height}&ImageUrl=${data.ImageUrl}&ImageWidth=${data.ImageWidth}&ImageHeight=${data.ImageHeight}`, + url: `/auth/check-user?userName=${userName}`, method: 'get' }) diff --git a/src/assets/icon33.png b/src/assets/icon33.png new file mode 100644 index 0000000000000000000000000000000000000000..a58e643f8d15f7b9691d461597c607a7e26996c6 GIT binary patch literal 745 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 Hu0mjfv{)E! literal 0 HcmV?d00001 diff --git a/src/page/Login/index.tsx b/src/page/Login/index.tsx index 67fa65a..3fb736c 100644 --- a/src/page/Login/index.tsx +++ b/src/page/Login/index.tsx @@ -4,6 +4,8 @@ import { useEffect, useState } from "react"; import { useNavigate } from 'react-router-dom'; import { Input, Button, Checkbox } from "antd" import { storage } from '@/utils' +import { GetCheckUser } from '@/api/Login' + const Login: React.FC = () => { const navigate = useNavigate(); const [accountPasswordStatus, setAccountPasswordStatus] = useState(false); @@ -124,6 +126,9 @@ const Login: React.FC = () => { ...operation, account: e.target.value }) + // GetCheckUser(e.target.value).then(res => { + // console.log(res); + // }) }} className={`${styles.loginInputIcon} drag`} style={{ marginBottom: '12px' }} @@ -176,12 +181,12 @@ const Login: React.FC = () => { or
-
+ {/*
-
+
*/} diff --git a/src/page/Meeting/index.module.scss b/src/page/Meeting/index.module.scss index 4e7fda1..1167662 100644 --- a/src/page/Meeting/index.module.scss +++ b/src/page/Meeting/index.module.scss @@ -117,7 +117,7 @@ .meetingContentSwiperCardVdeio { width: 100%; height: 100%; - background:black url('/src/assets/error.png') no-repeat center/30%; + background: black url('/src/assets/error.png') no-repeat center/30%; } } } @@ -128,12 +128,11 @@ width: 1378px; margin: 0 auto; height: 0px; - display: flex; + .meetingContentVideoDom { - border: 1px red solid; - width: 50%; + width: 100%; height: 100%; - background:black url('/src/assets/error.png') no-repeat center/30%; + background: black url('/src/assets/error.png') no-repeat center/30%; } } @@ -507,6 +506,7 @@ } } +// 共享屏幕 .sharedScreenModal { display: flex; flex-direction: column; @@ -514,10 +514,10 @@ >div:nth-child(1) { display: flex; flex-wrap: wrap; - max-height: 50vh; - overflow-y: auto; align-content: flex-start; padding: 50px 0 0; + max-height: 40vh; + overflow-y: auto; >div { display: flex; @@ -576,4 +576,90 @@ justify-content: space-between; margin-top: 20px; } +} + +// 设置向导 +.stupWizard { + display: flex; + flex-direction: column; + + >div:nth-child(1) { + padding: 20px 0 0; + overflow-x: hidden; + max-height: 60vh; + overflow-y: auto; + + >div:nth-child(1) { + color: #EEEEEE; + font-weight: bold; + font-size: 20px; + } + + >div:nth-child(2) { + >div { + display: flex; + align-items: center; + margin-top: 22px; + + >span { + flex-shrink: 0; + color: #828282; + font-size: 18px; + width: 130px; + } + } + } + + >div:nth-child(3) { + margin-top: 34px; + + >span { + color: #828282; + font-size: 18px; + } + + >div { + display: flex; + align-items: center; + margin-top: 20px; + + >img { + flex-shrink: 0; + width: 36px; + margin-right: 20px; + } + + >div { + flex-grow: 1; + height: 40px; + position: relative; + + >img { + height: 100%; + } + + >div { + position: absolute; + left: 0; + top: 0; + height: 100%; + width: 0%; + overflow: hidden; + + >img { + height: 100%; + } + } + } + } + } + } + + >div:nth-child(2) { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: flex-end; + margin-top: 20px; + } } \ No newline at end of file diff --git a/src/page/Meeting/index.tsx b/src/page/Meeting/index.tsx index b8b7d68..70fc9e5 100644 --- a/src/page/Meeting/index.tsx +++ b/src/page/Meeting/index.tsx @@ -6,7 +6,7 @@ import { Swiper, SwiperSlide } from 'swiper/react'; import 'swiper/css'; import 'swiper/css/navigation'; import 'swiper/css/pagination'; -import { Button, Input, Popover, Modal, Checkbox, message } from "antd"; +import { Button, Input, Popover, Modal, Checkbox, message, Select, Slider } from "antd"; import { SearchOutlined } from '@ant-design/icons'; import { useNavigate } from 'react-router-dom'; import { thumbImageBufferToBase64 } from '@/utils/package/base64' @@ -17,6 +17,7 @@ const Meeting: React.FC = () => { userChatList: false, }) const [isSharedScreenModal, setIsSharedScreenModal] = useState(false); + const [isStupWizard, setIsStupWizard] = useState(false); const [sharedScreenList, setSharedScreenList] = useState([]); const [sharedScreenItem, setSharedScreenItem] = useState(''); const [footerList] = useState([ @@ -77,6 +78,13 @@ const Meeting: React.FC = () => { }, ], ]) + const [audioDeviceManager, setAudioDeviceManager] = useState({ + currentDevices: [], + currentDevice: {}, + currentVolume: 0, + }); + const [stepsStatus, setStepsStatus] = useState(true); + const [isVideoLoad, setIsVideoLoad] = useState(false); const [list] = useState([1, 2, 3, 4, 5, 6, 7]) const [open, setOpen] = useState(false) const [videoID, setVideoID] = useState('') @@ -107,7 +115,10 @@ const Meeting: React.FC = () => { window.electron.setJoinChannel() setVideoID(window.electron.getVideoId()) break; - default: + case '设置向导': + getAudioMediaList() + window.electron.startRecordingDeviceTest(200) + setIsStupWizard(true) break; } } @@ -126,6 +137,7 @@ const Meeting: React.FC = () => { } } } + const getDesktopCapturerVideo = (): void => { window.electron.getDesktopCapturerVideo().then((res: any) => { if (sharedScreenList.length !== res.length) { @@ -141,6 +153,21 @@ const Meeting: React.FC = () => { } }) }; + + const getAudioMediaList = (): void => { + const { currentDevices, currentDevice, currentVolume } = window.electron.getAudioMediaList(); + setAudioDeviceManager({ + currentDevices: currentDevices.map((row: any) => { + return { + value: row.deviceId, + label: row.deviceName + } + }), + currentDevice: currentDevice.deviceId, + currentVolume, + }) + } + return ( <>
@@ -183,8 +210,8 @@ const Meeting: React.FC = () => { {list.map((item) =>
- -
{item}
+
+ {/*
{item}
*/} {meetingContentUser()}
@@ -192,10 +219,8 @@ const Meeting: React.FC = () => {
-
-
- {/*
*/} - {/* {meetingContentUser()} */} +
+ {meetingContentUser()}
{ @@ -332,6 +357,109 @@ const Meeting: React.FC = () => { + +
+
+
{stepsStatus ? '音频设置向导' : '视频测试'}
+
+
+ 音频输出设备: +