From 8e6eff54f4ec58cfa8e1f2e8797e2e9fd6d4db19 Mon Sep 17 00:00:00 2001 From: "ex_zhangwenlei@exiot.cmcc" <15196725410@139.com> Date: Tue, 19 Nov 2024 18:12:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BD=E9=99=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/node.js.yml | 2 - package.json | 1 + pnpm-lock.yaml | 56 ++++++--- public/readme-en.md | 31 +++++ public/{readme.md => readme-zh-cn.md} | 0 .../{人口登记表.xlsx => 人口登记表-en.xlsx} | Bin public/人口登记表-zhCn.xlsx | Bin 0 -> 10859 bytes src/App.vue | 8 +- src/components/PlayMusic/index.vue | 2 +- src/locales/en.ts | 111 ++++++++++++++++++ src/locales/i18n.ts | 29 +++++ src/locales/zhCn.ts | 111 ++++++++++++++++++ src/main.ts | 3 +- src/router/index.ts | 19 +-- src/store/globalConfig.ts | 13 +- src/views/Config/Global/FaceConfig.vue | 64 ++++++---- src/views/Config/Global/ImageConfig.vue | 4 +- src/views/Config/Global/MusicConfig.vue | 10 +- src/views/Config/Person/PersonAll.vue | 32 ++--- src/views/Config/Person/PersonAlready.vue | 6 +- src/views/Config/Prize/PrizeConfig.vue | 30 ++--- src/views/Config/index.vue | 4 +- vite.config.ts | 3 +- 23 files changed, 438 insertions(+), 101 deletions(-) create mode 100644 public/readme-en.md rename public/{readme.md => readme-zh-cn.md} (100%) rename public/{人口登记表.xlsx => 人口登记表-en.xlsx} (100%) create mode 100644 public/人口登记表-zhCn.xlsx create mode 100644 src/locales/en.ts create mode 100644 src/locales/i18n.ts create mode 100644 src/locales/zhCn.ts diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 05ea413..ebf9662 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -4,8 +4,6 @@ name: Node.js CI on: - push: - branches: [ "main" ] pull_request: branches: [ "main" ] diff --git a/package.json b/package.json index e4ef8e8..06241e7 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "three-css3d": "^1.0.6", "vue": "^3.4.31", "vue-dompurify-html": "^5.1.0", + "vue-i18n": "^10.0.4", "vue-router": "^4.4.0", "vue-toast-notification": "^3", "vue3-colorpicker": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 78ed7e3..83dafbb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,6 +56,9 @@ importers: vue-dompurify-html: specifier: ^5.1.0 version: 5.1.0(vue@3.4.31(typescript@5.5.3)) + vue-i18n: + specifier: ^10.0.4 + version: 10.0.4(vue@3.4.31(typescript@5.5.3)) vue-router: specifier: ^4.4.0 version: 4.4.0(vue@3.4.31(typescript@5.5.3)) @@ -565,6 +568,18 @@ packages: '@iconify/utils@2.1.25': resolution: {integrity: sha512-Y+iGko8uv/Fz5bQLLJyNSZGOdMW0G7cnlEX1CiNcKsRXX9cq/y/vwxrIAtLCZhKHr3m0VJmsjVPsvnM4uX8YLg==} + '@intlify/core-base@10.0.4': + resolution: {integrity: sha512-GG428DkrrWCMhxRMRQZjuS7zmSUzarYcaHJqG9VB8dXAxw4iQDoKVQ7ChJRB6ZtsCsX3Jse1PEUlHrJiyQrOTg==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@10.0.4': + resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==} + engines: {node: '>= 16'} + + '@intlify/shared@10.0.4': + resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==} + engines: {node: '>= 16'} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1034,6 +1049,7 @@ packages: acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 @@ -3230,11 +3246,6 @@ packages: uglify-js: optional: true - terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} - engines: {node: '>=10'} - hasBin: true - terser@5.31.1: resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} engines: {node: '>=10'} @@ -3590,6 +3601,12 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-i18n@10.0.4: + resolution: {integrity: sha512-1xkzVxqBLk2ZFOmeI+B5r1J7aD/WtNJ4j9k2mcFcQo5BnOmHBmD7z4/oZohh96AAaRZ4Q7mNQvxc9h+aT+Md3w==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + vue-router@4.4.0: resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==} peerDependencies: @@ -4166,6 +4183,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@intlify/core-base@10.0.4': + dependencies: + '@intlify/message-compiler': 10.0.4 + '@intlify/shared': 10.0.4 + + '@intlify/message-compiler@10.0.4': + dependencies: + '@intlify/shared': 10.0.4 + source-map-js: 1.2.0 + + '@intlify/shared@10.0.4': {} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -7042,18 +7071,10 @@ snapshots: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.24.0 + terser: 5.31.1 webpack: 5.89.0 optional: true - terser@5.24.0: - dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.12.0 - commander: 2.20.3 - source-map-support: 0.5.21 - optional: true - terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.5 @@ -7437,6 +7458,13 @@ snapshots: transitivePeerDependencies: - supports-color + vue-i18n@10.0.4(vue@3.4.31(typescript@5.5.3)): + dependencies: + '@intlify/core-base': 10.0.4 + '@intlify/shared': 10.0.4 + '@vue/devtools-api': 6.5.1 + vue: 3.4.31(typescript@5.5.3) + vue-router@4.4.0(vue@3.4.31(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.5.1 diff --git a/public/readme-en.md b/public/readme-en.md new file mode 100644 index 0000000..a18f483 --- /dev/null +++ b/public/readme-en.md @@ -0,0 +1,31 @@ +# Operation Guide + +## Steps + +1. Upon first entry, no data will be displayed. You can choose to use default data to view the overall display effect. It is recommended to import your own data for operation. The steps are as follows: + + a. Personnel Configuration - Personnel List - Download Template, download the data template and modify it with your data (please note that the header cannot be modified). + + b. After modification, click 'Upload File' on the same page to upload the modified Excel table. + +2. Enter the Prize Configuration to modify your prize information. Try to keep the name short for better display; "All Participants" indicates whether this award will be drawn from all participants (those who have already won can still participate); "Winners" refers to the number of people to be drawn for this award; "Already Won" cannot be edited; "Selected" means this award has been used, unselecting it will reset the award but not the winners; "Image" is the prize image displayed on the home page (you can upload images in the image list); "Left Icon" is used to adjust the order of prizes. + +Completing the above two steps allows normal use. + +## Function Description + +1. Add Temporary Draw: There is a '+' button in the prize list on the draw page. Clicking it allows you to add a temporary draw. Note: Only one temporary draw can be added at a time. After adding successfully, the current prize will be set to the temporary prize, and after drawing, it will return to the normal prize list. +2. Music and Image List: You can upload files yourself for use. After uploading images successfully, you can select them in the prize configuration for display. After uploading music successfully, it will be added to the play list. +3. Music Playback: Left-click with the mouse to play/pause, right-click to play the next song. +4. Interface Configuration - Pattern Settings: You can use the mouse to click and customize the highlighted patterns on the home page. +5. If you do not want to display the prize list on the home page, uncheck 'Always Show Prize List' in the interface configuration. +6. When clicking buttons on the home page, the button value will not update immediately but will only update after the animation ends. This is a normal phenomenon. + +## Shortcuts + +Shortcuts are set up on the draw page. + +| Shortcut | Description | +| --- | --- | +| Space | Enter Draw / Start / Draw Lucky Winner / Continue | +| Esc | Cancel | \ No newline at end of file diff --git a/public/readme.md b/public/readme-zh-cn.md similarity index 100% rename from public/readme.md rename to public/readme-zh-cn.md diff --git a/public/人口登记表.xlsx b/public/人口登记表-en.xlsx similarity index 100% rename from public/人口登记表.xlsx rename to public/人口登记表-en.xlsx diff --git a/public/人口登记表-zhCn.xlsx b/public/人口登记表-zhCn.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7e883777e197b71725c4aa4cbda926ad734e0254 GIT binary patch literal 10859 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 L9Qi!;Z@>Nzj`R#g literal 0 HcmV?d00001 diff --git a/src/App.vue b/src/App.vue index 7523bee..32c8287 100644 --- a/src/App.vue +++ b/src/App.vue @@ -66,13 +66,13 @@ onMounted(() => {