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 0000000..a58e643 Binary files /dev/null and b/src/assets/icon33.png differ diff --git a/src/assets/icon34.png b/src/assets/icon34.png new file mode 100644 index 0000000..cb7eb53 Binary files /dev/null and b/src/assets/icon34.png differ diff --git a/src/assets/icon35.png b/src/assets/icon35.png new file mode 100644 index 0000000..4e2c9d9 Binary files /dev/null and b/src/assets/icon35.png differ 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 ? '音频设置向导' : '视频测试'}
+
+
+ 音频输出设备: +