diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..8f3b40e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +node_modules +dist +.env.development +.env.production \ No newline at end of file diff --git a/.env.example b/.env.example index cf17c20..09558b9 100644 --- a/.env.example +++ b/.env.example @@ -6,12 +6,10 @@ VITE_APP_TITLE = 'Tools-Web' VITE_APP_DESC = '一个轻量的工具集合站' # base api VITE_APP_BASE_API = '/v1' -# 服务端地址: https://xxx.xxx.com; 使用mock时不需要填写 +# 服务端地址: https://xxx.xxx.com; VITE_SERVE = '' # 自定义启动host VITE_HOST = '127.0.0.1' -# 是否使用mock: bool -VITE_IS_MOCK = 'true' # 第三方反馈互动地址 VITE_FEEDBACK_URL = '' # 广告位开关 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..87aae61 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +# build stage +FROM node:18-alpine3.19 AS build-stage +# Set environment variables for non-interactive npm installs +ENV NPM_CONFIG_LOGLEVEL warn +WORKDIR /app +COPY . . +COPY .env.example .env.development +RUN npm install -g pnpm && pnpm i +RUN pnpm build + +# production stage +FROM nginx:stable-alpine AS production-stage +COPY --from=build-stage /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/conf.d/default.conf +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/README.md b/README.md index 6e5673f..ec64bf6 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,35 @@ -# 基于Vite4.x + Vue3.x + ElementPlus + Typescript + Tailwind的工具站 +
+

Tools-Web

+

只需简单几步,即可快速搭建属于自己的综合工具站。

+

基于Vite4.x + Vue3.x + ElementPlus + Typescript + Tailwind的工具站

