'2024-11-07'

main
fwb 2 weeks ago
parent 023c2e376a
commit 5952489895
  1. 4
      .env.development
  2. 3
      .env.production
  3. 4
      .env.test
  4. 6
      package.json
  5. 178
      pnpm-lock.yaml
  6. 82
      public/vite.svg
  7. 20
      src/App.vue
  8. 18
      src/main.ts
  9. 30
      src/views/test.vue
  10. 7
      tsconfig.app.json
  11. 9
      vite.config.ts

@ -0,0 +1,4 @@
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'development'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/dev-api'

@ -0,0 +1,3 @@
NODE_ENV = 'production'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/prod-api'

@ -0,0 +1,4 @@
# 变量必须以 VITE_ 为前缀才能暴露给外部读取
NODE_ENV = 'test'
VITE_APP_TITLE = '硅谷甄选运营平台'
VITE_APP_BASE_API = '/test-api'

@ -5,7 +5,8 @@
"type": "module",
"scripts": {
"dev": "vite --open",
"build": "vue-tsc -b && vite build",
"build:test": "vue-tsc && vite build --mode test",
"build:pro": "vue-tsc && vite build --mode production",
"preview": "vite preview",
"lint": "eslint src",
"fix": "eslint src --fix",
@ -17,6 +18,8 @@
"preinstall": "node ./scripts/preinstall.js"
},
"dependencies": {
"@element-plus/icons-vue": "^2.3.1",
"element-plus": "^2.8.7",
"vue": "^3.5.12"
},
"devDependencies": {
@ -24,6 +27,7 @@
"@commitlint/cli": "^19.5.0",
"@commitlint/config-conventional": "^19.5.0",
"@eslint/js": "^9.14.0",
"@types/node": "^22.9.0",
"@vitejs/plugin-vue": "^5.1.4",
"eslint": "^9.14.0",
"eslint-config-prettier": "^9.1.0",

@ -8,6 +8,12 @@ importers:
.:
dependencies:
'@element-plus/icons-vue':
specifier: ^2.3.1
version: 2.3.1(vue@3.5.12(typescript@5.6.3))
element-plus:
specifier: ^2.8.7
version: 2.8.7(vue@3.5.12(typescript@5.6.3))
vue:
specifier: ^3.5.12
version: 3.5.12(typescript@5.6.3)
@ -24,6 +30,9 @@ importers:
'@eslint/js':
specifier: ^9.14.0
version: 9.14.0
'@types/node':
specifier: ^22.9.0
version: 22.9.0
'@vitejs/plugin-vue':
specifier: ^5.1.4
version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.80.6))(vue@3.5.12(typescript@5.6.3))
@ -277,9 +286,18 @@ packages:
peerDependencies:
postcss-selector-parser: ^6.1.0
'@ctrl/tinycolor@3.6.1':
resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==}
engines: {node: '>=10'}
'@dual-bundle/import-meta-resolve@4.1.0':
resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
'@element-plus/icons-vue@2.3.1':
resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
peerDependencies:
vue: ^3.2.0
'@esbuild/aix-ppc64@0.21.5':
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
engines: {node: '>=12'}
@ -452,6 +470,15 @@ packages:
resolution: {integrity: sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@floating-ui/core@1.6.8':
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
'@floating-ui/dom@1.6.12':
resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==}
'@floating-ui/utils@0.2.8':
resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
engines: {node: '>=18.18.0'}
@ -699,6 +726,9 @@ packages:
'@rtsao/scc@1.1.0':
resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
'@sxzz/popperjs-es@2.11.7':
resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==}
'@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
@ -711,9 +741,18 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
'@types/lodash-es@4.17.12':
resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==}
'@types/lodash@4.17.13':
resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==}
'@types/node@22.9.0':
resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==}
'@types/web-bluetooth@0.0.16':
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
'@typescript-eslint/eslint-plugin@8.13.0':
resolution: {integrity: sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@ -827,6 +866,15 @@ packages:
'@vue/shared@3.5.12':
resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
'@vueuse/core@9.13.0':
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
'@vueuse/metadata@9.13.0':
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
'@vueuse/shared@9.13.0':
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true
@ -896,6 +944,9 @@ packages:
resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
engines: {node: '>=8'}
async-validator@4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==}
available-typed-arrays@1.0.7:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
@ -1036,6 +1087,9 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
de-indent@1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
@ -1100,6 +1154,11 @@ packages:
electron-to-chromium@1.5.51:
resolution: {integrity: sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==}
element-plus@2.8.7:
resolution: {integrity: sha512-oGQyFRufFOgjd872tZc+T4xQAYLlX4hj6d3ixeY13L4fFNUuc1N49JHAqJGPda0tdx3qCnjceZoh1kqqj2+tXQ==}
peerDependencies:
vue: ^3.2.0
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@ -1150,6 +1209,9 @@ packages:
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
@ -1690,6 +1752,16 @@ packages:
resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
lodash-es@4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==}
lodash-unified@1.0.3:
resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==}
peerDependencies:
'@types/lodash-es': '*'
lodash: '*'
lodash-es: '*'
lodash.camelcase@4.3.0:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
@ -1738,6 +1810,9 @@ packages:
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
memoize-one@6.0.0:
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==}
meow@12.1.1:
resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==}
engines: {node: '>=16.10'}
@ -1791,6 +1866,9 @@ packages:
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
engines: {node: '>=0.10.0'}
normalize-wheel-es@1.2.0:
resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==}
nth-check@2.1.1:
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
@ -2324,6 +2402,17 @@ packages:
vscode-uri@3.0.8:
resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
vue-demi@0.14.10:
resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
engines: {node: '>=12'}
hasBin: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
vue: ^3.0.0-0 || ^2.6.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
vue-eslint-parser@9.4.3:
resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
engines: {node: ^14.17.0 || >=16.0.0}
@ -2637,8 +2726,14 @@ snapshots:
dependencies:
postcss-selector-parser: 6.1.2
'@ctrl/tinycolor@3.6.1': {}
'@dual-bundle/import-meta-resolve@4.1.0': {}
'@element-plus/icons-vue@2.3.1(vue@3.5.12(typescript@5.6.3))':
dependencies:
vue: 3.5.12(typescript@5.6.3)
'@esbuild/aix-ppc64@0.21.5':
optional: true
@ -2747,6 +2842,17 @@ snapshots:
dependencies:
levn: 0.4.1
'@floating-ui/core@1.6.8':
dependencies:
'@floating-ui/utils': 0.2.8
'@floating-ui/dom@1.6.12':
dependencies:
'@floating-ui/core': 1.6.8
'@floating-ui/utils': 0.2.8
'@floating-ui/utils@0.2.8': {}
'@humanfs/core@0.19.1': {}
'@humanfs/node@0.16.6':
@ -2912,6 +3018,8 @@ snapshots:
'@rtsao/scc@1.1.0': {}
'@sxzz/popperjs-es@2.11.7': {}
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 22.9.0
@ -2922,10 +3030,18 @@ snapshots:
'@types/json5@0.0.29': {}
'@types/lodash-es@4.17.12':
dependencies:
'@types/lodash': 4.17.13
'@types/lodash@4.17.13': {}
'@types/node@22.9.0':
dependencies:
undici-types: 6.19.8
'@types/web-bluetooth@0.0.16': {}
'@typescript-eslint/eslint-plugin@8.13.0(@typescript-eslint/parser@8.13.0(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3))(eslint@9.14.0(jiti@1.21.6))(typescript@5.6.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
@ -3096,6 +3212,25 @@ snapshots:
'@vue/shared@3.5.12': {}
'@vueuse/core@9.13.0(vue@3.5.12(typescript@5.6.3))':
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.5.12(typescript@5.6.3))
vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/metadata@9.13.0': {}
'@vueuse/shared@9.13.0(vue@3.5.12(typescript@5.6.3))':
dependencies:
vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
JSONStream@1.3.5:
dependencies:
jsonparse: 1.3.1
@ -3185,6 +3320,8 @@ snapshots:
astral-regex@2.0.0: {}
async-validator@4.2.5: {}
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
@ -3329,6 +3466,8 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
dayjs@1.11.13: {}
de-indent@1.0.2: {}
debug@3.2.7:
@ -3388,6 +3527,27 @@ snapshots:
electron-to-chromium@1.5.51: {}
element-plus@2.8.7(vue@3.5.12(typescript@5.6.3)):
dependencies:
'@ctrl/tinycolor': 3.6.1
'@element-plus/icons-vue': 2.3.1(vue@3.5.12(typescript@5.6.3))
'@floating-ui/dom': 1.6.12
'@popperjs/core': '@sxzz/popperjs-es@2.11.7'
'@types/lodash': 4.17.13
'@types/lodash-es': 4.17.12
'@vueuse/core': 9.13.0(vue@3.5.12(typescript@5.6.3))
async-validator: 4.2.5
dayjs: 1.11.13
escape-html: 1.0.3
lodash: 4.17.21
lodash-es: 4.17.21
lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21)
memoize-one: 6.0.0
normalize-wheel-es: 1.2.0
vue: 3.5.12(typescript@5.6.3)
transitivePeerDependencies:
- '@vue/composition-api'
emoji-regex@8.0.0: {}
entities@4.5.0: {}
@ -3501,6 +3661,8 @@ snapshots:
escalade@3.2.0: {}
escape-html@1.0.3: {}
escape-string-regexp@4.0.0: {}
eslint-config-prettier@9.1.0(eslint@9.14.0(jiti@1.21.6)):
@ -4039,6 +4201,14 @@ snapshots:
dependencies:
p-locate: 6.0.0
lodash-es@4.17.21: {}
lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21):
dependencies:
'@types/lodash-es': 4.17.12
lodash: 4.17.21
lodash-es: 4.17.21
lodash.camelcase@4.3.0: {}
lodash.isplainobject@4.0.6: {}
@ -4075,6 +4245,8 @@ snapshots:
mdn-data@2.12.2: {}
memoize-one@6.0.0: {}
meow@12.1.1: {}
meow@13.2.0: {}
@ -4113,6 +4285,8 @@ snapshots:
normalize-path@3.0.0: {}
normalize-wheel-es@1.2.0: {}
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
@ -4670,6 +4844,10 @@ snapshots:
vscode-uri@3.0.8: {}
vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)):
dependencies:
vue: 3.5.12(typescript@5.6.3)
vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@1.21.6)):
dependencies:
debug: 4.3.7

