diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e5f084c --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +src/assets/video/*.mp4 filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index d09022a..4340584 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,9 @@ node_modules dist dist-ssr *.local +# 忽略所有 .mp4 文件 +*.mp4 +public/video/* # Editor directories and files .vscode/* diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 23d6086..7a285cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + less: + specifier: ^4.4.1 + version: 4.4.1 vue: specifier: ^3.5.18 version: 3.5.21(typescript@5.8.3) @@ -26,7 +29,7 @@ importers: version: 24.3.3 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1))(vue@3.5.21(typescript@5.8.3)) + version: 6.0.1(vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(yaml@2.8.1))(vue@3.5.21(typescript@5.8.3)) '@vue/tsconfig': specifier: ^0.7.0 version: 0.7.0(typescript@5.8.3)(vue@3.5.21(typescript@5.8.3)) @@ -74,7 +77,7 @@ importers: version: 8.43.0(eslint@9.35.0(jiti@2.5.1))(typescript@5.8.3) vite: specifier: ^7.1.2 - version: 7.1.5(@types/node@24.3.3)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1) + version: 7.1.5(@types/node@24.3.3)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(yaml@2.8.1) vue-tsc: specifier: ^3.0.5 version: 3.0.7(typescript@5.8.3) @@ -849,6 +852,9 @@ packages: engines: {node: '>=16'} hasBin: true + copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + cosmiconfig-typescript-loader@6.1.0: resolution: {integrity: sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g==} engines: {node: '>=v18'} @@ -938,6 +944,10 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} + errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -1139,6 +1149,9 @@ packages: resolution: {integrity: sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==} engines: {node: '>=18'} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -1159,6 +1172,10 @@ packages: engines: {node: '>=18'} hasBin: true + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -1167,6 +1184,11 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -1225,6 +1247,9 @@ packages: resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} engines: {node: '>=8'} + is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1268,6 +1293,11 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + less@4.4.1: + resolution: {integrity: sha512-X9HKyiXPi0f/ed0XhgUlBeFfxrlDP3xR4M7768Zl+WXLUViuL9AOPPJP4nCV0tgRWvTYvpNmN0SFhZOQzy16PA==} + engines: {node: '>=14'} + hasBin: true + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1401,6 +1431,10 @@ packages: magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -1413,6 +1447,11 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + mimic-function@5.0.1: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} @@ -1452,6 +1491,11 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} + engines: {node: '>= 4.4.x'} + hasBin: true + node-releases@2.0.21: resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} @@ -1509,6 +1553,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -1551,6 +1599,10 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} @@ -1609,6 +1661,9 @@ packages: engines: {node: '>=14'} hasBin: true + prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1663,6 +1718,16 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + semver@7.7.2: resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} @@ -1692,6 +1757,10 @@ packages: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -1780,6 +1849,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -2409,10 +2481,10 @@ snapshots: '@typescript-eslint/types': 8.43.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-vue@6.0.1(vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1))(vue@3.5.21(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(yaml@2.8.1))(vue@3.5.21(typescript@5.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.5(@types/node@24.3.3)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1) + vite: 7.1.5(@types/node@24.3.3)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(yaml@2.8.1) vue: 3.5.21(typescript@5.8.3) '@volar/language-core@2.4.23': @@ -2673,6 +2745,10 @@ snapshots: meow: 12.1.1 split2: 4.2.0 + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + cosmiconfig-typescript-loader@6.1.0(@types/node@24.3.3)(cosmiconfig@9.0.0(typescript@5.8.3))(typescript@5.8.3): dependencies: '@types/node': 24.3.3 @@ -2736,6 +2812,11 @@ snapshots: environment@1.1.0: {} + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -2971,6 +3052,9 @@ snapshots: globals@16.4.0: {} + graceful-fs@4.2.11: + optional: true + graphemer@1.4.0: {} has-flag@4.0.0: {} @@ -2983,10 +3067,18 @@ snapshots: husky@9.1.7: {} + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + optional: true + ignore@5.3.2: {} ignore@7.0.5: {} + image-size@0.5.5: + optional: true + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -3030,6 +3122,8 @@ snapshots: dependencies: text-extensions: 2.4.0 + is-what@3.14.1: {} + isexe@2.0.0: {} jackspeak@3.4.3: @@ -3064,6 +3158,20 @@ snapshots: dependencies: json-buffer: 3.0.1 + less@4.4.1: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -3183,6 +3291,12 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + meow@12.1.1: {} merge2@1.4.1: {} @@ -3192,6 +3306,9 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mime@1.6.0: + optional: true + mimic-function@5.0.1: {} minimatch@3.1.2: @@ -3222,6 +3339,12 @@ snapshots: natural-compare@1.4.0: {} + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.4.1 + optional: true + node-releases@2.0.21: {} normalize-path@3.0.0: {} @@ -3278,6 +3401,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-node-version@1.0.1: {} + path-browserify@1.0.1: {} path-exists@4.0.0: {} @@ -3303,6 +3428,9 @@ snapshots: pify@2.3.0: {} + pify@4.0.1: + optional: true + pirates@4.0.7: {} postcss-import@15.1.0(postcss@8.5.6): @@ -3350,6 +3478,9 @@ snapshots: prettier@3.6.2: {} + prr@1.0.1: + optional: true + punycode@2.3.1: {} queue-microtask@1.2.3: {} @@ -3416,6 +3547,15 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safer-buffer@2.1.2: + optional: true + + sax@1.4.1: + optional: true + + semver@5.7.2: + optional: true + semver@7.7.2: {} shebang-command@2.0.0: @@ -3438,6 +3578,9 @@ snapshots: source-map-js@1.2.1: {} + source-map@0.6.1: + optional: true + split2@4.2.0: {} string-argv@0.3.2: {} @@ -3546,6 +3689,8 @@ snapshots: ts-interface-checker@0.1.13: {} + tslib@2.8.1: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -3579,7 +3724,7 @@ snapshots: util-deprecate@1.0.2: {} - vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1): + vite@7.1.5(@types/node@24.3.3)(jiti@2.5.1)(less@4.4.1)(lightningcss@1.30.1)(yaml@2.8.1): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -3591,6 +3736,7 @@ snapshots: '@types/node': 24.3.3 fsevents: 2.3.3 jiti: 2.5.1 + less: 4.4.1 lightningcss: 1.30.1 yaml: 2.8.1 diff --git a/src/assets/images/components/返回.png b/src/assets/images/components/back.png similarity index 100% rename from src/assets/images/components/返回.png rename to src/assets/images/components/back.png diff --git a/src/assets/images/components/box.png b/src/assets/images/components/box.png index 349c999..d9046b5 100644 Binary files a/src/assets/images/components/box.png and b/src/assets/images/components/box.png differ diff --git a/src/assets/images/components/box2.png b/src/assets/images/components/box2.png new file mode 100644 index 0000000..349c999 Binary files /dev/null and b/src/assets/images/components/box2.png differ diff --git a/src/assets/images/components/叉.png b/src/assets/images/components/close.png similarity index 100% rename from src/assets/images/components/叉.png rename to src/assets/images/components/close.png diff --git a/src/assets/images/home/新手导航.png b/src/assets/images/home/新手导航.png new file mode 100644 index 0000000..e2e861d Binary files /dev/null and b/src/assets/images/home/新手导航.png differ diff --git a/src/assets/images/vlog/任务取景框/vlog初识框.png b/src/assets/images/work/vlog初识框.png similarity index 100% rename from src/assets/images/vlog/任务取景框/vlog初识框.png rename to src/assets/images/work/vlog初识框.png diff --git a/src/assets/images/work/vlog背景全屏待定.png b/src/assets/images/work/vlog背景全屏待定.png new file mode 100644 index 0000000..f83d4d0 Binary files /dev/null and b/src/assets/images/work/vlog背景全屏待定.png differ diff --git a/src/assets/images/work/思路提点全屏.png b/src/assets/images/work/思路提点全屏.png new file mode 100644 index 0000000..55639c5 Binary files /dev/null and b/src/assets/images/work/思路提点全屏.png differ diff --git a/src/assets/images/vlog/任务取景框/思路提点小屏.png b/src/assets/images/work/思路提点小屏.png similarity index 100% rename from src/assets/images/vlog/任务取景框/思路提点小屏.png rename to src/assets/images/work/思路提点小屏.png diff --git a/src/assets/images/vlog/任务取景框/案例背景待定.png b/src/assets/images/work/案例背景待定.png similarity index 100% rename from src/assets/images/vlog/任务取景框/案例背景待定.png rename to src/assets/images/work/案例背景待定.png diff --git a/src/components/Guide/GuideDragon.vue b/src/components/Guide/GuideDragon.vue index ef36154..77dc122 100644 --- a/src/components/Guide/GuideDragon.vue +++ b/src/components/Guide/GuideDragon.vue @@ -6,9 +6,12 @@ :style="{ backgroundImage: getBackgroundImage(IMAGE_PATHS.GUIDE_DRAGON_BG) }"> --> -
+
-
+
-
+
导学小龙 @@ -60,6 +63,7 @@ diff --git a/src/components/Guide/GuideSteps.vue b/src/components/Guide/GuideSteps.vue index 0163c50..8b77e43 100644 --- a/src/components/Guide/GuideSteps.vue +++ b/src/components/Guide/GuideSteps.vue @@ -12,6 +12,7 @@ :show-skip="currentStep < totalSteps" :current-step="currentStep" :total-steps="totalSteps" + :position-offset-y="props.positionOffsetY" @next="handleNext" @skip="handleSkip" @complete="handleComplete" @@ -27,8 +28,16 @@ :total-steps="totalSteps" />
- -
+ + + {{ currentStepContent }} +
@@ -40,6 +49,7 @@ import { ref, computed, useSlots, onMounted, onUnmounted, reactive } from 'vue' import SpotlightOverlay from './SpotlightOverlay.vue' import GuideDragon from './GuideDragon.vue' +import GuideStepsItem from './GuideStepsItem.vue' interface GuideStep { id: string @@ -63,6 +73,8 @@ interface Props { highlightPadding?: number /** 高亮圆角,默认16 */ highlightRadius?: number + /** 垂直偏移(仅Y轴),支持 number(px) 或 '10%'/'120px' */ + positionOffsetY?: number | string } interface Emits { @@ -78,7 +90,8 @@ const props = withDefaults(defineProps(), { autoPlayInterval: 0, highlightSelector: null, highlightPadding: 8, - highlightRadius: 16 + highlightRadius: 16, + positionOffsetY: '50%' }) const emit = defineEmits() @@ -138,7 +151,7 @@ const currentStepContent = computed(() => { if (!step) return '' if (!step.title) { - return `

${step.content}

` + return `${step.content}` } return ` diff --git a/src/components/Guide/GuideStepsItem.vue b/src/components/Guide/GuideStepsItem.vue index 4987873..7919808 100644 --- a/src/components/Guide/GuideStepsItem.vue +++ b/src/components/Guide/GuideStepsItem.vue @@ -2,7 +2,7 @@ import('@/views/vlog/video/index.vue'), + meta: { + title: '视频' + } + }, //中期拍摄 { path: '/midterm', diff --git a/src/utils/index.ts b/src/utils/index.ts index d657ffd..37c939a 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -112,6 +112,7 @@ export const IMAGE_PATHS = { START: 'home/按钮/开始', COMPLETE: 'home/按钮/完成', CANCEL: 'home/按钮/取消', + CLOSE: 'home/按钮/关闭', //继续 continue CONTINUE: 'components/continue', //跳过 escape @@ -123,6 +124,13 @@ export const IMAGE_PATHS = { //开始拍摄 START_FILMING: 'home/guide/action-btn' }, + + //components + COMPONENTS: { + CLOSE: 'components/close', + //返回 + BACK: 'components/back' + }, // ai工具组镜头按钮 AI_TOOLS_BUTTONS: { BACK: 'home/ai工具组镜头/返回', diff --git a/src/views/home/action.vue b/src/views/home/action.vue index 37014a9..20a80a6 100644 --- a/src/views/home/action.vue +++ b/src/views/home/action.vue @@ -1,5 +1,5 @@ @@ -59,7 +64,10 @@ const highlightShow = ref(true)
-
+
@@ -73,7 +81,11 @@ const highlightShow = ref(true) class="absolute left-[21%] top-[9%] -translate-x-1/2" style="z-index: 998" > - +
diff --git a/src/views/prepare/index.vue b/src/views/prepare/index.vue index 0143edb..7345c5e 100644 --- a/src/views/prepare/index.vue +++ b/src/views/prepare/index.vue @@ -7,7 +7,6 @@ import { ProgressBar } from '@/components' import { useRouter } from 'vue-router' import { GuideSteps } from '@/components/Guide' -type WorkTab = 'vlog' | 'case' | 'profession' | 'idea' const steps = [ { id: 'step1', diff --git a/src/views/vlog/index.vue b/src/views/vlog/index.vue index bc550f4..23107a5 100644 --- a/src/views/vlog/index.vue +++ b/src/views/vlog/index.vue @@ -2,11 +2,12 @@ import { getBackgroundImage, IMAGE_PATHS } from '@/utils' import { ImgButton } from '@/components/Button' -import { ref } from 'vue' +import { onMounted, ref } from 'vue' import { ProgressBar } from '@/components' -import { useRouter } from 'vue-router' +import { useRouter, useRoute } from 'vue-router' const router = useRouter() +const route = useRoute() const currentStep = ref(0) @@ -25,6 +26,12 @@ const handleWorkClick = () => { // 处理任务取景按钮点击逻辑 router.push({ name: 'Work' }) } + +onMounted(() => { + if (route.query.key === 'video') { + currentStep.value = 1 + } +})