Procházet zdrojové kódy

feat: 新版客户端升级提示信息增加复制功能

chenhao před 2 roky
rodič
revize
28dbd2461c
4 změnil soubory, kde provedl 21 přidání a 11 odebrání
  1. 1 0
      package.json
  2. 12 0
      pnpm-lock.yaml
  3. 7 11
      src/features/UserLogin/UserLogin.vue
  4. 1 0
      src/types/3rd.d.ts

+ 1 - 0
package.json

@@ -28,6 +28,7 @@
     "axios": "0.26.1",
     "axios-progress-bar": "^1.2.0",
     "axios-retry": "^3.2.5",
+    "copy-to-clipboard": "^3.3.2",
     "crypto-js": "^4.1.1",
     "face-api.js": "^0.22.2",
     "js-md5": "^0.7.3",

+ 12 - 0
pnpm-lock.yaml

@@ -20,6 +20,7 @@ specifiers:
   axios: 0.26.1
   axios-progress-bar: ^1.2.0
   axios-retry: ^3.2.5
+  copy-to-clipboard: ^3.3.2
   crypto-js: ^4.1.1
   electron: 1.7.16
   eslint: ^8.17.0
@@ -63,6 +64,7 @@ dependencies:
   axios: 0.26.1
   axios-progress-bar: 1.2.0_axios@0.26.1
   axios-retry: 3.2.5
+  copy-to-clipboard: 3.3.2
   crypto-js: 4.1.1
   face-api.js: 0.22.2
   js-md5: 0.7.3
@@ -1394,6 +1396,12 @@ packages:
       safe-buffer: 5.1.2
     dev: true
 
+  /copy-to-clipboard/3.3.2:
+    resolution: {integrity: sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==}
+    dependencies:
+      toggle-selection: 1.0.6
+    dev: false
+
   /core-js/3.23.1:
     resolution: {integrity: sha512-wfMYHWi1WQjpgZNC9kAlN4ut04TM9fUTdi7CqIoTVM7yaiOUQTklOzfb+oWH3r9edQcT3F887swuVmxrV+CC8w==}
     requiresBuild: true
@@ -3904,6 +3912,10 @@ packages:
     dependencies:
       is-number: 7.0.0
 
+  /toggle-selection/1.0.6:
+    resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
+    dev: false
+
   /tough-cookie/2.5.0:
     resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
     engines: {node: '>=0.8'}

+ 7 - 11
src/features/UserLogin/UserLogin.vue

@@ -31,6 +31,7 @@ import { limitLogin } from "./useLimitLogin";
 import { useNewVersion } from "./useNewVersion";
 import { useRemoteAppChecker } from "./useRemoteAppChecker";
 import { useVCamChecker } from "./useVCamChecker";
+import copy from "copy-to-clipboard";
 
 const dialog = useDialog();
 
@@ -118,26 +119,21 @@ onMounted(async () => {
             },
             [
               h("span", [
-                "下载地址: ",
-                h(
-                  "a",
-                  {
-                    href: "https://cdn.exam-cloud.cn/oe-student-client/setup/setup_ynou_V1.0.0.exe",
-                  },
-                  [
-                    "https://cdn.exam-cloud.cn/oe-student-client/setup/setup_ynou_V1.0.0.exe",
-                  ]
-                ),
+                "下载地址: https://cdn.exam-cloud.cn/oe-student-client/setup/setup_ynou_V1.0.0.exe",
               ]),
             ]
           ),
         ]);
       },
-      positiveText: "确定",
+      positiveText: "复制并退出",
       maskClosable: false,
       closeOnEsc: false,
       closable: false,
       onPositiveClick: () => {
+        // eslint-disable-next-line @typescript-eslint/no-unsafe-call
+        copy(
+          "https://cdn.exam-cloud.cn/oe-student-client/setup/setup_ynou_V1.0.0.exe"
+        );
         closeApp("notSupport");
       },
     });

+ 1 - 0
src/types/3rd.d.ts

@@ -1,2 +1,3 @@
 declare module "axios-progress-bar";
 declare module "alife-logger";
+declare module "copy-to-clipboard";