From 62d2ead61550b387f4dd102d21b24c97c164beef Mon Sep 17 00:00:00 2001 From: "@zuopngfei" Date: Mon, 19 May 2025 16:44:51 +0800 Subject: [PATCH] dsdq --- .docker-compose/nginx/conf.d/my.conf | 28 + .env.development | 5 + .env.production | 5 + .env.test | 5 + .gitignore | 25 + Dockerfile | 24 + auto-imports.d.ts | 11 + index.html | 19 + package.json | 69 ++ postcss.config.cjs | 8 + public/favicon.ico | Bin 0 -> 5377 bytes src/App.vue | 20 + src/api/login.ts | 91 +++ src/api/news.ts | 91 +++ src/assets/images/error_images/401.png | Bin 0 -> 58356 bytes src/assets/images/error_images/404.png | Bin 0 -> 23451 bytes src/assets/images/error_images/cloud.png | Bin 0 -> 2029 bytes src/assets/images/logo.svg | 1 + src/assets/images/welcome.png | Bin 0 -> 75638 bytes src/components/SvgIcon/index.vue | 35 + src/components/index.ts | 20 + src/directive/has.ts | 15 + src/eventBus/index.ts | 2 + src/layout/header/index.vue | 129 ++++ src/layout/home/header.vue | 120 ++++ src/layout/home/index.vue | 80 +++ src/layout/home/menu.vue | 55 ++ src/layout/setting/index.vue | 133 ++++ src/main.ts | 40 ++ src/router/index.ts | 106 +++ src/store/index.ts | 8 + src/store/modules/store.ts | 13 + src/store/modules/user.ts | 33 + src/styles/element/index.scss | 11 + src/styles/index.scss | 111 ++++ src/styles/reset.scss | 202 ++++++ src/utils/fitter.js | 25 + src/utils/index.ts | 55 ++ src/utils/request.ts | 68 ++ src/utils/time.ts | 12 + src/utils/token.ts | 18 + src/utils/validate.ts | 42 ++ src/views/404/index.vue | 52 ++ src/views/adminPages/AICreation/index.vue | 769 ++++++++++++++++++++++ src/views/adminPages/hot/index.vue | 128 ++++ src/views/adminPages/works/index.vue | 8 + src/views/home/index.vue | 63 ++ src/views/index/index.vue | 88 +++ src/views/login/index.vue | 112 ++++ src/views/news/addNew.vue | 760 +++++++++++++++++++++ src/views/news/index.vue | 48 ++ src/views/user/index.vue | 40 ++ src/vite-env.d.ts | 1 + tsconfig.json | 31 + tsconfig.node.json | 10 + vite.config.ts | 90 +++ 56 files changed, 3935 insertions(+) create mode 100644 .docker-compose/nginx/conf.d/my.conf create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.test create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 auto-imports.d.ts create mode 100644 index.html create mode 100644 package.json create mode 100644 postcss.config.cjs create mode 100644 public/favicon.ico create mode 100644 src/App.vue create mode 100644 src/api/login.ts create mode 100644 src/api/news.ts create mode 100644 src/assets/images/error_images/401.png create mode 100644 src/assets/images/error_images/404.png create mode 100644 src/assets/images/error_images/cloud.png create mode 100644 src/assets/images/logo.svg create mode 100644 src/assets/images/welcome.png create mode 100644 src/components/SvgIcon/index.vue create mode 100644 src/components/index.ts create mode 100644 src/directive/has.ts create mode 100644 src/eventBus/index.ts create mode 100644 src/layout/header/index.vue create mode 100644 src/layout/home/header.vue create mode 100644 src/layout/home/index.vue create mode 100644 src/layout/home/menu.vue create mode 100644 src/layout/setting/index.vue create mode 100644 src/main.ts create mode 100644 src/router/index.ts create mode 100644 src/store/index.ts create mode 100644 src/store/modules/store.ts create mode 100644 src/store/modules/user.ts create mode 100644 src/styles/element/index.scss create mode 100644 src/styles/index.scss create mode 100644 src/styles/reset.scss create mode 100644 src/utils/fitter.js create mode 100644 src/utils/index.ts create mode 100644 src/utils/request.ts create mode 100644 src/utils/time.ts create mode 100644 src/utils/token.ts create mode 100644 src/utils/validate.ts create mode 100644 src/views/404/index.vue create mode 100644 src/views/adminPages/AICreation/index.vue create mode 100644 src/views/adminPages/hot/index.vue create mode 100644 src/views/adminPages/works/index.vue create mode 100644 src/views/home/index.vue create mode 100644 src/views/index/index.vue create mode 100644 src/views/login/index.vue create mode 100644 src/views/news/addNew.vue create mode 100644 src/views/news/index.vue create mode 100644 src/views/user/index.vue create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.docker-compose/nginx/conf.d/my.conf b/.docker-compose/nginx/conf.d/my.conf new file mode 100644 index 0000000..28e40c1 --- /dev/null +++ b/.docker-compose/nginx/conf.d/my.conf @@ -0,0 +1,28 @@ +client_max_body_size 100m; +server { + listen 8080; + server_name localhost; + proxy_read_timeout 3600; + proxy_send_timeout 3600; + #charset koi8-r; + #access_log logs/host.access.log main; + + location / { + root /usr/share/nginx/html; + add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0'; + try_files $uri $uri/ /index.html; + } + + location /api { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + rewrite ^/api/(.*)$ /$1 break; #重写 + proxy_pass http://129.204.101.51:9999; # 设置代理服务器的协议和地址 + } + + location /api/swagger/index.html { + proxy_pass http://129.204.101.51:9999/swagger/index.html; + } + } \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..c6c0864 --- /dev/null +++ b/.env.development @@ -0,0 +1,5 @@ +# 变量必须以 VITE_ 为前缀才能暴露给外部读取 +NODE_ENV = 'development' +VITE_APP_BASE_API = 'https://tools.1024tool.vip/' +VITE_SERVE = "https://tools.1024tool.vip/" +# VITE_SERVE = "http://192.168.210.29:18100/" diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..a092139 --- /dev/null +++ b/.env.production @@ -0,0 +1,5 @@ +# 变量必须以 VITE_ 为前缀才能暴露给外部读取 +NODE_ENV = 'production' +VITE_APP_BASE_API = 'https://tools.1024tool.vip/' +VITE_SERVE = "https://tools.1024tool.vip/" + diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..0f8c01f --- /dev/null +++ b/.env.test @@ -0,0 +1,5 @@ +NODE_ENV = 'development' + +VITE_APP_BASE_API = 'http://129.204.101.51:9999/' +VITE_SERVE = "http://129.204.101.51:9999/" + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..24f3c90 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* +components.d.ts +node_modules +dist +dist-ssr +*.local +.vite +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +*.zip diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..67b7d4d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,24 @@ +FROM registry.cn-shanghai.aliyuncs.com/server1024/node:16.17.1 AS build-stage + +WORKDIR /mht/ +COPY . . + +# 设置国内源并调试网络问题 +RUN npm config set registry https://registry.npmmirror.com +RUN npm config set network-timeout 600000 + +RUN npm install --legacy-peer-deps +# 确保 vite 已经全局安装 +RUN npm install -g vite + +# 检查 vite 是否安装成功 +RUN vite --version + +# 运行构建命令 +RUN npm run build:prod + +FROM registry.cn-shanghai.aliyuncs.com/server1024/nginx:base AS production-stage + +COPY .docker-compose/nginx/conf.d/my.conf /etc/nginx/conf.d/my.conf +COPY --from=build-stage /mht/dist /usr/share/nginx/html +RUN ls -al /usr/share/nginx/html \ No newline at end of file diff --git a/auto-imports.d.ts b/auto-imports.d.ts new file mode 100644 index 0000000..f5dae85 --- /dev/null +++ b/auto-imports.d.ts @@ -0,0 +1,11 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +export {} +declare global { + const ElMessage: typeof import('element-plus/es')['ElMessage'] + const ElMessageBox: typeof import('element-plus/es')['ElMessageBox'] + const ElNotification: typeof import('element-plus/es')['ElNotification'] +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..8e49c8a --- /dev/null +++ b/index.html @@ -0,0 +1,19 @@ + + + + + + + + 儿科后台管理 + + + + + + +
+ + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..56c81a7 --- /dev/null +++ b/package.json @@ -0,0 +1,69 @@ +{ + "name": "mihoutao", + "private": true, + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite --open", + "build": "vite build", + "build:test": "vite build --mode test", + "build:prod": "vite build --mode production", + "build:no": "vite build", + "preview": "vite preview", + "lint": "eslint src", + "fix": "eslint src --fix", + "format": "prettier --write \"./**/*.{html,vue,ts,js,json,md}\"", + "lint:eslint": "eslint src/**/*.{ts,vue} --cache --fix", + "lint:style": "stylelint src/**/*.{css,scss,vue} --cache --fix" + }, + "dependencies": { + "@element-plus/icons-vue": "2.1.0", + "@wangeditor/editor": "^5.1.23", + "@wangeditor/editor-for-vue": "next", + "axios": "^1.4.0", + "default-passive-events": "^2.0.0", + "element-plus": "^2.8.0", + "mitt": "^3.0.1", + "moment": "^2.29.4", + "nprogress": "^0.2.0", + "pinia": "^2.1.6", + "pinia-plugin-persistedstate": "^3.2.0", + "vue": "^3.3.4", + "vue-router": "^4.2.4" + }, + "devDependencies": { + "@babel/eslint-parser": "^7.22.9", + "@iconify-json/ep": "^1.1.11", + "@typescript-eslint/eslint-plugin": "^6.2.0", + "@typescript-eslint/parser": "^6.2.0", + "@vitejs/plugin-vue": "^4.2.3", + "eslint": "^8.45.0", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-vue": "^9.15.1", + "mockjs": "^1.1.0", + "postcss": "^8.4.27", + "postcss-html": "^1.5.0", + "postcss-pxtorem": "^6.1.0", + "postcss-scss": "^4.0.6", + "sass": "^1.64.1", + "sass-loader": "^13.3.2", + "stylelint": "^15.10.2", + "stylelint-config-prettier": "^9.0.5", + "stylelint-config-recess-order": "^4.3.0", + "stylelint-config-recommended-scss": "^12.0.0", + "stylelint-config-standard": "^34.0.0", + "stylelint-config-standard-scss": "^10.0.0", + "stylelint-config-standard-vue": "^1.0.0", + "stylelint-order": "^6.0.3", + "stylelint-scss": "^5.0.1", + "typescript": "^5.0.2", + "unplugin-auto-import": "^0.16.6", + "unplugin-icons": "^0.16.5", + "unplugin-vue-components": "^0.25.1", + "vite": "^4.4.5", + "vite-plugin-mock": "2.9.6", + "vite-plugin-svg-icons": "^2.0.1", + "vue-tsc": "^1.8.5" + } +} diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 0000000..6944eee --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,8 @@ +module.exports = { + // plugins: { + // 'postcss-pxtorem': { + // rootValue: 100, // 设置根元素字体大小,1rem = 16px + // propList: ['*'], // 将所有属性都转换成rem + // }, + // }, + }; \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9e291266fd02267b8186c336a0e0b36d8f4d1f85 GIT binary patch literal 5377 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 literal 0 HcmV?d00001 diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..36bb8c0 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,20 @@ + + + + + + \ No newline at end of file diff --git a/src/api/login.ts b/src/api/login.ts new file mode 100644 index 0000000..3b05b41 --- /dev/null +++ b/src/api/login.ts @@ -0,0 +1,91 @@ +import request from '@/utils/request' + + +// 登录 +export const userLogin = (data: any) => { + return request({ + url: `api/customer/login`, + method: 'post', + data + }) +} +// 注册 +export const userRegister = (data: any) => { + return request({ + url: `api/customer/register`, + method: 'post', + data + }) +} + +// 发送邮箱验证码 +export const sendEmail = (data: any) => { + return request({ + url: `api/customer/send_activation_email`, + method: 'post', + data + }) +} + +// 获取用户信息 +export const getUserInfo = () => { + return request({ + url: `api/customer/info`, + method: 'get' + }) +} + +// 激活账号 + +export const verifyCode = (code: any) => { + return request({ + url: `api/customer/verify_activation_email/${code}`, + method: 'get' + }) +} + +// 扫码登录 + +export const getRr = (data) => { + return request({ + url: `api/customer/qr`, + method: 'post', + data + }) +} + +// 轮询登录结果 + +export const getRrLogin = (data) => { + return request({ + url: `api/customer/qr_login`, + method: 'post', + data + }) +} + + +export const getUserSearch = (data) => { + return request({ + url: `api/customer/search`, + method: 'post', + data + }) +} + +export const setUserRecharge = (data) => { + return request({ + url: `api/customer/recharge`, + method: 'post', + data + }) +} + +// 充值记录 +export const rechargeList = (data) => { + return request({ + url: `api/customer/recharge/list`, + method: 'get', + params: data + }) +} \ No newline at end of file diff --git a/src/api/news.ts b/src/api/news.ts new file mode 100644 index 0000000..3b05b41 --- /dev/null +++ b/src/api/news.ts @@ -0,0 +1,91 @@ +import request from '@/utils/request' + + +// 登录 +export const userLogin = (data: any) => { + return request({ + url: `api/customer/login`, + method: 'post', + data + }) +} +// 注册 +export const userRegister = (data: any) => { + return request({ + url: `api/customer/register`, + method: 'post', + data + }) +} + +// 发送邮箱验证码 +export const sendEmail = (data: any) => { + return request({ + url: `api/customer/send_activation_email`, + method: 'post', + data + }) +} + +// 获取用户信息 +export const getUserInfo = () => { + return request({ + url: `api/customer/info`, + method: 'get' + }) +} + +// 激活账号 + +export const verifyCode = (code: any) => { + return request({ + url: `api/customer/verify_activation_email/${code}`, + method: 'get' + }) +} + +// 扫码登录 + +export const getRr = (data) => { + return request({ + url: `api/customer/qr`, + method: 'post', + data + }) +} + +// 轮询登录结果 + +export const getRrLogin = (data) => { + return request({ + url: `api/customer/qr_login`, + method: 'post', + data + }) +} + + +export const getUserSearch = (data) => { + return request({ + url: `api/customer/search`, + method: 'post', + data + }) +} + +export const setUserRecharge = (data) => { + return request({ + url: `api/customer/recharge`, + method: 'post', + data + }) +} + +// 充值记录 +export const rechargeList = (data) => { + return request({ + url: `api/customer/recharge/list`, + method: 'get', + params: data + }) +} \ No newline at end of file diff --git a/src/assets/images/error_images/401.png b/src/assets/images/error_images/401.png new file mode 100644 index 0000000000000000000000000000000000000000..90bbf6e335a86bdae08f4e24fb78dcdd49f2ab63 GIT binary patch literal 58356 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/error_images/404.png b/src/assets/images/error_images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..14fa72555d6e98d9ac2e25bd7b6723049da061ef GIT binary patch literal 23451 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%0Aho$g0FLqqBjw+RBj=IJnS_r~SCHXQ15 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 B)|~(V literal 0 HcmV?d00001 diff --git a/src/assets/images/error_images/cloud.png b/src/assets/images/error_images/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..247c06b41a6d9db75dab41c01cd93d959760485e GIT binary patch literal 2029 zcmZ8ido+~m8Xv4&hS;=ZDh!%PE{&ArvdNjD*=z=*rDlt9?8=grElFn8OpXcSKtp3CI86gg^`!u0WCvti>$>hc5#9|EtB}ivbS=dujLV;-)|-5-)8E z0oaSKu!P_s=meD8=I-iun*{FKws3NH#bkusOROfrYByXQDZU}=4oB7 z#xV9$cRLQQEaWfEjtzBncDyR4#9zbPi+J1Xt1}-bN9ltDeSMvPue@!gE48^YH#hrX z;vJnn)Z5ejqAvGgYE0BEv?1b%0(X6F@#{whZJ@oirKX}N?@@3t{^yhG+Y_VIw$|q6 zD$0YT_~5Gq=O0fUWPXXh+s}`dg+TUMVo>LC5mRd)C~&fZG;gbv!C5+8s64QHn@8m}u)jOaHZ%?w)Q%o=drLRW8@Pf9gdFp48B|BJ=NCbPJyUM0&@dOCSFODZ#}WK?35 zlqgiWVQ%I)1ce-tCuhT&{vfkyY)sh;IWfS`j>yI1yLx91#5+; ze5?Bl6}Q6rQ{uuWWyZz=-Hw>jqA16-wJRDTH;h`e+@IUlZD7BB-LIn2_P*9ZN9(!j zuMWEUexnJ}G0>6~TYWP~TI8FQas|}`eNxiiT|b5H*cD`gF0rONmN=nay>$ zzgoCX*g^N~3=Bi*GV$ljW>RLdrQcCp}i` zOKxN>KBe2-sCd@)Z9F9SuMv|$_4s<3T<73mwlyQuQ65c3G_{ot&7_L6)7SE$2@)Gos3`VenRV@-BPa+#yH zl~IU#IPKgOYBBi((sCro+tI3mfW0yh2t(ZX?XWC{bZ&pbVz4WY%;ZNWDim;xH%N))6YGswVvlbdB=nc{ zyyYK~V|<+ViMKQIYO#s=&WF#tZ-)*(ZY4aqW2%$$?!ATgA6|^^6lK?=RdvDj@ps90 zVx(}$XWr!Gb8wjb!$nz0IKd%Osyn2srJ@Pv5mpwV&&*1cvkVf=w5zz+xwPZmC({>j)tC{Np~V$ z>S<>L*;js+#+=Q+ue={N-?GTu468rJ$kSF8KZ;JoD*EDt3}U7UR8>=yQDYUyGZUhlqr3o zcVJx={ZzHk^PmE52T=Lh8Pgt~yqzK{s5Z z8JkSQ>3IrGFgs5)U(fDDM<*7NjY*c$koh^T&t zej}f@qihJ44HR?coy>=y`=kNU_2mK5*<7du(FDBPNiO6m9zl4m&Dp|kHTWLvcLmmv zTi@N-aJZs11#TK0Gkx2bhNTUOhyQVb%evOKQUGr!pYMw9AE9bIg*4w TG^r)|uR|ahv@5FC!7u(_O{Ba` literal 0 HcmV?d00001 diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg new file mode 100644 index 0000000..35201ee --- /dev/null +++ b/src/assets/images/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/images/welcome.png b/src/assets/images/welcome.png new file mode 100644 index 0000000000000000000000000000000000000000..df138ab86e0d096d2a65d6292abbe068b3312a2c GIT binary patch literal 75638 zcmW(+V{j#16TV3{)gqbvdU~eLkC{Ht zgv!hQM1;eE0{{Ss65=9?005LG000pL1My|4U+QcF0Kj|XrIkg$E}0!$*EY69qxP3K z4`@=~Xk%W;(%;t39{!y_t)D%7tx410wl1H0ww_s%-bgau=%QbkqF*pQ?};+LT(4AV zZ|Mbp$98Wf_HKZl_rrTnmrrk_dv_yyj{|$J7f+vkd#?j~FJHk!d(Ui1|LM}M)ywBk zL`=ai@0TE;^M7efkNYo8knoaGHTJa_*?Y*Uo%mXCB))y=wwV(|px_tim;7D1Zk;^% zGJc6@!haBD-D@Q2Z{INmdE(!Io)3vd{a+dhgTHg};wv8O|E+$7Apixxq^Yc@n?CrBJ1SkFNZIqalke@i`UA+8l>-rN6nvEgn z?WWFe=IRqK>+N&qhiK&+dHO41;tOujIVA`uWih@wov00|M{;FWAQzIw34QEvC|ITOd2B`H$+)лnJ9?R52T@ApJPs+ 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

#vp+a?M69eOv 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 literal 0 HcmV?d00001 diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue new file mode 100644 index 0000000..bbc6500 --- /dev/null +++ b/src/components/SvgIcon/index.vue @@ -0,0 +1,35 @@ + + + + diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..61704b3 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,20 @@ +import SvgIcon from './SvgIcon/index.vue' + +import type { App, Component } from 'vue' + +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +const allGlobalComponent: Component = { SvgIcon } + +export default { + install(app: App) { + Object.keys(allGlobalComponent).forEach((key: string) => { + // 注册为全局组件 + app.component(key, allGlobalComponent[key]) + }) + // 将 element-plus 的图标注册为全局组件 + for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) + } + }, +} diff --git a/src/directive/has.ts b/src/directive/has.ts new file mode 100644 index 0000000..9446eee --- /dev/null +++ b/src/directive/has.ts @@ -0,0 +1,15 @@ +// 按钮权限的实现 +import pinia from '@/store' +import useUserStore from '@/store/modules/user' + +export const isHasButton = (app: any) => { + // 自定义指令 + app.directive('has', { + mounted(el: any, options: any) { + const userStore = useUserStore(pinia) + if (!userStore.buttons.includes(options.value)) { + el.parentNode.removeChild(el) + } + } + }) +} \ No newline at end of file diff --git a/src/eventBus/index.ts b/src/eventBus/index.ts new file mode 100644 index 0000000..1a13398 --- /dev/null +++ b/src/eventBus/index.ts @@ -0,0 +1,2 @@ +import mitt from 'mitt' +export default mitt() \ No newline at end of file diff --git a/src/layout/header/index.vue b/src/layout/header/index.vue new file mode 100644 index 0000000..f90e254 --- /dev/null +++ b/src/layout/header/index.vue @@ -0,0 +1,129 @@ + + + + diff --git a/src/layout/home/header.vue b/src/layout/home/header.vue new file mode 100644 index 0000000..9d8c566 --- /dev/null +++ b/src/layout/home/header.vue @@ -0,0 +1,120 @@ + + + + diff --git a/src/layout/home/index.vue b/src/layout/home/index.vue new file mode 100644 index 0000000..682c059 --- /dev/null +++ b/src/layout/home/index.vue @@ -0,0 +1,80 @@ + + + + \ No newline at end of file diff --git a/src/layout/home/menu.vue b/src/layout/home/menu.vue new file mode 100644 index 0000000..a43b65c --- /dev/null +++ b/src/layout/home/menu.vue @@ -0,0 +1,55 @@ + + + \ No newline at end of file diff --git a/src/layout/setting/index.vue b/src/layout/setting/index.vue new file mode 100644 index 0000000..562bb4f --- /dev/null +++ b/src/layout/setting/index.vue @@ -0,0 +1,133 @@ + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..7e67e15 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,40 @@ +import { createApp } from 'vue' +import App from './App.vue' +// import 'virtual:svg-icons-register' +import globalComponent from './components/index' +import { router } from './router' +import pinia from './store' +import ElementPlus from 'element-plus' +import zhCn from 'element-plus/es/locale/lang/zh-cn' +// default-passive-events 是一个轻量级的 JavaScript 库,旨在通过自动为支持 EventListenerOptions 的浏览器设置事件监听器的 { passive: true } 选项来优化滚动性能。这有助于减少触摸和滚轮事件处理时的延迟,从而提升用户体验。 +import 'default-passive-events' + +// 修改主题必须文件 +import 'element-plus/theme-chalk/src/index.scss' + +// 重置样式 +import '@/styles/index.scss' + +// 暗黑模式 +import 'element-plus/theme-chalk/dark/css-vars.css' + +// 自定义指令 +// import { isHasButton } from '@/directive/has.ts' + +// 屏幕自适应 +// import './utils/fitter.js' + + + +const app = createApp(App) +app.use(ElementPlus, { + locale: zhCn, + }) +app.use(globalComponent) +app.use(pinia) +app.use(router) +app.mount('#app') + + + + \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..b179c02 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,106 @@ +import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' +// import Nprogress from 'nprogress' +// import 'nprogress/nprogress.css' +import { GET_TOKEN } from '@/utils/token' + + +const constantRoutes = [ + + { + path: '/', + name: 'Layout', + component: () => import('@/layout/home/index.vue'), + redirect: '/user', + meta: { + title: '首页' + }, + children: [ + { + path: '/user', + name: 'user', + component: () => import('@/views/user/index.vue'), + meta: { + title: '患者管理' + }, + }, + { + path: '/news', + name: 'news', + component: () => import('@/views/news/index.vue'), + meta: { + title: '文章管理' + }, + }, + { + path: '/addNew', + name: 'addNew', + component: () => import('@/views/news/addNew.vue'), + meta: { + title: '添加文章' + }, + }, + ], + }, + + { + path: '/login', + name: 'login', + component: () => import('@/views/login/index.vue'), + meta: { + title: '登录', + }, + }, + + { + path: '/:pathMatch(.*)', + name: 'Any', + component: () => import('@/views/404/index.vue'), + meta: { + title: '404', + hidden: true, + icon: '', + }, + } +] + + + +export const router = createRouter({ + history: createWebHistory(), + routes: constantRoutes, + // 切换路由跳转到顶部 + scrollBehavior() { + return { + left: 0, + top: 0 + } + } +}) + +const whiteList = ['/login'] + +// 全局前置守卫 +router.beforeEach(async (to, from, next) => { + // Nprogress.start() + const token = GET_TOKEN() + console.log(token) + if (token) { + if (to.path === '/login') { + next('/index') + } else { + next() + } + } else { + if (whiteList.indexOf(to.path) > -1) { + next() + } else { + next('/login') + } + } +}) + +// 全局后置守卫 +router.afterEach(() => { + // Nprogress.done() +}) + diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..4b22a06 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,8 @@ +// 大仓库 +import { createPinia } from 'pinia' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' + +const pinia = createPinia() +pinia.use(piniaPluginPersistedstate) + +export default pinia diff --git a/src/store/modules/store.ts b/src/store/modules/store.ts new file mode 100644 index 0000000..71db30b --- /dev/null +++ b/src/store/modules/store.ts @@ -0,0 +1,13 @@ +import { defineStore } from "pinia" + +const pinia = defineStore('main', { + state: () => ({ + + }), + + actions: { + + } +}) + +export default pinia \ No newline at end of file diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts new file mode 100644 index 0000000..b95656b --- /dev/null +++ b/src/store/modules/user.ts @@ -0,0 +1,33 @@ +// 用户相关仓库 +import { defineStore } from 'pinia' +import { ref } from 'vue' +import { REMOVE_TOKEN } from '@/utils/token' + +const useUserStore = defineStore( + 'mihoutaoUser', + () => { + const userInfo = ref({}) + const token = ref('') + const getUserInfo = async (data: any) => { + userInfo.value = data + } + + const userLogout = async () => { + //退出登录请求 + REMOVE_TOKEN() + userInfo.value = {} + } + + return { + userInfo, + token, + getUserInfo, + userLogout, + } + }, + { + persist: true + } +) + +export default useUserStore diff --git a/src/styles/element/index.scss b/src/styles/element/index.scss new file mode 100644 index 0000000..153dbed --- /dev/null +++ b/src/styles/element/index.scss @@ -0,0 +1,11 @@ +// styles/element/index.scss +/* 只需要重写你需要的即可 */ +@forward 'element-plus/theme-chalk/src/common/var.scss' with ( + $colors: ( + 'primary': ( + 'base': #5CC4A7, + ), + ), + +); + diff --git a/src/styles/index.scss b/src/styles/index.scss new file mode 100644 index 0000000..c4428f2 --- /dev/null +++ b/src/styles/index.scss @@ -0,0 +1,111 @@ +//引入清除默认样式 +@import './reset.scss'; + +:root { + // --my-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1); + // --my-shadow-large: 0px 0px 3px 5px var(--el-border-color); + // --my-shadow-small: 0px 0px 0px 1px var(--el-border-color); + --my-border-radius: 8px; + --my-border-radius-large: 16px; + --my-border-radius-small: 4px; + --el-fill-color-blank: rgba(240, 245, 245, 1) !important; +} + +//滚动条外观设置 +::-webkit-scrollbar { + width: 5px; + height: 5px; +} + +::-webkit-scrollbar-thumb { + width: 10px; + background-color: #c4cbd7; + border-radius: 10px; +} + +.el-popover.el-popper { + border-radius: var(--my-border-radius) !important; +} + +.el-popper__arrow { + display: none; +} + +.el-popper.is-light { + border: 0; +} + +.pagination-box { + // overflow: hidden; + margin-top: 25px; + text-align: right; + height: 30px; + + .el-pagination { + float: right; + } +} +.el-table { + --el-table-header-text-color: var(--el-color-primary) !important; + --el-table-bg-color: var(--el-bg-color) !important; +} + + +.el-input { + --el-select-input-focus-border-color: none !important; + --el-input-bg-color: rgba(240, 245, 245, 1) !important; + --el-input-focus-border-color: none; + --el-input-border-color: none !important; +} + +.el-input__wrapper.is-focus, +.el-select__wrapper.is-focused, +.el-select__wrapper { + box-shadow: none !important; +} + +.el-textarea, +.el-date-editor, +.el-cascader { + --el-input-focus-border-color: none !important; + --el-input-bg-color: rgba(240, 245, 245, 1) !important; + --el-input-border-color: none !important; +} + +.el-input__wrapper:hover, +.el-textarea__inner:hover, +.el-input-group__append:hover, +.el-input-group__prepend:hover { + box-shadow: none !important; + +} + +.el-input__wrapper.is-focus, +.el-textarea__inner:focus, +.el-date-editor.is-active { + box-shadow: none !important; + +} + +.el-input-group__append, +.el-input-group__prepend { + background: var(--el-input-bg-color) !important; + box-shadow: none !important; + padding: 0 10px !important; +} + + +.el-textarea, +.el-date-editor, +.el-cascader { + --el-input-focus-border-color: none !important; + --el-input-border-color: none !important; +} + +.el-radio{ + --el-radio-input-bg-color: #fff!important; +} + +.el-descriptions__body { + background-color: #fff!important; +} \ No newline at end of file diff --git a/src/styles/reset.scss b/src/styles/reset.scss new file mode 100644 index 0000000..d80fa75 --- /dev/null +++ b/src/styles/reset.scss @@ -0,0 +1,202 @@ +*, +*:after, +*:before { + box-sizing: border-box; + outline: none; + font-family: Avenir, Helvetica, Arial, sans-serif; +} + +html { + height: 100%; + font-size: 16px; + // min-width: 1300px; +} + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + // font: inherit; + + font-size: 100%; + + margin: 0; + padding: 0; + + vertical-align: baseline; + + border: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + height: 100%; + line-height: 1; + font-size: 16px; + color: var(--el-text-color-regular); +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; + + &:before, + &:after { + content: ''; + content: none; + } +} + +sub, +sup { + font-size: 75%; + line-height: 0; + + position: relative; + + vertical-align: baseline; +} + +sup { + top: -.5em; +} + +sub { + bottom: -.25em; +} + +table { + border-spacing: 0; + border-collapse: collapse; +} + +input, +textarea, +button { + // font-family: inhert; + font-family: Avenir, Helvetica, Arial, sans-serif; + font-size: inherit; + + color: inherit; +} + +select { + text-indent: .01px; + text-overflow: ''; + + border: 0; + border-radius: 0; + + -webkit-appearance: none; + -moz-appearance: none; +} + +select::-ms-expand { + display: none; +} + +code, +pre { + font-family: monospace, monospace; + font-size: 1em; +} + + +html.dark { + --el-text-color-regular: #606266; +} \ No newline at end of file diff --git a/src/utils/fitter.js b/src/utils/fitter.js new file mode 100644 index 0000000..d6c93da --- /dev/null +++ b/src/utils/fitter.js @@ -0,0 +1,25 @@ +// 计算公式当前屏幕宽度winWidth除以设计稿宽度1920得到屏幕与设计稿的比例,根据比例设置根元素的fontSize,设计稿的100px等于1rem + +// 获取屏幕宽度 +var winWidth = document.documentElement.offsetWidth || document.body.offsetWidth +// 获取html跟元素 +var oHtml = document.getElementsByTagName('html')[0] +// oHtml.style.fontSize = 100 * winWidth / 1680 + 'px' +if(winWidth > 1680){ + oHtml.style.fontSize = 100 * 1680 / 1680 + 'px' +} else { + oHtml.style.fontSize = 100 * winWidth / 1680 + 'px' +} + +// 页面大小发生变化事重新设置 +window.addEventListener('resize', function() { + var winWidth = document.documentElement.offsetWidth || document.body.offsetWidth + var oHtml = document.getElementsByTagName('html')[0] + + if(winWidth > 1680){ + oHtml.style.fontSize = 100 * 1680 / 1680 + 'px' + } else { + oHtml.style.fontSize = 100 * winWidth / 1680 + 'px' + } + +}) \ No newline at end of file diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..d0efc5b --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,55 @@ +/** + * @description 生成随机数 + * @param {Number} min 最小值 + * @param {Number} max 最大值 + * @returns {Number} + */ +export function randomNum(min: number, max: number): number { + const num = Math.floor(Math.random() * (min - max) + max) + return num +} + +/** + * rgba转# + * @param color 颜色 + */ +export function getHexColor(color: string) { + const values = color + .replace(/rgba?\(/, '') + .replace(/\)/, '') + .replace(/[\s+]/g, '') + .split(',') + const a = parseFloat(values[3]), + r = Math.floor(a * parseInt(values[0]) + (1 - a) * 255), + g = Math.floor(a * parseInt(values[1]) + (1 - a) * 255), + b = Math.floor(a * parseInt(values[2]) + (1 - a) * 255) + return '#' + + ('0' + r.toString(16)).slice(-2) + + ('0' + g.toString(16)).slice(-2) + + ('0' + b.toString(16)).slice(-2) +} + +/** + * 获取Component的方法 + * @param view 路径 + * @param type 路由层数 目前只兼容二级路由 + */ +export function _getViews(view: any, type: any) { + let res; + let modules: any; + if (type == "one") { + modules = import.meta.glob("/src/view/*.vue"); + } else { + modules = import.meta.glob("/src/view/**/*.vue"); + } + for (const path in modules) { + const dir = + type == "one" + ? path.split("view/")[1].split(".vue")[0] + : path.split("view/")[1].split(".vue")[0]; + if (dir === view) { + res = () => modules[path](); + } + } + return res; +}; \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..b893b26 --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,68 @@ +import axios from 'axios' +import { ElNotification } from 'element-plus' +import { GET_TOKEN, REMOVE_TOKEN } from '@/utils/token' +import useUserStore from '@/store/modules/user' +import pinia from '@/store' +//创建axios实例 +const request = axios.create({ + baseURL: import.meta.env.VITE_APP_BASE_API, + timeout: 120000, +}) +// 存储需要取消的请求 +const requestsToCancel = {}; + +//请求拦截器 +request.interceptors.request.use((config: any) => { + if (GET_TOKEN()) { + config.headers.Authorization = GET_TOKEN() + } + // 为每个请求生成一个唯一的cancel token + config.cancelToken = new axios.CancelToken(cancel => { + requestsToCancel[config.url] = cancel; + }); + return config +}) +//响应拦截器 +request.interceptors.response.use( + (response: any) => { + return response.data + + }, + (error: any) => { + //处理网络错误 + if (error.response?.data.code == 20107) { + return + } + // if (error.response?.data.code == 10101) { + // Object.values(requestsToCancel).forEach(cancel => cancel()); + // } + if (error.response?.data.code == 10103) { + Object.values(requestsToCancel).forEach(cancel => cancel()); + const useUser = useUserStore(pinia) + useUser.userInfo = {} + useUser.token = '' + REMOVE_TOKEN() + ElNotification({ + type: 'error', + message: error.response.data.message, + duration: 2000, + onClose: () => { + if(location.pathname != '/index'){ + location.href = '/index' + } + } + }) + return + } + + ElNotification({ + type: 'error', + message: error.response.data.message, + duration: 2000, + }) + + return Promise.reject(error) + }, +) + +export default request diff --git a/src/utils/time.ts b/src/utils/time.ts new file mode 100644 index 0000000..2458a2d --- /dev/null +++ b/src/utils/time.ts @@ -0,0 +1,12 @@ +export const getTime = () => { + const hours = new Date().getHours() + if (hours <= 9) { + return '早上好 🌅' + } else if (hours <= 12) { + return '上午好 🌞' + } else if (hours <= 18) { + return '下午好 ☕️' + } else { + return '晚上好 🌛' + } +} diff --git a/src/utils/token.ts b/src/utils/token.ts new file mode 100644 index 0000000..02fe731 --- /dev/null +++ b/src/utils/token.ts @@ -0,0 +1,18 @@ +export const SET_TOKEN = (token: string) => { + localStorage.setItem('TOKEN', token) +} + + + +export const GET_TOKEN = () => { + return localStorage.getItem('TOKEN') +} + +export const REMOVE_TOKEN = () => { + localStorage.removeItem('TOKEN') +} +export const SET_USER_TYPE = (type) => { + localStorage.removeItem('userType') +} + + diff --git a/src/utils/validate.ts b/src/utils/validate.ts new file mode 100644 index 0000000..bdd4e18 --- /dev/null +++ b/src/utils/validate.ts @@ -0,0 +1,42 @@ + + +// 电话校验 +export const checkPhoneNumber = (rule: any, value: any, callback: any) => { + const reg = /^[1][3456789][0-9]{9}$/ + if ((reg.test(value))) { + callback() + } else { + callback(new Error('validate.please_enter_the_correct_phone_number')) + } +} +// 验证邮箱的规则 +export const checkEmail = (rule: any, value: any, callback: any) => { + // 验证邮箱的正则表达式 + const reg = /^[a-zA-Z0-9]+([\.-_][a-zA-Z0-9]+)*@[a-zA-Z0-9]+([\.-][a-zA-Z0-9]+)*\.[a-zA-Z]{2,}$/ + if (reg.test(value)) { + callback() + } + callback(new Error('请输入正确的的邮箱')) +} +// 密码规则 +export const checkPassword= (rule: any, value: any, callback: any) => { + + const reg = /^[a-zA-Z0-9\W]{6,10}$/ + if (reg.test(value)) { + callback() + } + callback(new Error('你输入6到10位密码, 不能包含特殊符号')) +} + +// 数字验证 +export const checkNumber = (rule: any, value: any, callback: any) => { + if(isNaN(value)){ + callback(new Error('validate.please_enter_a_number_greater_than_0')) + } else { + if (value > 0) { + callback() + } else { + callback(new Error('validate.please_enter_a_number_greater_than_0')) + } + } +} \ No newline at end of file diff --git a/src/views/404/index.vue b/src/views/404/index.vue new file mode 100644 index 0000000..332f814 --- /dev/null +++ b/src/views/404/index.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/views/adminPages/AICreation/index.vue b/src/views/adminPages/AICreation/index.vue new file mode 100644 index 0000000..22e9f02 --- /dev/null +++ b/src/views/adminPages/AICreation/index.vue @@ -0,0 +1,769 @@ + + + \ No newline at end of file diff --git a/src/views/adminPages/hot/index.vue b/src/views/adminPages/hot/index.vue new file mode 100644 index 0000000..f8c6324 --- /dev/null +++ b/src/views/adminPages/hot/index.vue @@ -0,0 +1,128 @@ + + + \ No newline at end of file diff --git a/src/views/adminPages/works/index.vue b/src/views/adminPages/works/index.vue new file mode 100644 index 0000000..533dfdb --- /dev/null +++ b/src/views/adminPages/works/index.vue @@ -0,0 +1,8 @@ + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..9cf39c8 --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/views/index/index.vue b/src/views/index/index.vue new file mode 100644 index 0000000..2b9bcba --- /dev/null +++ b/src/views/index/index.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..7475031 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,112 @@ + + + + + \ No newline at end of file diff --git a/src/views/news/addNew.vue b/src/views/news/addNew.vue new file mode 100644 index 0000000..decb156 --- /dev/null +++ b/src/views/news/addNew.vue @@ -0,0 +1,760 @@ + + + \ No newline at end of file diff --git a/src/views/news/index.vue b/src/views/news/index.vue new file mode 100644 index 0000000..c6e47f4 --- /dev/null +++ b/src/views/news/index.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/index.vue b/src/views/user/index.vue new file mode 100644 index 0000000..0928210 --- /dev/null +++ b/src/views/user/index.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..a1d5e9f --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "node", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + + "baseUrl": "./", // 解析非相对模块的基地址,默认是当前目录 + "paths": { + //路径映射,相对于baseUrl + "@/*": ["src/*"] + }, + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..42872c5 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..d9c07a4 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,90 @@ +import { defineConfig, loadEnv } from 'vite' +import vue from '@vitejs/plugin-vue' + +import path from 'path' + +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +import Icons from 'unplugin-icons/vite' +import IconsResolver from 'unplugin-icons/resolver' + +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' + +import { viteMockServe } from 'vite-plugin-mock' +// 引入 fs 模块 +// import fs from 'fs' +// const fs = require('fs'); +// https://vitejs.dev/config/ +export default defineConfig(({ command, mode }) => { + const env = loadEnv(mode, process.cwd()) + + return { + plugins: [ + vue(), + + AutoImport({ + resolvers: [ + ElementPlusResolver(), + IconsResolver({ + prefix: 'Icon', + }), + ], + }), + Components({ + resolvers: [ + ElementPlusResolver({importStyle:"sass"}), + IconsResolver({ + enabledCollections: ['ep'], + }), + ], + }), + Icons({ + autoInstall: true, + }), + createSvgIconsPlugin({ + // Specify the icon folder to be cached + iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/default'), path.resolve(process.cwd(), 'src/assets/icons/bosch')], + // Specify symbolId format + symbolId: 'icon-[dir]-[name]', + }), + viteMockServe({ + localEnabled: command === 'serve', + }), + ], + resolve: { + alias: { + '@': path.resolve('./src'), // 相对路径别名配置,使用 @ 代替 src + }, + }, + css: { //配置全局scss + preprocessorOptions: { + scss: { + quietDeps: true, + logger: { + warn: () => {} + }, + javascriptEnabled: true, + // additionalData: `@use "@/styles/element/index.scss" as *;`, + }, + }, + }, + // 代理跨域 + server: { + // https: { + // key: fs.readFileSync('./cert.key'), // 证书密钥路径 + // cert: fs.readFileSync('./cert.crt') // 证书文件路径 + // }, + host: '0.0.0.0', + proxy: { + [env.VITE_APP_BASE_API]: { + target: env.VITE_SERVE, + changeOrigin: true, + rewrite: (path) => + path.replace(new RegExp(`^${env.VITE_APP_BASE_API}`), ''), + }, + }, + }, + } +})