@ -1 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="67px" height="56px" viewBox="0 0 67 56" enable-background="new 0 0 67 56" xml:space="preserve"> <image id="image0" width="67" height="56" x="0" y="0"
xlink:href="data:image/png;base64,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" />
</svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

@ -1,17 +1,7 @@
<script setup lang="ts"></script>
<template>
<div class="box">
<h1>我是APP页面</h1>
</div>
<test></test>
</template>
<style scoped lang="scss">
.box {
width: 200px;
height: 200px;
h1 {
color: skyblue;
}
}
</style>
<script setup lang="ts">
import Test from '@/views/test.vue'
</script>
<style scoped lang="scss"></style>

@ -1,6 +1,18 @@
import { createApp } from 'vue'
import App from './App.vue'
//引入element-ui插件与样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
//全局配置国际化的配置
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import App from '@/App.vue'
//获取应用实例对象
const app = createApp(App)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
app.component(key, component)
}
app.use(ElementPlus, {
locale: zhCn,
})
console.log(import.meta.env, '===========')
app.mount('#app')

@ -0,0 +1,30 @@
<template>
<div class="box">
<h1>页面</h1>
<el-button type="primary" :icon="Edit">点我</el-button>
<h2>hello</h2>
<el-pagination
:page-sizes="[100, 200, 300, 400]"
layout="total, sizes, prev, pager, next, jumper"
:total="400"
/>
</div>
</template>
<script setup lang="ts">
import { Edit } from '@element-plus/icons-vue'
</script>
<style scoped lang="scss">
.box {
width: 200px;
height: 200px;
h1 {
color: skyblue;
}
h2 {
font-weight: bold;
color: red;
}
}
</style>

@ -5,6 +5,13 @@
"useDefineForClassFields": true,
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"baseUrl": "./", //
"paths": {
//baseUrl
"@/*": ["src/*"]
},
"skipLibCheck": true,
/* Bundler mode */

@ -1,8 +1,13 @@
//配置代理跨域等
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vite.dev/config/
import path from 'path'
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
'@': path.resolve('./src'), // 相对路径别名配置,使用 @ 代替 src
},
},
})

Loading…
Cancel
Save