taiji_caozhaorui 1 week ago
parent
commit
a20342909f

+ 2 - 0
package.json

@@ -25,6 +25,7 @@
     "fast-glob": "^3.3.3",
     "jsencrypt": "^3.3.2",
     "pinia": "^3.0.3",
+    "postcss-px-to-viewport": "^1.1.1",
     "prettier-plugin-tailwindcss": "^0.6.13",
     "quasar": "^2.18.1",
     "rollup-plugin-visualizer": "^6.0.3",
@@ -32,6 +33,7 @@
     "sortablejs": "^1.15.6",
     "tailwindcss": "^4.1.10",
     "uuid": "^11.1.0",
+    "vconsole": "^3.15.1",
     "vite-plugin-compression": "^0.5.1",
     "vite-plugin-html-env": "^1.2.8",
     "vite-plugin-svg-icons": "^2.0.1",

+ 14 - 0
src/App.vue

@@ -8,10 +8,24 @@
 
 <script setup lang="ts">
 import zhCn from 'element-plus/dist/locale/zh-cn.mjs'
+import { useRoute } from 'vue-router'
 document.documentElement.style.setProperty(
   '--czr-quasar-color',
   'var(--czr-main-color)',
 )
+const route = useRoute()
+if (route.query.vconsole == 1) {
+  import('vconsole').then((module) => {
+    new module.default()
+  })
+}
+// const baseSize = 16 // 基础大小,16px
+// const scale = document.documentElement.clientWidth / 1920 // 设计稿宽度
+//
+// document.documentElement.style.setProperty(
+//   '--czr-input-size',
+//   (baseSize / scale) * 0.5 + 'px',
+// )
 </script>
 
 <style lang="scss" scoped></style>

+ 12 - 3
src/style/czr.scss

@@ -1,8 +1,10 @@
 :root {
   --czr-main-color: rgba(239, 87, 16, 1);
   --czr-main-color-rgb: 239, 87, 16;
-  --czr-main-sub-color: rgba(21, 103, 87, 1);
-  --czr-main-sub-color-rgb: 21, 103, 87;
+  --czr-main-sub-color: rgba(239, 87, 16, 1);
+  --czr-main-sub-color-rgb: 239, 87, 16;
+  //--czr-main-sub-color: rgba(21, 103, 87, 1);
+  //--czr-main-sub-color-rgb: 21, 103, 87;
   --czr-chinese-color: rgba(211, 73, 71, 1); // 提香红
   --czr-chinese-color-rgb: 211, 73, 71;
   --czr-chinese-sub-color: rgba(2, 50, 112, 1);
@@ -528,4 +530,11 @@
     position: absolute;
     z-index: -1;
   }
-}
+}
+//.el-input__inner{
+//  font-size: var(--czr-input-size) !important;
+//  height: calc(var(--czr-input-size) * 2) !important;
+//}
+//.q-placeholder {
+//  font-size: var(--czr-input-size) !important;
+//}

+ 1 - 1
src/views/global/login/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="flex size-full items-center justify-center bg-[#f8fafc]">
     <div
-      class="w-full max-w-[420px] rounded-xl bg-white p-8"
+      class="w-full max-w-120 rounded-xl bg-white p-8"
       style="box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1)"
     >
       <!-- Logo -->

+ 1 - 1
src/views/study/components/study-layout.vue