+ + +[![node](https://img.shields.io/badge/any_text-18.14.2-red?label=node)](node) +[![vue](https://img.shields.io/badge/any_text-3.3.10-origin?label=vue)](vue) +[![tailwindcss](https://img.shields.io/badge/any_text-3.3.5-yellow?label=tailwindcss)](tailwindcss) +[![elementplus](https://img.shields.io/badge/any_text-2.7-blue?label=element-plus)](elementplus) [![license](https://img.shields.io/github/license/taoran1401/tools-web)](LICENSE) -> 演示站点:https://tools.ranblogs.com +
-# 介绍 - -免费开源的工具站,目前已开发数十种工具,对平板和手机适配进行了响应式设计,同时为了让seo更为友好做了ssr处理,搭建简单使用方便 +## 功能展览 ![](/public/index.png) -# 快速使用 +## 开始使用 -安装`pnpm`, 为避免因为不同包管理器工具下载同一个依赖,可能版本不一样的问题,本项目强制使用`pnpm` +### Docker方式(推荐) + +``` +docker run -d --name tools-web --restart unless-stopped -p 8080:80 docker0796/tools-web:latest +``` + +访问: + +### 手动 + +安装`pnpm` ``` npm install pnpm -g ``` @@ -41,17 +58,5 @@ pnpm dev 打包 ``` -pnpm build:dev -``` - -# 后端功能(非必须) - -主要包含登录后的收藏功能,若只用工具可以忽略该部分 - -项目地址:https://github.com/taoran1401/tools-web-api - -使用方法见内`README` - -# 其他 - -有问题或建议请提`issue` +pnpm build +``` \ No newline at end of file diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..1a30e15 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,10 @@ +server { + listen 80; + server_name localhost; + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } +} \ No newline at end of file diff --git a/package.json b/package.json index 9ffa0fd..92c8acc 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,9 @@ "type": "module", "scripts": { "dev": "vite", - "build:dev": "vue-tsc && vite build --mode development", + "build": "vue-tsc --noEmit && node --max_old_space_size=8192 node_modules/vite/bin/vite.js build --mode development", "build:pro": "vue-tsc && vite build --mode production", - "preview": "vite preview", - "preinstall": "node ./scripts/preinstall.js" + "preview": "vite preview" }, "dependencies": { "@codemirror/commands": "^6.3.0", @@ -54,14 +53,12 @@ "autoprefixer": "^10.4.16", "fast-glob": "^3.3.2", "less": "^4.2.0", - "mockjs": "^1.1.0", "path": "^0.12.7", "pinia": "^2.1.7", "tailwindcss": "^3.3.5", "typescript": "^5.0.2", "vite": "^4.4.5", "vite-plugin-html": "^3.2.0", - "vite-plugin-mock": "2.9.6", "vite-plugin-svg-icons": "^2.0.1", "vue-router": "^4.2.5", "vue-tsc": "^1.8.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e724003..44d11f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -130,9 +130,6 @@ devDependencies: less: specifier: ^4.2.0 version: 4.2.0 - mockjs: - specifier: ^1.1.0 - version: 1.1.0 path: specifier: ^0.12.7 version: 0.12.7 @@ -151,9 +148,6 @@ devDependencies: vite-plugin-html: specifier: ^3.2.0 version: 3.2.0(vite@4.5.1) - vite-plugin-mock: - specifier: 2.9.6 - version: 2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.5.1) vite-plugin-svg-icons: specifier: ^2.0.1 version: 2.0.1(vite@4.5.1) @@ -726,33 +720,6 @@ packages: - supports-color dev: false - /@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1): - resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 - dependencies: - '@rollup/pluginutils': 3.1.0(rollup@2.79.1) - '@types/resolve': 1.17.1 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 2.79.1 - dev: true - - /@rollup/pluginutils@3.1.0(rollup@2.79.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - dependencies: - '@types/estree': 0.0.39 - estree-walker: 1.0.1 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true - /@rollup/pluginutils@4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -825,10 +792,6 @@ packages: '@types/json-schema': 7.0.15 dev: false - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} - dev: true - /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false @@ -868,10 +831,6 @@ packages: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: false - /@types/mockjs@1.0.10: - resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==} - dev: true - /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: false @@ -888,12 +847,6 @@ packages: undici-types: 5.26.5 dev: false - /@types/resolve@1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} - dependencies: - '@types/node': 20.10.3 - dev: true - /@types/svgo@2.6.4: resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} dependencies: @@ -1915,11 +1868,6 @@ packages: ieee754: 1.2.1 dev: false - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - /cache-base@1.0.1: resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} engines: {node: '>=0.10.0'} @@ -2172,11 +2120,6 @@ packages: delayed-stream: 1.0.0 dev: false - /commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - dev: true - /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2212,18 +2155,6 @@ packages: engines: {node: '>=0.8'} dev: true - /connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - dev: true - /consola@2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true @@ -2774,11 +2705,6 @@ packages: engines: {node: '>=0.10.0'} dev: false - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true - /default-passive-events@2.0.0: resolution: {integrity: sha512-eMtt76GpDVngZQ3ocgvRcNCklUMwID1PaNbCNxfpDXuiOXttSh0HzBbda1HU9SIUsDc02vb7g9+3I5tlqe/qMQ==} dev: false @@ -2979,10 +2905,6 @@ packages: zrender: 5.5.0 dev: false - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} engines: {node: '>=0.10.0'} @@ -3032,11 +2954,6 @@ packages: engines: {node: '>= 4'} dev: true - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true - /encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} dependencies: @@ -3112,12 +3029,6 @@ packages: ext: 1.7.0 dev: false - /esbuild@0.11.3: - resolution: {integrity: sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==} - hasBin: true - requiresBuild: true - dev: true - /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} @@ -3154,6 +3065,7 @@ packages: /escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: false /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -3218,10 +3130,6 @@ packages: engines: {node: '>=4.0'} dev: false - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} - dev: true - /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -3429,21 +3337,6 @@ packages: dependencies: to-regex-range: 5.0.1 - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /follow-redirects@1.15.3: resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} engines: {node: '>=4.0'} @@ -4005,13 +3898,6 @@ packages: /is-buffer@1.1.6: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: @@ -4079,10 +3965,6 @@ packages: resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} dev: false - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - /is-number@3.0.0: resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} engines: {node: '>=0.10.0'} @@ -5004,13 +4886,6 @@ packages: dev: false optional: true - /mockjs@1.1.0: - resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} - hasBin: true - dependencies: - commander: 11.1.0 - dev: true - /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -5216,13 +5091,6 @@ packages: dependencies: isobject: 3.0.1 - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - /once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: @@ -5343,11 +5211,6 @@ packages: dev: false optional: true - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true - /pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: @@ -5375,10 +5238,6 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: true - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true - /path-type@3.0.0: resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} engines: {node: '>=4'} @@ -5973,14 +5832,6 @@ packages: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} dev: false - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - /rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} @@ -6329,11 +6180,6 @@ packages: define-property: 0.2.5 object-copy: 0.1.0 - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - dev: true - /stealthy-require@1.1.1: resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} engines: {node: '>=0.10.0'} @@ -6844,11 +6690,6 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true - /unset-value@1.0.0: resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} engines: {node: '>=0.10.0'} @@ -6895,11 +6736,6 @@ packages: inherits: 2.0.3 dev: true - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true - /utrie@1.0.2: resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} dependencies: @@ -6994,29 +6830,6 @@ packages: vite: 4.5.1(less@4.2.0)(sass@1.69.5) dev: true - /vite-plugin-mock@2.9.6(mockjs@1.1.0)(rollup@2.79.1)(vite@4.5.1): - resolution: {integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==} - engines: {node: '>=12.0.0'} - peerDependencies: - mockjs: '>=1.1.0' - vite: '>=2.0.0' - dependencies: - '@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.1) - '@types/mockjs': 1.0.10 - chalk: 4.1.2 - chokidar: 3.5.3 - connect: 3.7.0 - debug: 4.3.4 - esbuild: 0.11.3 - fast-glob: 3.3.2 - mockjs: 1.1.0 - path-to-regexp: 6.2.1 - vite: 4.5.1(less@4.2.0)(sass@1.69.5) - transitivePeerDependencies: - - rollup - - supports-color - dev: true - /vite-plugin-seo-prerender@0.5.0(typescript@5.3.2): resolution: {integrity: sha512-qzhnu6Vl3Bw484OOBJkTdjhWvCXFgvGe4ysFf3BI3AsdtO6qxDtX7nMeJNe7dQTSsaGWgTpk9WEjMDPKngPZxg==} dependencies: diff --git a/public/index.png b/public/index.png index 39be370..0022ad9 100644 Binary files a/public/index.png and b/public/index.png differ diff --git a/src/api/tools/index.ts b/src/api/tools/index.ts deleted file mode 100644 index 179d58d..0000000 --- a/src/api/tools/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -//统一管理咱们项目用户相关的接口 -import request from '@/utils/request' - -import type { - ToolsReqData, - ToolsResponseData, - ToolCateResponseData, - ToolRecommendResponseData, -} from './type' - -//项目用户相关的请求地址 -enum API { - //获取tools - GET_TOOLS = '/tools', - //获取tool cate - GET_TOOL_CATES = '/tool/cates', - //获取推荐 - GET_TOOL_RECOMMEND = '/tool/recommends', -} -//获取tools -export const getTools = (data: ToolsReqData) => request.get(API.GET_TOOLS, { - params: data -}) -//获取tool cate -export const getToolCate = () => request.get(API.GET_TOOL_CATES) -//获取推荐 -export const getToolRecommend = () => request.get(API.GET_TOOL_RECOMMEND) \ No newline at end of file diff --git a/src/components/Layout/Header/Header.vue b/src/components/Layout/Header/Header.vue index ffcceb0..0ba6ad6 100644 --- a/src/components/Layout/Header/Header.vue +++ b/src/components/Layout/Header/Header.vue @@ -4,7 +4,7 @@ import { Search } from '@element-plus/icons-vue'; import { useToolsStore } from '@/store/modules/tools' import { useComponentStore } from '@/store/modules/component' import 'element-plus/theme-chalk/display.css' -import { ToolsInfo } from '@/api/tools/type'; +import { ToolsInfo } from '@/components/Tools/tools.type.ts'; import router from '@/router'; // const isNavDrawer = ref(false) diff --git a/src/components/Layout/Right/Right.vue b/src/components/Layout/Right/Right.vue index 762fc52..c15338b 100644 --- a/src/components/Layout/Right/Right.vue +++ b/src/components/Layout/Right/Right.vue @@ -1,6 +1,5 @@