@@ -148,7 +148,7 @@ const menusCpt = computed(() => {
   return router.getRoutes().filter((v) => v.meta?.isMenu)
 })
 const rgbs = [
-  { main: '239, 87, 16', sub: '21, 103, 87' },
+  { main: '239, 87, 16', sub: '239, 87, 16' },
   { main: '175, 221, 224', sub: '86, 85, 154' },
   { main: '117, 41, 46', sub: '248, 198, 181' },
   { main: '193, 226, 207', sub: '165, 93, 81' },

+ 15 - 14
src/views/study/home/index.vue

@@ -5,8 +5,8 @@
         <div
           class="flex flex-col overflow-hidden rounded-xl bg-white shadow-md"
         >
-          <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-            <div class="flex items-center text-xl font-bold">
+          <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+            <div class="flex items-center text-base font-bold">
               <i class="fas fa-calendar-alt mr-2"></i>
               今日学习计划
             </div>
@@ -46,7 +46,7 @@
             </template>
             <template v-else>
               <div
-                class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
               >
                 暂无数据
               </div>
@@ -56,8 +56,8 @@
         <div
           class="flex flex-1 flex-col overflow-hidden rounded-xl bg-white shadow-md"
         >
-          <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-            <div class="relative flex items-center text-xl font-bold">
+          <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+            <div class="relative flex items-center text-base font-bold">
               <i class="fas fa-calendar-alt mr-2"></i>
               学习计划
               <div class="absolute right-2 ml-auto flex">
@@ -114,6 +114,7 @@
                       </div>
                       <div class="flex-1 text-sm text-gray-600">
                         {{ Hm(son.planDate) }}
+                        {{ son.remark }}
                       </div>
                     </div>
                   </template>
@@ -122,7 +123,7 @@
             </template>
             <template v-else>
               <div
-                class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
               >
                 暂无数据
               </div>
@@ -137,8 +138,8 @@
           <div
             class="col-span-1 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
           >
-            <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-              <div class="relative flex items-center text-xl font-bold">
+            <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+              <div class="relative flex items-center text-base font-bold">
                 <i class="fas fa-trophy mr-2"></i>
                 历史刷题榜单
                 <div class="absolute right-2 ml-auto flex">
@@ -184,7 +185,7 @@
               </template>
               <template v-else>
                 <div
-                  class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                  class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
                 >
                   暂无数据
                 </div>
@@ -194,8 +195,8 @@
           <div
             class="col-span-1 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
           >
-            <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-              <div class="relative flex items-center text-xl font-bold">
+            <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+              <div class="relative flex items-center text-base font-bold">
                 <i class="fas fa-trophy mr-2"></i>
                 本月刷题榜单
               </div>
@@ -209,7 +210,7 @@
               </template>
               <template v-else>
                 <div
-                  class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                  class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
                 >
                   暂无数据
                 </div>
@@ -220,8 +221,8 @@
         <div
           class="mx-0.5 flex flex-1 flex-col overflow-hidden rounded-xl bg-white shadow-md"
         >
-          <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-            <div class="flex items-center text-xl font-bold">
+          <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+            <div class="flex items-center text-base font-bold">
               <i class="fas fa-chalkboard-teacher mr-2"></i>
               教师简介
             </div>

+ 11 - 11
src/views/study/subject/index.vue

@@ -4,8 +4,8 @@
       <div
         class="col-span-1 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
       >
-        <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-          <div class="flex items-center text-xl font-bold">
+        <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+          <div class="flex items-center text-base font-bold">
             <i class="fas fa-cubes mr-2"></i>
             板块提升
             <div
@@ -87,7 +87,7 @@
               class="stat-card rounded-lg border-l-4 border-[var(--czr-main-color)] bg-gray-50 p-3"
             >
               <div class="text-xs text-gray-500">当前难度等级</div>
-              <div class="mt-1 text-xl font-bold text-gray-800">
+              <div class="mt-1 text-base font-bold text-gray-800">
                 {{ state.statistic.card.data?.level }}
               </div>
             </div>
@@ -95,7 +95,7 @@
               class="stat-card rounded-lg border-l-4 border-[var(--czr-main-color)] bg-gray-50 p-3"
             >
               <div class="text-xs text-gray-500">正确率</div>
-              <div class="mt-1 text-xl font-bold text-gray-800">
+              <div class="mt-1 text-base font-bold text-gray-800">
                 {{ state.statistic.card.data?.totalAccuracyRate }}
               </div>
             </div>
@@ -195,7 +195,7 @@
             </template>
             <template v-else>
               <div
-                class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
               >
                 暂无数据
               </div>
@@ -207,8 +207,8 @@
         <div
           class="flex flex-1 flex-col overflow-hidden rounded-xl bg-white shadow-md"
         >
-          <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-            <div class="relative flex items-center text-xl font-bold">
+          <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+            <div class="relative flex items-center text-base font-bold">
               <i class="fas fa-calendar-alt mr-2"></i>
               考形训练
               <div class="absolute right-2 ml-auto flex">
@@ -341,7 +341,7 @@
             </template>
             <template v-else>
               <div
-                class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+                class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
               >
                 暂无数据
               </div>
@@ -351,8 +351,8 @@
         <div
           class="flex flex-col overflow-hidden rounded-xl bg-white shadow-md"
         >
-          <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-            <div class="flex items-center text-xl font-bold">
+          <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+            <div class="flex items-center text-base font-bold">
               <i class="fas fa-clock mr-2"></i>
               错题统计
               <div
@@ -377,7 +377,7 @@
                   <i class="fas fa-clipboard-list text-blue-600"></i>
                 </div>
                 <div>
-                  <div class="text-sm text-gray-500">本学科总做题数</div>
+                  <div class="text-sm text-gray-500">总做题数</div>
                   <div class="text-lg font-bold">{{ state.error.total }}题</div>
                 </div>
               </div>

+ 3 - 3
src/views/study/subject/question/error.vue

@@ -4,8 +4,8 @@
       <div
         class="col-span-4 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
       >
-        <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-          <div class="relative flex items-center text-xl font-bold">
+        <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+          <div class="relative flex items-center text-base font-bold">
             <i class="fas fa-book mr-2"></i>
             题目列表
             <span class="text-base">
@@ -36,7 +36,7 @@
           </template>
           <template v-else>
             <div
-              class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+              class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
             >
               暂无数据
             </div>

+ 5 - 5
src/views/study/subject/question/index.vue

@@ -4,8 +4,8 @@
       <div
         class="col-span-1 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
       >
-        <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-          <div class="flex items-center text-xl font-bold">
+        <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+          <div class="flex items-center text-base font-bold">
             <i class="fas fa-book mr-2"></i>
             知识点分类
             <div class="ml-auto flex space-x-1 font-normal">
@@ -77,8 +77,8 @@
       <div
         class="col-span-3 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
       >
-        <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-          <div class="relative flex items-center text-xl font-bold">
+        <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+          <div class="relative flex items-center text-base font-bold">
             <i class="fas fa-book mr-2"></i>
             题目列表
             <span class="text-base" v-if="state.selected">
@@ -122,7 +122,7 @@
           </template>
           <template v-else>
             <div
-              class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+              class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
             >
               暂无数据
             </div>

+ 2 - 2
src/views/study/subject/question/list.vue

@@ -44,7 +44,7 @@
                     class="play-video bg-subject-color hover:bg-subject-dark rounded-full p-1.5 transition-colors"
                     @click="onVideo(video)"
                   >
-                    <i class="fas fa-circle-play text-xl"></i>
+                    <i class="fas fa-circle-play text-base"></i>
                   </div>
                 </li>
               </template>
@@ -92,7 +92,7 @@
           <template v-for="item in state.history.data">
             <q-timeline>
               <q-timeline-entry heading>
-                <div class="text-xl">{{ item.date }}</div>
+                <div class="text-base">{{ item.date }}</div>
               </q-timeline-entry>
               <template v-for="son in item.list">
                 <template v-if="son.isCorrect == 0">

+ 3 - 3
src/views/study/subject/question/plan.vue

@@ -4,8 +4,8 @@
       <div
         class="col-span-4 flex h-full flex-col overflow-hidden rounded-xl bg-white shadow-md"
       >
-        <div class="bg-[var(--czr-main-sub-color)] p-4 text-white">
-          <div class="relative flex items-center text-xl font-bold">
+        <div class="bg-[var(--czr-main-sub-color)] px-4 py-3 text-white">
+          <div class="relative flex items-center text-base font-bold">
             <i class="fas fa-book mr-2"></i>
             题目列表
             <span class="text-base">
@@ -48,7 +48,7 @@
           </template>
           <template v-else>
             <div
-              class="flex size-full items-center justify-center text-xl font-semibold text-gray-700"
+              class="flex size-full items-center justify-center text-base font-semibold text-gray-700"
             >
               暂无数据
             </div>

+ 24 - 0
vite.config.ts

@@ -9,6 +9,7 @@ import VitePluginHtmlEnv from 'vite-plugin-html-env'
 // @ts-ignore
 import tailwindcss from '@tailwindcss/vite'
 import { quasar, transformAssetUrls } from '@quasar/vite-plugin'
+import postcsspxtoviewport from 'postcss-px-to-viewport'
 
 const time = new Date().getTime()
 export default defineConfig(({ mode, command }) => {
@@ -54,6 +55,29 @@ export default defineConfig(({ mode, command }) => {
         '@': resolve(__dirname, 'src'),
       },
     },
+    // css: {
+    //   postcss: {
+    //     plugins: [
+    //       postcsspxtoviewport({
+    //         unitToConvert: 'px',
+    //         viewportWidth: 1920,
+    //         unitPrecision: 5, // 单位转换后保留的精度
+    //         propList: ['*'], // 能转化为vw的属性列表
+    //         viewportUnit: 'vw', // 希望使用的视口单位
+    //         fontViewportUnit: 'vw', // 字体使用的视口单位
+    //         selectorBlackList: ['ignore-'], // 需要忽略的CSS选择器,不会转为视口单位,使用原有的px等单位。
+    //         minPixelValue: 1, // 设置最小的转换数值,如果为1的话,只有大于1的值会被转换
+    //         mediaQuery: true, // 媒体查询里的单位是否需要转换单位
+    //         replace: true, //  是否直接更换属性值,而不添加备用属性
+    //         exclude: [], // 忽略某些文件夹下的文件或特定文件,例如 'node_modules' 下的文件
+    //         include: [], // 如果设置了include,那将只有匹配到的文件才会被转换
+    //         landscape: false, // 是否添加根据 landscapeWidth 生成的媒体查询条件 @media (orientation: landscape)
+    //         landscapeUnit: 'vw', // 横屏时使用的单位
+    //         landscapeWidth: 816, // 横屏时使用的视口宽度
+    //       }),
+    //     ],
+    //   },
+    // },
     server: {
       port: 9616,
       host: '0.0.0.0',

+ 48 - 10
yarn.lock

@@ -27,6 +27,11 @@
   dependencies:
     "@babel/types" "^7.27.3"
 
+"@babel/runtime@^7.17.2":
+  version "7.28.3"
+  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.3.tgz#75c5034b55ba868121668be5d5bb31cc64e6e61a"
+  integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==
+
 "@babel/types@^7.27.3":
   version "7.27.6"
   resolved "https://registry.npmmirror.com/@babel/types/-/types-7.27.6.tgz#a434ca7add514d4e646c80f7375c0aa2befc5535"
@@ -1484,6 +1489,16 @@ copy-descriptor@^0.1.0:
   resolved "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
   integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
 
+copy-text-to-clipboard@^3.0.1:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
+  integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
+
+core-js@^3.11.0:
+  version "3.45.0"
+  resolved "https://registry.npmmirror.com/core-js/-/core-js-3.45.0.tgz#556c2af44a2d9c73ea7b49504392474a9f7c947e"
+  integrity sha512-c2KZL9lP4DjkN3hk/an4pWn5b5ZefhRJnAc42n6LJ19kSnbeRbdQZE5dSeE2LBol1OwJD3X1BQvFTAsa8ReeDA==
+
 cors@^2.8.5:
   version "2.8.5"
   resolved "https://registry.npmmirror.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
@@ -3144,6 +3159,11 @@ muggle-string@^0.4.1:
   resolved "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz#3b366bd43b32f809dc20659534dd30e7c8a0d328"
   integrity sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==
 
+mutation-observer@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0"
+  integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
+
 nanoid@^3.3.11:
   version "3.3.11"
   resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
@@ -3188,7 +3208,7 @@ nth-check@^2.0.1, nth-check@^2.1.1:
   dependencies:
     boolbase "^1.0.0"
 
-object-assign@^4, object-assign@^4.1.0:
+object-assign@>=4.0.1, object-assign@^4, object-assign@^4.1.0:
   version "4.1.1"
   resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
   integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
@@ -3356,6 +3376,14 @@ postcss-prefix-selector@^1.6.0:
   resolved "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.1.tgz#87a77523838b79c0e8aec29f173234b2987cdc04"
   integrity sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==
 
+postcss-px-to-viewport@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/postcss-px-to-viewport/-/postcss-px-to-viewport-1.1.1.tgz#a25ca410b553c9892cc8b525cc710da47bf1aa55"
+  integrity sha512-2x9oGnBms+e0cYtBJOZdlwrFg/mLR4P1g2IFu7jYKvnqnH/HLhoKyareW2Q/x4sg0BgklHlP1qeWo2oCyPm8FQ==
+  dependencies:
+    object-assign ">=4.0.1"
+    postcss ">=5.0.2"
+
 postcss-selector-parser@^6.0.15:
   version "6.1.2"
   resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de"
@@ -3364,6 +3392,15 @@ postcss-selector-parser@^6.0.15:
     cssesc "^3.0.0"
     util-deprecate "^1.0.2"
 
+postcss@>=5.0.2, postcss@^8.5.3, postcss@^8.5.6:
+  version "8.5.6"
+  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
+  integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+  dependencies:
+    nanoid "^3.3.11"
+    picocolors "^1.1.1"
+    source-map-js "^1.2.1"
+
 postcss@^5.2.17:
   version "5.2.18"
   resolved "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
@@ -3374,15 +3411,6 @@ postcss@^5.2.17:
     source-map "^0.5.6"
     supports-color "^3.2.3"
 
-postcss@^8.5.3, postcss@^8.5.6:
-  version "8.5.6"
-  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
-  integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
-  dependencies:
-    nanoid "^3.3.11"
-    picocolors "^1.1.1"
-    source-map-js "^1.2.1"
-
 posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
   version "0.2.1"
   resolved "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
@@ -4222,6 +4250,16 @@ vary@^1:
   resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
   integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
 
+vconsole@^3.15.1:
+  version "3.15.1"
+  resolved "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz#569a8ab15f353259527bbcf004f02946b4482cff"
+  integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    copy-text-to-clipboard "^3.0.1"
+    core-js "^3.11.0"
+    mutation-observer "^1.0.3"
+
 vite-plugin-compression@^0.5.1:
   version "0.5.1"
   resolved "https://registry.npmmirror.com/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz#a75b0d8f48357ebb377b65016da9f20885ef39b6"