diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index ebc3674..c6ccee3 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -13,7 +13,6 @@
"antfu.goto-alias",
"mikestead.dotenv",
"redhat.vscode-yaml",
- "Lokalise.i18n-ally",
"Vue.volar",
"steoates.autoimport",
"dbaeumer.vscode-eslint",
diff --git a/.env b/.env
index 4aea97c..6a39d83 100644
--- a/.env
+++ b/.env
@@ -4,7 +4,7 @@
VITE_API_BASE_URL = /api
# 标题
-VITE_APP_TITLE = tov
+VITE_APP_TITLE = 后台
# markdown 渲染支持
@@ -12,7 +12,7 @@ VITE_APP_MARKDOWN = true
# 开发时的开发面板
-VITE_APP_DEV_TOOLS = true
+VITE_APP_DEV_TOOLS = false
# 生产时 mock 支持
diff --git a/README_EN.md b/README_EN.md
deleted file mode 100644
index 082003c..0000000
--- a/README_EN.md
+++ /dev/null
@@ -1,1373 +0,0 @@
-
-
-
-
-
-## Features 🐳
-
-1. Vite-based
-2. Vue3-compatible
-3. File-based routing
-4. Layout system
-5. Mock support
-6. Auto import APIs
-7. Auto import components
-8. Auto import icons
-9. VueUse support
-10. TypeScript-friendly
-11. UnoCss integration
-12. Dark mode support
-13. SWR request support
-14. Pinia state management
-15. pnpm package manager
-16. Progress bar for navigation
-17. Devtools panel support
-18. Plugin auto-loading support
-19. Vitest unit testing support
-20. Markdown rendering support
-21. Path aliases support
-22. Command line auto creation and deletion
-23. i18n internationalization support
-24. Beautiful 404 page support
-25. TSX support
-26. Gzip resource compression support
-27. Environment variable configuration support
-28. Unified code style and formatting support
-29. Production environment automatically removes development logs
-30. defineOptions support
-31. Echarts integration
-32. Global toast notifications
-33. Global axios request wrapping
-34. Auto generate type declarations for environment variables
-35. `renovate` automatic dependency updates
-36. Auto version update and generate `CHANGELOG`
-37. Fastest and smallest `dockerfile` for static `go` service with minimal
- configuration
-38. `base` secure path resolution
-39. `lightningcss` support
-40. Vite configuration layer support (experimental)
-
-
-
-
-## Clone Template 🦕
-
-1. Github
-
-```shell
-git clone git@github.com:dishait/tov-template.git
-```
-
-2. Gitee
-
-```shell
-git clone git@gitee.com:dishait/tov-template.git
-```
-
-3. degit
-
-```shell
-npx degit https://github.com/dishait/tov-template#main
-```
-
-4. New `Github` repository 👉
- [Use this template](https://github.com/dishait/tov-template/generate)
-
-
-
-
-
-## Node version recommendation 🐎
-
-Since this template is fully geared towards modern development, it is
-recommended to use the current long-term maintenance version of `node`, which is
-`v20`.
-
-
-
-
-
-## Use 🐂
-
-This template only supports the `pnpm` package manager. 👉
-[Installation guide](https://pnpm.io/zh/installation)
-
-1. Install dependencies
-
-```shell
-pnpm install
-```
-
-2. Development
-
-```shell
-pnpm dev
-
-# Open host
-pnpm dev:host
-
-# Auto-open browser
-pnpm dev:open
-```
-
-3. Preview
-
-```shell
-pnpm preview
-
-# Open host
-pnpm preview:host
-
-# Auto-open browser
-pnpm preview:open
-```
-
-4. Build
-
-```shell
-pnpm build
-
-pnpm build:debug
-```
-
-5. Unit testing
-
-```shell
-pnpm test
-```
-
-6. Unit test report generation
-
-```shell
-pnpm coverage
-```
-
-7. Type checking
-
-```shell
-pnpm typecheck
-```
-
-8. Auto creation
-
-```shell
-pnpm auto:create
-```
-
-9. Auto removal
-
-```shell
-pnpm auto:remove
-```
-
-10. Dependency updates
-
-```shell
-# Update dependency version
-pnpm deps:fresh
-```
-
-```shell
-# The above commands only write to the package information file package.json, and need to re-execute the package installation command.
-pnpm i
-```
-
-11. Code style checking
-
-```shell
-pnpm lint
-
-# Fix errors during linting
-pnpm lint:fix
-```
-
-12. Safe Init
-
-```shell
-pnpm safe:init
-```
-
-
-
-
-## Motivation 🐗
-
-Why did we create this template?
-
-1. Save time on configuration for future development projects.
-2. Integrate modern development architecture with mainstream plugins to improve
- development efficiency.
-
-
-
-
-## Use Cases 🐻
-
-When should you use this template?
-
-1. Don't want to waste time on project configuration.
-2. Want to try developing web applications in a more modern way and improve
- development efficiency.
-
-
-
-
-## Inspiration 🐃
-
-This template is inspired by [vitesse](https://github.com/antfu/vitesse). If you
-have an SSR scenario, we recommend that you use
-[vitesse](https://github.com/antfu/vitesse).
-
-
-
-
-## Organization 🦔
-
-Welcome to follow **dishait**
-
-- [Official Website](http://dishaxy.dishait.cn/)
-- [Gitee](https://gitee.com/dishait)
-- [Github](https://github.com/dishait)
-- [NetEase Cloud Classroom](https://study.163.com/provider/480000001892585/index.htm?share=2&shareId=480000001892585)
-
-
-
-## Details 🐳
-
-### [1. Vite](https://cn.vitejs.dev/)
-
-This template uses **[Vite](https://cn.vitejs.dev/)** as the build tool. You can
-configure the project's build in `vite.config.ts` at the root directory.
-
-For the introduction of many mainstream plugins and complex configurations, they
-have been integrated into the presets under the root directory. In most cases,
-you do not need to reconfigure them.
-
-
-
-### [2. Vue3](https://v3.cn.vuejs.org/)
-
-
-
-### [3. File-based Routing](https://github.com/posva/unplugin-vue-router)
-
-The directory structure is the route.
-
-For example:
-
-- `src/pages/index.vue` => `/`
-- `src/pages/about.vue` => `/about`
-- `src/pages/users/index.vue` => `/users`
-- `src/pages/users/profile.vue` => `/users/profile`
-- `src/pages/users/[id].vue` => `/users/:id`
-- `src/pages/[user]/settings.vue` => `/:user/settings`
-- `src/pages/[...notFound].vue` => 404 route
-
-For more details, please refer to
-[unplugin-vue-router](https://github.com/posva/unplugin-vue-router).
-
-
-
-### [4. Layout System](https://github.com/dishait/vite-plugin-vue-meta-layouts)
-
-#### Default Layout
-
-`src/layouts/default.vue` will be used as the default layout.
-
-```html
-
-
- default
-
-
-
-```
-
-At this point, `src/pages/index.vue`:
-
-```html
-
-
- home
-
-```
-
-When routing to `/`, the page will render:
-
-```html
-default home
-```
-
-Now, `src/pages/about.vue`:
-
-```html
-
-
- about
-
-```
-
-When routing to `/about`, the page will render:
-
-```html
-default about
-```
-
-
-
-#### Non-Default Layout
-
-Create a `src/layouts/custom.vue` randomly:
-
-```html
-
-
- custom
-
-
-
-```
-
-At this point, in `src/pages/index.vue`:
-
-```html
-
-
- home
-
-
-
-
-{
- "meta": {
- "layout": "custom"
- }
-}
-
-```
-
-When routing to `/`, the page will render:
-
-```html
-custom home
-```
-
-See specifically 👉
-[vite-plugin-vue-meta-layouts](https://github.com/dishait/vite-plugin-vue-meta-layouts)
-
-
-
-### [5. Mock Support](https://github.com/vbenjs/vite-plugin-mock)
-
-In the `mock` directory under the root directory, you can export default `api`
-resources in modules.
-
-For example, export from `mock/test.ts`:
-
-```ts
-import { MockMethod } from "vite-plugin-mock";
-export default [
- {
- url: "/api/mock/get",
- method: "get",
- response: () => {
- return {
- code: 0,
- data: {
- name: "vben",
- },
- };
- },
- },
-] as MockMethod[];
-```
-
-You can then make mock requests in the `src` directory.
-
-```html
-
- data: {{data}}
- loading: {{loading}}
- error: {{error}}
-
-```
-
-Here we use [vue-request](https://cn.attojs.org/) to make requests, but since
-this `mock` intercepts an entire interface, it is also possible to use request
-libraries such as `axios`.
-
-
-
-### [6. Api Auto Import](https://github.com/antfu/unplugin-auto-import)
-
-The original `vue` `api` needs to be manually `import`ed.
-
-```ts
-import { computed, ref } from "vue";
-const count = ref(0);
-const doubled = computed(() => count.value * 2);
-```
-
-Now it can be directly used.
-
-```ts
-const count = ref(0);
-const doubled = computed(() => count.value * 2);
-```
-
-And the above `api` is automatically imported on demand.
-
-Currently, the template supports automatic import of libraries that support
-auto-importing `api`.
-
-- `vue`
-- `vuex`
-- `pinia`
-- `vue-i18n`
-- `vue-router`
-- `@vueuse/core`
-- `@vueuse/head`
-- `@vueuse/math`
-
-Just make sure to install the dependencies and see the specific details here
-👉
-[vite-auto-import-resolvers](https://github.com/dishait/vite-auto-import-resolvers#%E9%BB%98%E8%AE%A4%E6%94%AF%E6%8C%81%E5%88%97%E8%A1%A8),
-
-Of course, there are also automatic imports in projects, just need to meet the
-following specifications.
-
-1. The export from `src/composables` will be automatically imported as needed.
-
-For example, there is a `src/composables/foo.ts` file:
-
-```ts
-// default export
-export default 1000;
-```
-
-1. No need for `import` at this point.
-
-```html
-
-
-
- {{store.counter}}
-
-```
-
-2. The export from `src/stores` will be automatically imported as needed.
-
-For example, there is a `src/stores/counterStore.ts` file:
-
-```ts
-// default export
-export default defineStore("counter", {
- state() {
- return {
- counter: 1,
- };
- },
- actions: {
- inc() {
- this.counter++;
- },
- },
-});
-```
-
-At this point, there is no need for `import` anymore.
-
-```html
-
-
-
- {{store.counter}}
-
-```
-
-3. `src/api` is also automatically imported on demand, similar to the above.
-
-You can see more details in the
-[unplugin-auto-import](https://github.com/antfu/unplugin-auto-import)
-documentation.
-
-
-
-### [7. Automatic component importing](https://github.com/antfu/unplugin-vue-components)
-
-It turns out that `import` is required.
-
-```html
-
-
-
-
-
-
-```
-
-Now, any components defined in the `src/components` directory will be
-automatically imported on demand, meaning that `import` statements are not
-required.
-
-```html
-
-
-
-
-```
-
-Of course, it also supports nested components, such as
-`src/components/foo/bar.vue` 👇
-
-```html
-
-
-
-
-```
-
-Automatic importing of popular component libraries is also supported, such as
-`Naive ui`.
-
-You only need to install the dependency.
-
-```shell
-pnpm add naive-ui
-```
-
-Then you can use it in your templates.
-
-```html
-
-
- Success
-
-```
-
-Currently supported component libraries are:
-
-- [vant](https://github.com/youzan/vant)
-- [idux](https://github.com/IDuxFE/idux)
-- [devui](https://github.com/DevCloudFE/vue-devui)
-- [quasar](https://github.com/quasarframework/quasar)
-- [varlet](https://github.com/varletjs/varlet)
-- [inkline](https://github.com/inkline/inkline)
-- [vuetify](https://github.com/vuetifyjs/vuetify)
-- [naive-ui](https://github.com/TuSimple/naive-ui)
-- [primevue](https://github.com/primefaces/primevue)
-- [layui-vue](https://gitee.com/layui/layui-vue)
-- [view-design](https://iviewui.com/)
-- [arco-design](https://github.com/arco-design/arco-design)
-- [element-plus](https://github.com/element-plus/element-plus)
-- [ant-design-vue](https://github.com/vueComponent/ant-design-vue)
-- [@headlessui/vue](https://github.com/tailwindlabs/headlessui)
-- [tdesign-vue-next](https://github.com/Tencent/tdesign-vue-next)
-- [@vueuse/components](https://github.com/vueuse/vueuse/tree/main/packages/components)
-
-Please refer to 👉
-[unplugin-vue-components](https://github.com/antfu/unplugin-vue-components)
-
-
-
-### [8. Automatic icon importing](https://unocss.dev/presets/icons)
-
-You can go to [icones](https://icones.netlify.app/) and click on any icon
-library you like.
-
-
-
-Then click on one of the icons you like.
-
-
-
-Copy its name.
-
-
-
-In the template, you can use it directly through the `class` method, remember to
-add the prefix `i-`.
-
-```html
-
-
-
-```
-
-After saving, wait for the automatic download of theAfter saving, wait for the
-automatic download of the icon library and you can see the corresponding icon in
-the page.
-
-I also recommend using the `vscode` plugin
-[Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify).
-
-This plugin displays a preview of the icons in the template.
-
-Of course, dynamic loading of icons is also supported:
-
-```html
-
-
-
-
-
-```
-
-Please note that for dynamic icons, make sure to test all the icons in the
-development environment.
-
-For more information, please refer to
-[unocss/presets/icons](https://unocss.dev/presets/icons).
-
-
-
-### [9. VueUse Support](https://vueuse.org/)
-
-`VueUse` is a powerful `hooks` library. For example, if you want to get the
-mouse position, you only need to do this:
-
-```html
-
-
-
- x {{x}}
- y {{y}}
-
-```
-
-Please refer to 👉 [VueUse](https://vueuse.org/)
-
-
-
-### [10. TypeScript's](https://www.tslang.cn/)
-
-You don't need to reconfigure, just write it in `ts` directly.
-
-
-
-### [11. unocss's](https://unocss.dev/)
-
-`unocss` is a faster development `atomic CSS` library.
-
-You can use it directly in the template, no configuration is needed.
-
-```html
-
- I am white text on a red background.
-
-```
-
-The above template will render white text on a red background.
-
-It also supports [attribute mode](https://unocss.dev/presets/attributify), which
-means you can use shorthand notation.
-
-```html
-
- I am white text on a red background.
-
-```
-
-This can reduce the amount of code when adjusting margin sizes, among other
-things.
-
-For more information, please refer to [unocss](https://unocss.dev/).
-
-
-
-### [12. Dark mode support](https://github.com/dishait/vue-dark-switch)
-
-Dark mode is implemented by
-[vue-dark-switch](https://github.com/dishait/vue-dark-switch).
-
-```html
-
-
-
-
-
-
-```
-
-Please refer to 👉 [vue-dark-switch](https://github.com/dishait/vue-dark-switch)
-
-
-
-### [13. SWR Request Support](https://cn.attojs.org/)
-
-SWR is a more modern way of making requests, for more information please refer
-to the article 👉 [SWR](https://zhuanlan.zhihu.com/p/89570321).
-
-And [vue-request](https://cn.attojs.org/) is a Vue version request library for
-SWR.
-
-You can use it like this, for example, to request `/api/test`
-
-```html
-
-
-
- data: {{data}}
- error: {{error}}
- loading: {{loading}}
-
-```
-
-All the basic data, state, and caching are handled for you, so there's no need
-to re-wrap things.
-
-For more information, please refer to [vue-request](https://cn.attojs.org/).
-
-
-
-### [14. Pinia State Management](https://pinia.vuejs.org/)
-
-`Pinia` is the next-generation state management library, which is simpler than
-`Vuex` and has better TypeScript support.
-
-You can define your states in the `src/stores` directory.
-
-For example, create a `src/stores/counter.ts` file:
-
-```ts
-// src/stores/counter.ts
-import { defineStore } from "pinia";
-
-export const useCounterStore = defineStore("counter", {
- state() {
- return { count: 0 };
- },
- actions: {
- inc() {
- this.count++;
- },
- },
-});
-```
-
-After defining it, you can use it directly in the `setup`.
-
-```html
-
-
-```
-
-
-
-
-### 22. Command Line Auto Create and Remove
-
-To create a standard page or component just enter 👇,
-
-```shell
-pnpm auto:create
-```
-
-Of course, you can also delete 👇,
-
-```shell
-pnpm auto:remove
-```
-
-
-
-
-### [23. i18n Internationalization Support](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n)
-
-In daily business, there may be some scenarios that require
-internationalization. Then you only need to define different languages' `yml` in
-the `locales` directory at the root level to achieve out-of-the-box
-internationalization support in the project.
-
-For example, `locales/en.yml` is used to define the English content that
-requires internationalization support.
-
-```yml
-# locales/en.yml
-# English
-
-index: index
-about: about
-not-found: Notfound
-```
-
-For example, `locales/简体中文.yml` is used to define the Chinese content that
-requires internationalization support.
-
-```yml
-# locales/简体中文.yml
-# 中文
-
-index: 主页
-about: 关于
-not-found: 未找到页面
-```
-
-You can use it in components like this at this time 👇
-
-```html
-
-
-
-
- language: {{ t('index') }} click me!!
-
-
-```
-
-For more detailed instructions, please refer to the
-[@intlify/vite-plugin-vue-i18n](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n)
-and [vue-i18n](https://github.com/intlify/vue-i18n-next).
-
-In addition, `yml` is a popular configuration file format in frontend
-development, and you can find its syntax in Mr. Ruan Yifeng's tutorial:
-[YAML Language Tutorial](http://www.ruanyifeng.com/blog/2016/07/yaml.html).
-
-Here are some recommended VS Code plugins:
-
-- Multifunctional `i18n` support:
- [i18n Ally](https://marketplace.visualstudio.com/items?itemName=Lokalise.i18n-ally)
-
-
-
-
-For more detailed instructions, please refer to the
-[@intlify/vite-plugin-vue-i18n](https://github.com/intlify/bundle-tools/tree/main/packages/vite-plugin-vue-i18n)
-and [vue-i18n](https://github.com/intlify/vue-i18n-next).
-
-In addition, `yml` is a popular configuration file format in frontend
-development, and you can find its syntax in Mr. Ruan Yifeng's tutorial:
-[YAML Language Tutorial](http://www.ruanyifeng.com/blog/2016/07/yaml.html).
-
-Here are some recommended VS Code plugins:
-
-Multifunctional `i18n` support:
-[i18n Ally](https://marketplace.visualstudio.com/items?itemName=Lokalise.i18n-ally)
-
-
-
-
-### 24. Beautiful `404` Page Support
-
-In daily business, when a user visits a non-existent page, they should be given
-an information prompt that the page does not exist, and this prompt page is the
-`404` page.
-
-You can visit any non-existent page at random, for example `/bucunzai`
-
-
-
-Of course, there is also dark mode adaptation.
-
-
-
-It also supports simple responsive adaptation. For example, it will display
-correctly on mobile browsers.
-
-If the cover of this `404` page does not meet your taste, you can modify the
-`src` attribute of the `img` tag in `pages/[...notFound].vue`. The default is
-`32.svg`, supporting `1 ~ 33` `svg`.
-
-For example, the default is:
-
-```html
-
-
-
-
-```
-
-To change the cover to `/notFound/33.svg`, modify it as follows:
-
-```html
-
-
-
-
-```
-
-This will switch the cover to:
-
-
-
-
-
-
-### 25. [`tsx` Support](https://github.com/vitejs/vite/tree/main/packages/plugin-vue-jsx)
-
-You only need to place the `.tsx` file under `src/components`, and you can
-directly use it in the template.
-
-For example, if you have a `src/components/foo.tsx` file, you can directly use
-it in the template.
-
-```tsx
-// src/components/foo.tsx
-export default defineComponent({
- render() {
- return Test
;
- },
-});
-```
-
-```html
-
-
-
-```
-
-For more details, please refer to:
-[@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite/tree/main/packages/plugin-vue-jsx)
-
-
-
-
-### 26. [`gzip` Resource Compression Support](https://github.com/vbenjs/vite-plugin-compression)
-
-Out-of-the-box `gzip` resource compression in production environment, no
-configuration required.
-
-For more details, please refer to:
-[vite-plugin-compression](https://github.com/vbenjs/vite-plugin-compression)
-
-
-
-
-### 27. [Environment Variable Configuration Support](https://cn.vitejs.dev/guide/env-and-mode.html)
-
-The `.env` file in the root directory is used to configure environment variables
-for the project.
-
-
-
-
-### 28. Unified Code Standards and Style Support
-
-Code style verification provided by [eslint](https://github.com/eslint/eslint)
-and code standardization using [prettier](https://github.com/prettier/prettier).
-
-Provided by [husky](https://github.com/typicode/husky) +
-[lint-staged](https://github.com/okonet/lint-staged) during `commit`
-verification.
-
-
-
-
-### 29. [Automatic Removal of Development Logs in Production Environment](https://github.com/dishait/vite-plugin-removelog)
-
-In the production environment, logs such as `console.log`, `console.warn`, and
-`console.error` will be automatically removed to avoid the leakage of
-development logs.
-
-For more details, please refer to:
-[vite-plugin-removelog](https://github.com/dishait/vite-plugin-removelog)
-
-
-
-
-### 30. [defineOptions Support](https://vuejs.org/api/sfc-script-setup.html#defineoptions)
-
-```html
-
-```
-
-
-
-
-### 31. [Echarts Support](https://github.com/ecomfe/vue-echarts)
-
-A simple integration with [vue-echarts](https://github.com/ecomfe/vue-echarts),
-please refer to the documentation of
-[echarts](https://github.com/apache/echarts) and
-[vue-echarts](https://github.com/ecomfe/vue-echarts).
-
-
-
-
-### 32. [Global Toast Notification](https://github.com/euvl/vue-notification)
-
-Integrated with [vue-toastification](https://github.com/euvl/vue-notification),
-you can use it in all files under the `src` directory:
-
-```ts
-// Any file under the `src` directory is available.
-toast.info("info");
-toast.error("error");
-toast.warning("warning");
-toast.success("success");
-```
-
-For more details, please refer to:
-[Global Toast Notification](https://github.com/euvl/vue-notification)
-
-
-
-
-### 33. [Global Axios Request Wrapper](https://www.axios-http.cn/)
-
-The [axios](https://www.axios-http.cn/) is wrapped, and you can use it in all
-files under the `src` directory:
-
-```ts
-// Available in any file under src
-http.get("...");
-http.post("...", { name: "张三", age: 20 });
-// ... and so on
-```
-
-The above `http` is an instance created separately by `axios`, with simple error
-prompts and response data conversion. For more details, please refer to
-`src/composables/http.ts`.
-
-If you prefer a reactive style and `swr`, you can use it together with
-[vue-request](https://github.com/attojs/vue-request).
-
-```ts
-import { useRequest } from "vue-request";
-
-const { data, error, loading } = useRequest(() => http.get("..."));
-
-loading.value; // loading
-
-error.value; // error
-
-data.value; // data
-```
-
-The `http` instance's `baseURL` takes the value from the environment variable
-file `.env` for `VITE_API_BASE_URL`, defaulting to `/api`, which can be changed
-according to your needs.
-
-For more details, please refer to 👉 [axios](https://www.axios-http.cn/).
-
-
-
-
-### 34. [Automatic Generation of Environment Variable Type Declarations](https://github.com/dishait/vite-plugin-env-types)
-
-In Vite projects, we can set environment variables in `.env` and use them in the
-frontend source code through `import.meta.env`, but the type hinting is poor.
-This feature can automatically generate type declarations to achieve real-time
-type hinting, so you don't need to worry about and manage them manually.
-
-For more details, please refer to:
-[vite-plugin-env-types](https://github.com/dishait/vite-plugin-env-types).
-
-
-
-
-### 35. [`renovate` Automatically Updates Dependencies](https://github.com/renovatebot/renovate)
-
-The [renovate](https://github.com/marketplace/renovate) bot on GitHub will
-periodically check dependencies on GitHub and raise a `pr` to update the
-repository, with the update strategy available at:
-[unjs/renovate-config](https://github.com/unjs/renovate-config).
-
-Of course, you can also manually execute it to update:
-
-```shell
-pnpm deps:fresh
-```
-
-For more details, please refer to:
-[renovate](https://github.com/renovatebot/renovate)
-
-
-
-
-### 36. [Automatic Version Update and Generating `CHANGELOG`](https://github.com/unjs/changelogen)
-
-When we execute `pnpm run release`, it will automatically update the version and
-update the `CHANGELOG.md` file.
-
-For more details, please refer to:
-[unjs/changelogen](https://github.com/unjs/changelogen).
-
-
-
-
-### 37. [Fastest and Smallest `dockerfile` for Static `go` Service](https://github.com/PierreZ/goStatic)
-
-The `dockerfile` in the root directory configures the smallest and fastest
-container for a static `go` service, making it more convenient for cloud
-container services.
-
-For more details, please refer to:
-[PierreZ/goStatic](https://github.com/PierreZ/goStatic).
-
-
-
-
-### 38. Base Secure Path Resolution
-
-In Vite, if we change the `base` in `vite.config.ts`, it causes the resource
-paths and route paths to become invalid. Using `safeResolve` can ensure that the
-same `base` is used in both development and production environments.
-
-```html
-
-
-
-
-
-
-```
-
-
-
-
-### 39. `lightningcss` Support
-
-Now it will automatically detect whether the current project supports
-[lightningcss](https://cn.vitejs.dev/guide/features.html#lightning-css) and
-enable it intelligently.
-
-
-
-
-### 40. Vite Config Layer Support (Experimental)
-
-Now in `tov-template`, we can use the form of `vite.config.[mode].ts` to support
-configuration files for different environments.
-
-1. Only vite.config.ts is selected when there is no specific mode.
-2. When both vite.config.ts and vite.config.dev.ts exist, their configurations
- are merged during development, with the configuration in vite.config.dev.ts
- having higher priority.
-3. When both vite.config.ts and vite.config.prod.ts exist, their configurations
- are merged during production, with the configuration in vite.config.prod.ts
- having higher priority.
-
-This feature is supported by
-[vite-layers](https://github.com/markthree/vite-layers).
-
-
-
-
-
-## License
-
-Made with [markthree](./LICENSE)
-
-Published under [MIT License](./LICENSE).
-
-
diff --git a/mock/test.ts b/mock/test.ts
deleted file mode 100644
index 3264db9..0000000
--- a/mock/test.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { MockMethod } from 'vite-plugin-mock'
-export default [
- {
- url: '/api/mock/get',
- method: 'get',
- response: () => {
- return {
- code: 0,
- data: {
- name: 'mock',
- },
- }
- },
- },
- {
- url: '/api/mock/post',
- method: 'post',
- timeout: 2000,
- response: {
- code: 0,
- data: {
- name: 'mock',
- },
- },
- },
- {
- url: '/api/mock/text',
- method: 'post',
- rawResponse: async (req, res) => {
- let reqbody = ''
- await new Promise((resolve) => {
- req.on('data', (chunk) => {
- reqbody += chunk
- })
- req.on('end', () => resolve(undefined))
- })
- res.setHeader('Content-Type', 'text/plain')
- res.statusCode = 200
- res.end(`hello, ${reqbody}`)
- },
- },
-] as MockMethod[]
diff --git a/package.json b/package.json
index 9d86263..c7bcc3a 100644
--- a/package.json
+++ b/package.json
@@ -1,36 +1,17 @@
{
- "name": "tov-template",
+ "name": "后台",
"version": "1.19.0",
- "description": "vite + vue3 + ts 开箱即用现代开发模板 | vite + vue3 + ts out-of-the-box modern development template",
+ "description": "后台",
"type": "module",
"scripts": {
"dev": "vite",
- "test": "vitest",
- "build": "vite build",
- "prepare": "husky install",
- "dev:host": "vite --host",
- "dev:open": "vite --open",
- "preview": "vite preview",
- "coverage": "vitest --coverage",
- "preinstall": "npx only-allow pnpm",
- "typecheck": "npx vue-tsc --noEmit",
- "preview:host": "vite preview --host",
- "preview:open": "vite preview --open",
- "lint": "eslint --ext .ts,.js,.jsx,.vue .",
- "release": "plop --plopfile scripts/release.cjs",
- "auto:remove": "plop --plopfile scripts/remove.cjs",
- "auto:create": "plop --plopfile scripts/create.cjs",
- "build:debug": "cross-env NODE_ENV=debug vite build",
- "safe:init": "plop --plopfile scripts/safe-init.cjs",
- "deps:fresh": "plop --plopfile scripts/deps-fresh.cjs",
- "lint:fix": "eslint --fix --ext .ts,.js,.jsx,.vue,.cjs ."
+ "build": "vite build"
},
"engines": {
"node": ">=20.12.2"
},
"packageManager": "pnpm@8.15.8",
"devDependencies": {
- "@intlify/unplugin-vue-i18n": "^3.0.1",
"@types/ityped": "^1.0.3",
"@types/node": "^20.12.7",
"@typescript-eslint/parser": "7.8.0",
@@ -60,7 +41,6 @@
"lightningcss": "^1.24.1",
"lint-staged": "^15.2.2",
"local-pkg": "^0.5.0",
- "markdown-it-prism": "^2.3.0",
"mockjs": "^1.1.0",
"nprogress": "^0.2.0",
"perfect-debounce": "^1.0.0",
@@ -84,16 +64,12 @@
"vite-plugin-compression": "^0.5.1",
"vite-plugin-env-types": "^0.1.4",
"vite-plugin-legacy-swc": "^1.1.0",
- "vite-plugin-mock": "2.9.8",
- "vite-plugin-removelog": "^0.2.2",
"vite-plugin-use-modules": "^1.4.8",
"vite-plugin-vue-devtools": "^7.1.3",
"vite-plugin-vue-meta-layouts": "^0.4.3",
"vitest": "^1.5.3",
"vue": "^3.4.26",
- "vue-dark-switch": "^1.0.6",
"vue-echarts": "^6.7.1",
- "vue-i18n": "^9.13.1",
"vue-request": "2.0.4",
"vue-router": "^4.3.2",
"vue-toastification": "2.0.0-rc.5"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7f1f588..d98ef0d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,9 +12,6 @@ importers:
specifier: ^2.9.2
version: 2.9.2(vue@3.4.26(typescript@5.4.5))
devDependencies:
- '@intlify/unplugin-vue-i18n':
- specifier: ^3.0.1
- version: 3.0.1(rollup@4.13.0)(vue-i18n@9.13.1(vue@3.4.26(typescript@5.4.5)))
'@types/ityped':
specifier: ^1.0.3
version: 1.0.3
@@ -102,9 +99,6 @@ importers:
local-pkg:
specifier: ^0.5.0
version: 0.5.0
- markdown-it-prism:
- specifier: ^2.3.0
- version: 2.3.0
mockjs:
specifier: ^1.1.0
version: 1.1.0
@@ -143,7 +137,7 @@ importers:
version: 5.4.5
unocss:
specifier: ^0.59.4
- version: 0.59.4(postcss@8.1.10)(rollup@4.13.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))
+ version: 0.59.4(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))
unplugin-auto-import:
specifier: ^0.17.5
version: 0.17.5(@vueuse/core@10.9.0(vue@3.4.26(typescript@5.4.5)))(rollup@4.13.0)
@@ -174,12 +168,6 @@ importers:
vite-plugin-legacy-swc:
specifier: ^1.1.0
version: 1.1.0(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))
- vite-plugin-mock:
- specifier: 2.9.8
- version: 2.9.8(mockjs@1.1.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))
- vite-plugin-removelog:
- specifier: ^0.2.2
- version: 0.2.2(vue@3.4.26(typescript@5.4.5))
vite-plugin-use-modules:
specifier: ^1.4.8
version: 1.4.8(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))
@@ -195,15 +183,9 @@ importers:
vue:
specifier: ^3.4.26
version: 3.4.26(typescript@5.4.5)
- vue-dark-switch:
- specifier: ^1.0.6
- version: 1.0.6(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5))
vue-echarts:
specifier: ^6.7.1
version: 6.7.1(@vue/runtime-core@3.4.26)(echarts@5.5.0)(vue@3.4.26(typescript@5.4.5))
- vue-i18n:
- specifier: ^9.13.1
- version: 9.13.1(vue@3.4.26(typescript@5.4.5))
vue-request:
specifier: 2.0.4
version: 2.0.4(vue@3.4.26(typescript@5.4.5))
@@ -505,12 +487,6 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.14.54':
- resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.20.2':
resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
engines: {node: '>=12'}
@@ -627,53 +603,6 @@ packages:
'@iconify/utils@2.1.23':
resolution: {integrity: sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ==}
- '@intlify/bundle-utils@7.5.1':
- resolution: {integrity: sha512-UovJl10oBIlmYEcWw+VIHdKY5Uv5sdPG0b/b6bOYxGLln3UwB75+2dlc0F3Fsa0RhoznQ5Rp589/BZpABpE4Xw==}
- engines: {node: '>= 14.16'}
- peerDependencies:
- petite-vue-i18n: '*'
- vue-i18n: '*'
- peerDependenciesMeta:
- petite-vue-i18n:
- optional: true
- vue-i18n:
- optional: true
-
- '@intlify/core-base@9.13.1':
- resolution: {integrity: sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==}
- engines: {node: '>= 16'}
-
- '@intlify/message-compiler@9.10.2':
- resolution: {integrity: sha512-ntY/kfBwQRtX5Zh6wL8cSATujPzWW2ZQd1QwKyWwAy5fMqJyyixHMeovN4fmEyCqSu+hFfYOE63nU94evsy4YA==}
- engines: {node: '>= 16'}
-
- '@intlify/message-compiler@9.13.1':
- resolution: {integrity: sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==}
- engines: {node: '>= 16'}
-
- '@intlify/shared@9.10.2':
- resolution: {integrity: sha512-ttHCAJkRy7R5W2S9RVnN9KYQYPIpV2+GiS79T4EE37nrPyH6/1SrOh3bmdCRC1T3ocL8qCDx7x2lBJ0xaITU7Q==}
- engines: {node: '>= 16'}
-
- '@intlify/shared@9.13.1':
- resolution: {integrity: sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==}
- engines: {node: '>= 16'}
-
- '@intlify/unplugin-vue-i18n@3.0.1':
- resolution: {integrity: sha512-q1zJhA/WpoLBzAAuKA5/AEp0e+bMOM10ll/HxT4g1VAw/9JhC4TTobP9KobKH90JMZ4U2daLFlYQfKNd29lpqw==}
- engines: {node: '>= 14.16'}
- peerDependencies:
- petite-vue-i18n: '*'
- vue-i18n: '*'
- vue-i18n-bridge: '*'
- peerDependenciesMeta:
- petite-vue-i18n:
- optional: true
- vue-i18n:
- optional: true
- vue-i18n-bridge:
- optional: true
-
'@istanbuljs/schema@0.1.3':
resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
engines: {node: '>=8'}
@@ -945,9 +874,6 @@ packages:
'@types/mdurl@1.0.5':
resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
- '@types/mockjs@1.0.10':
- resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==}
-
'@types/node@20.12.7':
resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
@@ -1151,9 +1077,6 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@vue/compiler-core@3.0.11':
- resolution: {integrity: sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==}
-
'@vue/compiler-core@3.4.21':
resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
@@ -1163,9 +1086,6 @@ packages:
'@vue/compiler-core@3.4.26':
resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==}
- '@vue/compiler-dom@3.0.11':
- resolution: {integrity: sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==}
-
'@vue/compiler-dom@3.4.21':
resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
@@ -1181,9 +1101,6 @@ packages:
'@vue/compiler-sfc@3.4.26':
resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==}
- '@vue/compiler-ssr@3.0.11':
- resolution: {integrity: sha512-66yUGI8SGOpNvOcrQybRIhl2M03PJ+OrDPm78i7tvVln86MHTKhM3ERbALK26F7tXl0RkjX4sZpucCpiKs3MnA==}
-
'@vue/compiler-ssr@3.4.21':
resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
@@ -1218,9 +1135,6 @@ packages:
peerDependencies:
vue: 3.4.26
- '@vue/shared@3.0.11':
- resolution: {integrity: sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA==}
-
'@vue/shared@3.4.21':
resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
@@ -1374,10 +1288,6 @@ packages:
resolution: {integrity: sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==}
engines: {node: '>=16.14.0'}
- ast-types-yx@0.14.2:
- resolution: {integrity: sha512-lre9vXZvn5azJcNM60Ub19NzoXsaGS/vJ76ral4BbGSOYJoBo/OrXOXI2uClYzDSzDfRR6D8K+FJrYT3BHUM8w==}
- engines: {node: '>=4'}
-
ast-walker-scope@0.6.1:
resolution: {integrity: sha512-0ZdQEsSfH3mX4BFbRCc3xOBjx5bDbm73+aAdQOHerPQNf8K0XFMAv79ucd2BpnSc4UMyvBDixiroT8yjm2Y6bw==}
engines: {node: '>=16.14.0'}
@@ -1401,9 +1311,6 @@ packages:
resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
engines: {node: '>=0.6'}
- big.js@5.2.2:
- resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
-
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
@@ -1579,9 +1486,6 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- colorette@1.4.0:
- resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
-
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -1606,10 +1510,6 @@ packages:
confbox@0.1.3:
resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==}
- connect@3.7.0:
- resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
- engines: {node: '>= 0.10.0'}
-
consola@3.2.3:
resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -1650,14 +1550,6 @@ packages:
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@4.3.4:
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
engines: {node: '>=6.0'}
@@ -1757,9 +1649,6 @@ packages:
echarts@5.5.0:
resolution: {integrity: sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==}
- ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
electron-to-chromium@1.4.715:
resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==}
@@ -1774,14 +1663,6 @@ packages:
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
- emojis-list@3.0.0:
- resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
- engines: {node: '>= 4'}
-
- encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
-
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -1797,131 +1678,6 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- esbuild-android-64@0.14.54:
- resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- esbuild-android-arm64@0.14.54:
- resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- esbuild-darwin-64@0.14.54:
- resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- esbuild-darwin-arm64@0.14.54:
- resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- esbuild-freebsd-64@0.14.54:
- resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- esbuild-freebsd-arm64@0.14.54:
- resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- esbuild-linux-32@0.14.54:
- resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- esbuild-linux-64@0.14.54:
- resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- esbuild-linux-arm64@0.14.54:
- resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- esbuild-linux-arm@0.14.54:
- resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- esbuild-linux-mips64le@0.14.54:
- resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- esbuild-linux-ppc64le@0.14.54:
- resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- esbuild-linux-riscv64@0.14.54:
- resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- esbuild-linux-s390x@0.14.54:
- resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- esbuild-netbsd-64@0.14.54:
- resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- esbuild-openbsd-64@0.14.54:
- resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- esbuild-sunos-64@0.14.54:
- resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- esbuild-windows-32@0.14.54:
- resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- esbuild-windows-64@0.14.54:
- resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- esbuild-windows-arm64@0.14.54:
- resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- esbuild@0.14.54:
- resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
- engines: {node: '>=12'}
- hasBin: true
-
esbuild@0.20.2:
resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
engines: {node: '>=12'}
@@ -1946,11 +1702,6 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
- escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
-
eslint-config-prettier@9.1.0:
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
hasBin: true
@@ -2082,10 +1833,6 @@ packages:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
- finalhandler@1.1.2:
- resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
- engines: {node: '>= 0.8'}
-
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -2161,9 +1908,6 @@ packages:
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
- generic-names@2.0.1:
- resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==}
-
gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
@@ -2230,9 +1974,6 @@ packages:
resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- gogocode@1.0.55:
- resolution: {integrity: sha512-PhT2EnPTaXODiPsZDhRwGe03cb9Eg0nBlvjp3WyQqLAz5lfK7hFQgq/ybTA5BZBThWQnFJGTDjy/Dht7dAtlDw==}
-
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
@@ -2274,9 +2015,6 @@ packages:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
engines: {node: '>= 0.4'}
- hash-sum@2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
@@ -2315,23 +2053,10 @@ packages:
engines: {node: '>=18'}
hasBin: true
- hyntax-yx@1.0.9:
- resolution: {integrity: sha512-T7HXVm1dEt6NFNQaYuzLfhyM+jiK1Z3elYUOz5ulf9fCG/vfJ+F51mPFaoBX4J1naaqIx82NCaVtK8L1oq5TwA==}
- engines: {node: '>=6.11.1', npm: '>=5.3.0'}
-
iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
- icss-replace-symbols@1.1.0:
- resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
-
- icss-utils@5.1.0:
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
@@ -2347,17 +2072,10 @@ packages:
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
engines: {node: '>=0.8.19'}
- indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
-
indent-string@5.0.0:
resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
engines: {node: '>=12'}
- indexes-of@1.0.1:
- resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==}
-
inflight@1.0.6:
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
@@ -2551,19 +2269,11 @@ packages:
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
- json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
- hasBin: true
-
json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- jsonc-eslint-parser@2.4.0:
- resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
-
jsonc-parser@3.2.1:
resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
@@ -2670,10 +2380,6 @@ packages:
resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==}
engines: {node: '>=18.0.0'}
- loader-utils@1.4.2:
- resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
- engines: {node: '>=4.0.0'}
-
local-pkg@0.4.3:
resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==}
engines: {node: '>=14'}
@@ -2696,9 +2402,6 @@ packages:
lodash: '*'
lodash-es: '*'
- lodash.camelcase@4.3.0:
- resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
-
lodash.get@4.4.2:
resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
@@ -2733,9 +2436,6 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
- m-type-tools@0.4.1:
- resolution: {integrity: sha512-3QarLN7adHAnqM/BnNp9nMn7Zm+1DBtKeQEGcYcM1tkYhJGxxxPOHKTehuB7F3USX7B0JNalx+xMFs9vgyOc1w==}
-
m-type-tools@0.5.3:
resolution: {integrity: sha512-UycDrrmHNEqKn5KZblX+fGP2tMNyaZPIBPCE+H4aE+adD3LoKDrVir1hwZfa049yIZ/q3UoLpcWs7Mgqi5G9ig==}
@@ -2743,9 +2443,6 @@ packages:
resolution: {integrity: sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==}
engines: {node: '>=16.14.0'}
- magic-string@0.25.7:
- resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
-
magic-string@0.30.10:
resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
@@ -2769,10 +2466,6 @@ packages:
resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
engines: {node: '>=0.10.0'}
- markdown-it-prism@2.3.0:
- resolution: {integrity: sha512-ePtHY80gZyeje4bn3R3SL0jpd1C9HFaYffJW2Ma0YD+tspqa2v9TuVwUyFwboFu4jnFNcO8oPQROgbcYJbmBvw==}
- engines: {node: '>=6.0.0'}
-
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
@@ -2790,9 +2483,6 @@ packages:
resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
engines: {node: '>=18'}
- merge-source-map@1.1.0:
- resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
-
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -2874,9 +2564,6 @@ packages:
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
engines: {node: '>=10'}
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
@@ -2952,10 +2639,6 @@ packages:
ohash@1.1.3:
resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==}
- on-finished@2.3.0:
- resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
- engines: {node: '>= 0.8'}
-
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -3022,10 +2705,6 @@ packages:
resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
engines: {node: '>=0.10.0'}
- parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
-
pascal-case@3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
@@ -3059,9 +2738,6 @@ packages:
resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==}
engines: {node: '>=0.10.0'}
- path-to-regexp@6.2.1:
- resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==}
-
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@@ -3112,50 +2788,10 @@ packages:
engines: {node: '>=18'}
hasBin: true
- postcss-modules-extract-imports@3.0.0:
- resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-local-by-default@4.0.4:
- resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-scope@3.1.1:
- resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules-values@4.0.0:
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
-
- postcss-modules@4.0.0:
- resolution: {integrity: sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw==}
- peerDependencies:
- postcss: ^8.0.0
-
postcss-selector-parser@6.0.16:
resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
engines: {node: '>=4'}
- postcss-selector-parser@6.0.4:
- resolution: {integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==}
- engines: {node: '>=4'}
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.1.10:
- resolution: {integrity: sha512-iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg==}
- engines: {node: ^10 || ^12 || >=14}
-
postcss@8.4.38:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
@@ -3180,14 +2816,6 @@ packages:
prism-theme-vars@0.2.5:
resolution: {integrity: sha512-/D8gBTScYzi9afwE6v3TC1U/1YFZ6k+ly17mtVRdLpGy7E79YjJJWkXFgUDHJ2gDksV/ZnXF7ydJ4TvoDm2z/Q==}
- prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
- engines: {node: '>=6'}
-
- private@0.1.8:
- resolution: {integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==}
- engines: {node: '>= 0.6'}
-
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -3220,10 +2848,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
- recast-yx@0.18.12:
- resolution: {integrity: sha512-hYM2QgEbYxmevT66lDhQv+24erth+RbQfCFjft89cvHjJzRNyhf4QY1UtDs91IMh3duRhX1vLvPNoc1XOBMbIQ==}
- engines: {node: '>= 4'}
-
rechoir@0.8.0:
resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
engines: {node: '>= 10.13.0'}
@@ -3379,10 +3003,6 @@ packages:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
- sourcemap-codec@1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- deprecated: Please use @jridgewell/sourcemap-codec instead
-
speakingurl@14.0.1:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
engines: {node: '>=0.10.0'}
@@ -3393,10 +3013,6 @@ packages:
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
- statuses@1.5.0:
- resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
- engines: {node: '>= 0.6'}
-
std-env@3.7.0:
resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
@@ -3408,9 +3024,6 @@ packages:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
- string-hash@1.1.3:
- resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
-
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3593,9 +3206,6 @@ packages:
unimport@3.7.1:
resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==}
- uniq@1.0.1:
- resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==}
-
universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
@@ -3612,10 +3222,6 @@ packages:
vite:
optional: true
- unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
-
unplugin-auto-import@0.17.5:
resolution: {integrity: sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==}
engines: {node: '>=14'}
@@ -3684,10 +3290,6 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
v8-to-istanbul@9.2.0:
resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
engines: {node: '>=10.12.0'}
@@ -3696,9 +3298,6 @@ packages:
resolution: {integrity: sha512-fcRLaS4H/hrZk9hYwbdRM35D0U8IYMfEClhXxCivOojl+yTRAZH3Zy2sSy6qVCiGbV9YAtPssP6jaChqC9vPCg==}
engines: {node: '>= 10.13.0'}
- vfile-location@3.2.0:
- resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==}
-
vite-auto-import-resolvers@3.2.1:
resolution: {integrity: sha512-xXUl1VAJCqHIqU7xzkMNWvQ4cb6MjKHSs4OyjgfxNeJNFqu2hVKJnVxWr8co6I4Ikdvw0CdAy5M3wj4UWGPwVA==}
engines: {node: '>=16'}
@@ -3746,16 +3345,6 @@ packages:
peerDependencies:
vite: '>=4.0.0'
- vite-plugin-mock@2.9.8:
- resolution: {integrity: sha512-YTQM5Sn7t+/DNOwTkr+W26QGTCk1PrDkhGHslTJ90lIPJhJtDTwuSkEYMAuLP9TcVQ/qExTFx/x/GE3kxJ05sw==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- mockjs: '>=1.1.0'
- vite: '>=2.0.0'
-
- vite-plugin-removelog@0.2.2:
- resolution: {integrity: sha512-lVfQxdDIpvjbxxWZbSRAtQNYFHuf/JniL6x2mKpmM5HsCDk4XmxbMSFjRmr6K89JM5iohFjhzhNcdVLQp2/gtg==}
-
vite-plugin-use-modules@1.4.8:
resolution: {integrity: sha512-SydvdNUuwuwk9YjeA2sE6acK2xmTOgpVarEiTcccczcNL7JIMZ2C3Cbw2bvmkH2Od8JDtdIxIpMvswJ8rlEufA==}
peerDependencies:
@@ -3832,13 +3421,6 @@ packages:
jsdom:
optional: true
- vue-dark-switch@1.0.6:
- resolution: {integrity: sha512-M8P2pdoEfO98Zgj3OMDjOgSKTU961oqZoOUidzaP61JzfqVbsEa7KUvQ1pNVx7oeNNXJiYMN147eYxb2oZzPKw==}
- engines: {node: '>=16', pnpm: '>=7.0.0'}
- peerDependencies:
- vite: '>=4.0.0'
- vue: '>=3.0.0'
-
vue-demi@0.13.11:
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
@@ -3891,12 +3473,6 @@ packages:
peerDependencies:
eslint: '>=6.0.0'
- vue-i18n@9.13.1:
- resolution: {integrity: sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==}
- engines: {node: '>= 16'}
- peerDependencies:
- vue: ^3.0.0
-
vue-request@2.0.4:
resolution: {integrity: sha512-+Tu5rDy6ItF9UdD21Mmbjiq5Pq6NZSN9juH72hNQTMn1whHh4KZPTKWVLK2YS4nzbuEnPs+82G91AA2Fgd93mg==}
engines: {node: '>=14'}
@@ -3917,11 +3493,6 @@ packages:
peerDependencies:
vue: ^3.0.2
- vue3-browser-compiler-yx@1.0.4:
- resolution: {integrity: sha512-F42+9OGvZT83zOPCp0jycA76ZEozv7DTaYkVVGdpf+Syjh/S/8xj/GRnJ+P8/AkfpHoCOR2WAZupDJS6/qS4OQ==}
- peerDependencies:
- vue: ^2.0.0||^3.0.0
-
vue@3.4.26:
resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==}
peerDependencies:
@@ -3986,10 +3557,6 @@ packages:
yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
- yaml-eslint-parser@1.2.2:
- resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==}
- engines: {node: ^14.17.0 || >=16.0.0}
-
yaml@2.3.4:
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
engines: {node: '>= 14'}
@@ -4387,9 +3954,6 @@ snapshots:
'@esbuild/linux-ia32@0.20.2':
optional: true
- '@esbuild/linux-loong64@0.14.54':
- optional: true
-
'@esbuild/linux-loong64@0.20.2':
optional: true
@@ -4486,60 +4050,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@intlify/bundle-utils@7.5.1(vue-i18n@9.13.1(vue@3.4.26(typescript@5.4.5)))':
- dependencies:
- '@intlify/message-compiler': 9.10.2
- '@intlify/shared': 9.10.2
- acorn: 8.11.3
- escodegen: 2.1.0
- estree-walker: 2.0.2
- jsonc-eslint-parser: 2.4.0
- magic-string: 0.30.8
- mlly: 1.6.1
- source-map-js: 1.2.0
- yaml-eslint-parser: 1.2.2
- optionalDependencies:
- vue-i18n: 9.13.1(vue@3.4.26(typescript@5.4.5))
-
- '@intlify/core-base@9.13.1':
- dependencies:
- '@intlify/message-compiler': 9.13.1
- '@intlify/shared': 9.13.1
-
- '@intlify/message-compiler@9.10.2':
- dependencies:
- '@intlify/shared': 9.10.2
- source-map-js: 1.2.0
-
- '@intlify/message-compiler@9.13.1':
- dependencies:
- '@intlify/shared': 9.13.1
- source-map-js: 1.2.0
-
- '@intlify/shared@9.10.2': {}
-
- '@intlify/shared@9.13.1': {}
-
- '@intlify/unplugin-vue-i18n@3.0.1(rollup@4.13.0)(vue-i18n@9.13.1(vue@3.4.26(typescript@5.4.5)))':
- dependencies:
- '@intlify/bundle-utils': 7.5.1(vue-i18n@9.13.1(vue@3.4.26(typescript@5.4.5)))
- '@intlify/shared': 9.10.2
- '@rollup/pluginutils': 5.1.0(rollup@4.13.0)
- '@vue/compiler-sfc': 3.4.21
- debug: 4.3.4
- fast-glob: 3.3.2
- js-yaml: 4.1.0
- json5: 2.2.3
- pathe: 1.1.2
- picocolors: 1.0.0
- source-map-js: 1.2.0
- unplugin: 1.10.0
- optionalDependencies:
- vue-i18n: 9.13.1(vue@3.4.26(typescript@5.4.5))
- transitivePeerDependencies:
- - rollup
- - supports-color
-
'@istanbuljs/schema@0.1.3': {}
'@jest/schemas@29.6.3':
@@ -4755,8 +4265,6 @@ snapshots:
'@types/mdurl@1.0.5': {}
- '@types/mockjs@1.0.10': {}
-
'@types/node@20.12.7':
dependencies:
undici-types: 5.26.5
@@ -4893,7 +4401,7 @@ snapshots:
gzip-size: 6.0.0
sirv: 2.0.4
- '@unocss/postcss@0.59.4(postcss@8.1.10)':
+ '@unocss/postcss@0.59.4(postcss@8.4.38)':
dependencies:
'@unocss/config': 0.59.4
'@unocss/core': 0.59.4
@@ -4901,7 +4409,7 @@ snapshots:
css-tree: 2.3.1
fast-glob: 3.3.2
magic-string: 0.30.10
- postcss: 8.1.10
+ postcss: 8.4.38
'@unocss/preset-attributify@0.59.4':
dependencies:
@@ -5113,14 +4621,6 @@ snapshots:
'@babel/parser': 7.24.1
'@vue/compiler-sfc': 3.4.21
- '@vue/compiler-core@3.0.11':
- dependencies:
- '@babel/parser': 7.24.4
- '@babel/types': 7.24.0
- '@vue/shared': 3.0.11
- estree-walker: 2.0.2
- source-map: 0.6.1
-
'@vue/compiler-core@3.4.21':
dependencies:
'@babel/parser': 7.24.1
@@ -5145,11 +4645,6 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.0
- '@vue/compiler-dom@3.0.11':
- dependencies:
- '@vue/compiler-core': 3.0.11
- '@vue/shared': 3.0.11
-
'@vue/compiler-dom@3.4.21':
dependencies:
'@vue/compiler-core': 3.4.21
@@ -5189,11 +4684,6 @@ snapshots:
postcss: 8.4.38
source-map-js: 1.2.0
- '@vue/compiler-ssr@3.0.11':
- dependencies:
- '@vue/compiler-dom': 3.0.11
- '@vue/shared': 3.0.11
-
'@vue/compiler-ssr@3.4.21':
dependencies:
'@vue/compiler-dom': 3.4.21
@@ -5252,8 +4742,6 @@ snapshots:
'@vue/shared': 3.4.26
vue: 3.4.26(typescript@5.4.5)
- '@vue/shared@3.0.11': {}
-
'@vue/shared@3.4.21': {}
'@vue/shared@3.4.24': {}
@@ -5284,7 +4772,7 @@ snapshots:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.4.26(typescript@5.4.5))
- vue-demi: 0.14.7(vue@3.4.26(typescript@5.4.5))
+ vue-demi: 0.14.10(vue@3.4.26(typescript@5.4.5))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -5389,10 +4877,6 @@ snapshots:
'@babel/parser': 7.24.4
pathe: 1.1.2
- ast-types-yx@0.14.2:
- dependencies:
- tslib: 2.6.2
-
ast-walker-scope@0.6.1:
dependencies:
'@babel/parser': 7.24.4
@@ -5416,8 +4900,6 @@ snapshots:
big-integer@1.6.52: {}
- big.js@5.2.2: {}
-
binary-extensions@2.3.0: {}
bl@4.1.0:
@@ -5655,8 +5137,6 @@ snapshots:
color-name@1.1.4: {}
- colorette@1.4.0: {}
-
colorette@2.0.20: {}
combined-stream@1.0.8:
@@ -5673,15 +5153,6 @@ snapshots:
confbox@0.1.3: {}
- connect@3.7.0:
- dependencies:
- debug: 2.6.9
- finalhandler: 1.1.2
- parseurl: 1.3.3
- utils-merge: 1.0.1
- transitivePeerDependencies:
- - supports-color
-
consola@3.2.3: {}
constant-case@3.0.4:
@@ -5717,10 +5188,6 @@ snapshots:
dayjs@1.11.13: {}
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
debug@4.3.4:
dependencies:
ms: 2.1.2
@@ -5811,8 +5278,6 @@ snapshots:
tslib: 2.3.0
zrender: 5.5.0
- ee-first@1.1.1: {}
-
electron-to-chromium@1.4.715: {}
element-plus@2.9.2(vue@3.4.26(typescript@5.4.5)):
@@ -5840,10 +5305,6 @@ snapshots:
emoji-regex@8.0.0: {}
- emojis-list@3.0.0: {}
-
- encodeurl@1.0.2: {}
-
entities@4.5.0: {}
error-stack-parser-es@0.1.1: {}
@@ -5854,90 +5315,6 @@ snapshots:
es-errors@1.3.0: {}
- esbuild-android-64@0.14.54:
- optional: true
-
- esbuild-android-arm64@0.14.54:
- optional: true
-
- esbuild-darwin-64@0.14.54:
- optional: true
-
- esbuild-darwin-arm64@0.14.54:
- optional: true
-
- esbuild-freebsd-64@0.14.54:
- optional: true
-
- esbuild-freebsd-arm64@0.14.54:
- optional: true
-
- esbuild-linux-32@0.14.54:
- optional: true
-
- esbuild-linux-64@0.14.54:
- optional: true
-
- esbuild-linux-arm64@0.14.54:
- optional: true
-
- esbuild-linux-arm@0.14.54:
- optional: true
-
- esbuild-linux-mips64le@0.14.54:
- optional: true
-
- esbuild-linux-ppc64le@0.14.54:
- optional: true
-
- esbuild-linux-riscv64@0.14.54:
- optional: true
-
- esbuild-linux-s390x@0.14.54:
- optional: true
-
- esbuild-netbsd-64@0.14.54:
- optional: true
-
- esbuild-openbsd-64@0.14.54:
- optional: true
-
- esbuild-sunos-64@0.14.54:
- optional: true
-
- esbuild-windows-32@0.14.54:
- optional: true
-
- esbuild-windows-64@0.14.54:
- optional: true
-
- esbuild-windows-arm64@0.14.54:
- optional: true
-
- esbuild@0.14.54:
- optionalDependencies:
- '@esbuild/linux-loong64': 0.14.54
- esbuild-android-64: 0.14.54
- esbuild-android-arm64: 0.14.54
- esbuild-darwin-64: 0.14.54
- esbuild-darwin-arm64: 0.14.54
- esbuild-freebsd-64: 0.14.54
- esbuild-freebsd-arm64: 0.14.54
- esbuild-linux-32: 0.14.54
- esbuild-linux-64: 0.14.54
- esbuild-linux-arm: 0.14.54
- esbuild-linux-arm64: 0.14.54
- esbuild-linux-mips64le: 0.14.54
- esbuild-linux-ppc64le: 0.14.54
- esbuild-linux-riscv64: 0.14.54
- esbuild-linux-s390x: 0.14.54
- esbuild-netbsd-64: 0.14.54
- esbuild-openbsd-64: 0.14.54
- esbuild-sunos-64: 0.14.54
- esbuild-windows-32: 0.14.54
- esbuild-windows-64: 0.14.54
- esbuild-windows-arm64: 0.14.54
-
esbuild@0.20.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.20.2
@@ -5974,14 +5351,6 @@ snapshots:
escape-string-regexp@5.0.0: {}
- escodegen@2.1.0:
- dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
-
eslint-config-prettier@9.1.0(eslint@8.57.0):
dependencies:
eslint: 8.57.0
@@ -6171,18 +5540,6 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.1.2:
- 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
-
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -6257,10 +5614,6 @@ snapshots:
function-bind@1.1.2: {}
- generic-names@2.0.1:
- dependencies:
- loader-utils: 1.4.2
-
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
@@ -6346,17 +5699,6 @@ snapshots:
merge2: 1.4.1
slash: 4.0.0
- gogocode@1.0.55(vue@3.4.26(typescript@5.4.5)):
- dependencies:
- '@babel/parser': 7.24.1
- glob: 7.2.3
- hyntax-yx: 1.0.9
- indent-string: 4.0.0
- recast-yx: 0.18.12
- vue3-browser-compiler-yx: 1.0.4(vue@3.4.26(typescript@5.4.5))
- transitivePeerDependencies:
- - vue
-
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
@@ -6397,8 +5739,6 @@ snapshots:
has-symbols@1.0.3: {}
- hash-sum@2.0.0: {}
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
@@ -6426,18 +5766,10 @@ snapshots:
husky@9.0.11: {}
- hyntax-yx@1.0.9: {}
-
iconv-lite@0.4.24:
dependencies:
safer-buffer: 2.1.2
- icss-replace-symbols@1.1.0: {}
-
- icss-utils@5.1.0(postcss@8.1.10):
- dependencies:
- postcss: 8.1.10
-
ieee754@1.2.1: {}
ignore@5.3.1: {}
@@ -6449,12 +5781,8 @@ snapshots:
imurmurhash@0.1.4: {}
- indent-string@4.0.0: {}
-
indent-string@5.0.0: {}
- indexes-of@1.0.1: {}
-
inflight@1.0.6:
dependencies:
once: 1.4.0
@@ -6607,19 +5935,8 @@ snapshots:
json-stable-stringify-without-jsonify@1.0.1: {}
- json5@1.0.2:
- dependencies:
- minimist: 1.2.8
-
json5@2.2.3: {}
- jsonc-eslint-parser@2.4.0:
- dependencies:
- acorn: 8.11.3
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- semver: 7.6.0
-
jsonc-parser@3.2.1: {}
jsonfile@6.1.0:
@@ -6725,12 +6042,6 @@ snapshots:
rfdc: 1.3.1
wrap-ansi: 9.0.0
- loader-utils@1.4.2:
- dependencies:
- big.js: 5.2.2
- emojis-list: 3.0.0
- json5: 1.0.2
-
local-pkg@0.4.3: {}
local-pkg@0.5.0:
@@ -6750,8 +6061,6 @@ snapshots:
lodash: 4.17.21
lodash-es: 4.17.21
- lodash.camelcase@4.3.0: {}
-
lodash.get@4.4.2: {}
lodash.merge@4.6.2: {}
@@ -6792,18 +6101,12 @@ snapshots:
dependencies:
yallist: 4.0.0
- m-type-tools@0.4.1: {}
-
m-type-tools@0.5.3: {}
magic-string-ast@0.3.0:
dependencies:
magic-string: 0.30.9
- magic-string@0.25.7:
- dependencies:
- sourcemap-codec: 1.4.8
-
magic-string@0.30.10:
dependencies:
'@jridgewell/sourcemap-codec': 1.4.15
@@ -6826,10 +6129,6 @@ snapshots:
map-cache@0.2.2: {}
- markdown-it-prism@2.3.0:
- dependencies:
- prismjs: 1.29.0
-
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
@@ -6847,10 +6146,6 @@ snapshots:
meow@13.2.0: {}
- merge-source-map@1.1.0:
- dependencies:
- source-map: 0.6.1
-
merge-stream@2.0.0: {}
merge2@1.4.1: {}
@@ -6916,8 +6211,6 @@ snapshots:
mrmime@2.0.0: {}
- ms@2.0.0: {}
-
ms@2.1.2: {}
mute-stream@1.0.0: {}
@@ -7003,10 +6296,6 @@ snapshots:
ohash@1.1.3: {}
- on-finished@2.3.0:
- dependencies:
- ee-first: 1.1.1
-
once@1.4.0:
dependencies:
wrappy: 1.0.2
@@ -7101,8 +6390,6 @@ snapshots:
parse-passwd@1.0.0: {}
- parseurl@1.3.3: {}
-
pascal-case@3.1.2:
dependencies:
no-case: 3.0.4
@@ -7129,8 +6416,6 @@ snapshots:
dependencies:
path-root-regex: 0.1.2
- path-to-regexp@6.2.1: {}
-
path-type@4.0.0: {}
pathe@1.1.2: {}
@@ -7174,60 +6459,11 @@ snapshots:
ora: 8.0.1
v8flags: 4.0.1
- postcss-modules-extract-imports@3.0.0(postcss@8.1.10):
- dependencies:
- postcss: 8.1.10
-
- postcss-modules-local-by-default@4.0.4(postcss@8.1.10):
- dependencies:
- icss-utils: 5.1.0(postcss@8.1.10)
- postcss: 8.1.10
- postcss-selector-parser: 6.0.16
- postcss-value-parser: 4.2.0
-
- postcss-modules-scope@3.1.1(postcss@8.1.10):
- dependencies:
- postcss: 8.1.10
- postcss-selector-parser: 6.0.16
-
- postcss-modules-values@4.0.0(postcss@8.1.10):
- dependencies:
- icss-utils: 5.1.0(postcss@8.1.10)
- postcss: 8.1.10
-
- postcss-modules@4.0.0(postcss@8.1.10):
- dependencies:
- generic-names: 2.0.1
- icss-replace-symbols: 1.1.0
- lodash.camelcase: 4.3.0
- postcss: 8.1.10
- postcss-modules-extract-imports: 3.0.0(postcss@8.1.10)
- postcss-modules-local-by-default: 4.0.4(postcss@8.1.10)
- postcss-modules-scope: 3.1.1(postcss@8.1.10)
- postcss-modules-values: 4.0.0(postcss@8.1.10)
- string-hash: 1.1.3
-
postcss-selector-parser@6.0.16:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-selector-parser@6.0.4:
- dependencies:
- cssesc: 3.0.0
- indexes-of: 1.0.1
- uniq: 1.0.1
- util-deprecate: 1.0.2
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.1.10:
- dependencies:
- colorette: 1.4.0
- nanoid: 3.3.7
- source-map: 0.6.1
- vfile-location: 3.2.0
-
postcss@8.4.38:
dependencies:
nanoid: 3.3.7
@@ -7250,10 +6486,6 @@ snapshots:
prism-theme-vars@0.2.5: {}
- prismjs@1.29.0: {}
-
- private@0.1.8: {}
-
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -7285,13 +6517,6 @@ snapshots:
dependencies:
picomatch: 2.3.1
- recast-yx@0.18.12:
- dependencies:
- ast-types-yx: 0.14.2
- esprima: 4.0.1
- private: 0.1.8
- source-map: 0.6.1
-
rechoir@0.8.0:
dependencies:
resolve: 1.22.8
@@ -7456,24 +6681,18 @@ snapshots:
source-map@0.6.1: {}
- sourcemap-codec@1.4.8: {}
-
speakingurl@14.0.1: {}
sprintf-js@1.0.3: {}
stackback@0.0.2: {}
- statuses@1.5.0: {}
-
std-env@3.7.0: {}
stdin-discarder@0.2.2: {}
string-argv@0.3.2: {}
- string-hash@1.1.3: {}
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -7656,17 +6875,15 @@ snapshots:
transitivePeerDependencies:
- rollup
- uniq@1.0.1: {}
-
universalify@2.0.1: {}
- unocss@0.59.4(postcss@8.1.10)(rollup@4.13.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)):
+ unocss@0.59.4(postcss@8.4.38)(rollup@4.13.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)):
dependencies:
'@unocss/astro': 0.59.4(rollup@4.13.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))
'@unocss/cli': 0.59.4(rollup@4.13.0)
'@unocss/core': 0.59.4
'@unocss/extractor-arbitrary-variants': 0.59.4
- '@unocss/postcss': 0.59.4(postcss@8.1.10)
+ '@unocss/postcss': 0.59.4(postcss@8.4.38)
'@unocss/preset-attributify': 0.59.4
'@unocss/preset-icons': 0.59.4
'@unocss/preset-mini': 0.59.4
@@ -7689,8 +6906,6 @@ snapshots:
- rollup
- supports-color
- unpipe@1.0.0: {}
-
unplugin-auto-import@0.17.5(@vueuse/core@10.9.0(vue@3.4.26(typescript@5.4.5)))(rollup@4.13.0):
dependencies:
'@antfu/utils': 0.7.7
@@ -7795,8 +7010,6 @@ snapshots:
util-deprecate@1.0.2: {}
- utils-merge@1.0.1: {}
-
v8-to-istanbul@9.2.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -7805,8 +7018,6 @@ snapshots:
v8flags@4.0.1: {}
- vfile-location@3.2.0: {}
-
vite-auto-import-resolvers@3.2.1(unplugin-auto-import@0.17.5(@vueuse/core@10.9.0(vue@3.4.26(typescript@5.4.5)))(rollup@4.13.0))(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)):
dependencies:
fast-glob: 3.3.2
@@ -7888,28 +7099,6 @@ snapshots:
transitivePeerDependencies:
- '@swc/helpers'
- vite-plugin-mock@2.9.8(mockjs@1.1.0)(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)):
- dependencies:
- '@types/mockjs': 1.0.10
- chalk: 4.1.2
- chokidar: 3.6.0
- connect: 3.7.0
- debug: 4.3.4
- esbuild: 0.14.54
- fast-glob: 3.3.2
- mockjs: 1.1.0
- path-to-regexp: 6.2.1
- vite: 5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)
- transitivePeerDependencies:
- - supports-color
-
- vite-plugin-removelog@0.2.2(vue@3.4.26(typescript@5.4.5)):
- dependencies:
- gogocode: 1.0.55(vue@3.4.26(typescript@5.4.5))
- m-type-tools: 0.4.1
- transitivePeerDependencies:
- - vue
-
vite-plugin-use-modules@1.4.8(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5)):
dependencies:
local-pkg: 0.5.0
@@ -7997,11 +7186,6 @@ snapshots:
- supports-color
- terser
- vue-dark-switch@1.0.6(vite@5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0))(vue@3.4.26(typescript@5.4.5)):
- dependencies:
- vite: 5.2.10(@types/node@20.12.7)(lightningcss@1.24.1)(terser@5.31.0)
- vue: 3.4.26(typescript@5.4.5)
-
vue-demi@0.13.11(vue@3.4.26(typescript@5.4.5)):
dependencies:
vue: 3.4.26(typescript@5.4.5)
@@ -8036,13 +7220,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- vue-i18n@9.13.1(vue@3.4.26(typescript@5.4.5)):
- dependencies:
- '@intlify/core-base': 9.13.1
- '@intlify/shared': 9.13.1
- '@vue/devtools-api': 6.6.1
- vue: 3.4.26(typescript@5.4.5)
-
vue-request@2.0.4(vue@3.4.26(typescript@5.4.5)):
dependencies:
vue: 3.4.26(typescript@5.4.5)
@@ -8057,25 +7234,6 @@ snapshots:
dependencies:
vue: 3.4.26(typescript@5.4.5)
- vue3-browser-compiler-yx@1.0.4(vue@3.4.26(typescript@5.4.5)):
- dependencies:
- '@babel/parser': 7.24.1
- '@babel/types': 7.24.0
- '@vue/compiler-core': 3.0.11
- '@vue/compiler-dom': 3.0.11
- '@vue/compiler-ssr': 3.0.11
- '@vue/shared': 3.0.11
- estree-walker: 2.0.2
- hash-sum: 2.0.0
- lru-cache: 5.1.1
- magic-string: 0.25.7
- merge-source-map: 1.1.0
- postcss: 8.1.10
- postcss-modules: 4.0.0(postcss@8.1.10)
- postcss-selector-parser: 6.0.4
- source-map: 0.6.1
- vue: 3.4.26(typescript@5.4.5)
-
vue@3.4.26(typescript@5.4.5):
dependencies:
'@vue/compiler-dom': 3.4.26
@@ -8137,12 +7295,6 @@ snapshots:
yallist@4.0.0: {}
- yaml-eslint-parser@1.2.2:
- dependencies:
- eslint-visitor-keys: 3.4.3
- lodash: 4.17.21
- yaml: 2.4.1
-
yaml@2.3.4: {}
yaml@2.4.1: {}
diff --git a/presets/index.ts b/presets/index.ts
index ab63f0e..bac27a1 100644
--- a/presets/index.ts
+++ b/presets/index.ts
@@ -1,4 +1,3 @@
-import Prism from 'markdown-it-prism'
import UnoCss from 'unocss/vite'
import AutoImport from 'unplugin-auto-import/vite'
import {
@@ -28,13 +27,9 @@ import Router from 'unplugin-vue-router/vite'
import { AutoGenerateImports, vue3Presets } from 'vite-auto-import-resolvers'
import Compression from 'vite-plugin-compression'
import EnvTypes from 'vite-plugin-env-types'
-import { viteMockServe as Mock } from 'vite-plugin-mock'
-import Removelog from 'vite-plugin-removelog'
import Modules from 'vite-plugin-use-modules'
import VueDevTools from 'vite-plugin-vue-devtools'
import Layouts from 'vite-plugin-vue-meta-layouts'
-
-import I18N from '@intlify/unplugin-vue-i18n/vite'
import Legacy from 'vite-plugin-legacy-swc'
import Vue from '@vitejs/plugin-vue'
import Jsx from '@vitejs/plugin-vue-jsx'
@@ -121,13 +116,7 @@ export default function () {
Layouts({
skipTopLevelRouteLayout: true,
}),
- /**
- * mock 服务
- * https://github.com/vbenjs/vite-plugin-mock
- */
- Mock({
- prodEnabled: env.VITE_APP_MOCK_IN_PRODUCTION,
- }),
+
/**
* 组件自动按需引入
* https://github.com/antfu/unplugin-vue-components
@@ -165,15 +154,7 @@ export default function () {
],
}),
}),
- /**
- * i18n 国际化支持
- * https://www.npmjs.com/package/@intlify/unplugin-vue-i18n
- */
- I18N({
- runtimeOnly: false,
- compositionOnly: true,
- include: ['locales/**'],
- }),
+
/**
* jsx 和 tsx 支持
* https://www.npmjs.com/package/@vitejs/plugin-vue-jsx
@@ -213,28 +194,6 @@ export default function () {
plugins.push(VueDevTools())
}
- /**
- * 生产环境下移除 console.log, console.warn, console.error
- * https://github.com/dishait/vite-plugin-removelog
- */
- if (process.env.NODE_ENV !== 'debug') {
- plugins.push(Removelog())
- }
-
- /**
- * markdown 渲染插件
- * https://github.com/mdit-vue/unplugin-vue-markdown
- */
- if (env.VITE_APP_MARKDOWN) {
- plugins.push(
- Markdown({
- wrapperClasses: safelist,
- markdownItSetup(md) {
- md.use(Prism)
- },
- }),
- )
- }
/**
* api 自动按需引入
diff --git a/presets/types/vite.d.ts b/presets/types/vite.d.ts
index 2bf1db3..eb5c2bb 100644
--- a/presets/types/vite.d.ts
+++ b/presets/types/vite.d.ts
@@ -3,7 +3,6 @@
///
///
///
-///
declare module "*.vue" {
import type { DefineComponent } from "vue";
diff --git a/src/api/mock.ts b/src/api/mock.ts
deleted file mode 100644
index b137da7..0000000
--- a/src/api/mock.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { useRequest } from 'vue-request'
-
-export const testRequest = () => {
- const { data, loading, error } = useRequest(() => http.post('/mock/post'))
- return { data, loading, error }
-}
diff --git a/src/api/user.ts b/src/api/user.ts
index f4eb7bf..4a7e4df 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -3,8 +3,7 @@
* @param data
*/
export function login(data: any) {
-
-
+ return http.post("/api/login", data)
}
/**
@@ -12,5 +11,15 @@ export function login(data: any) {
* @param data
*/
export function register(data: any) {
-
+ return http.post("/api/register", data)
+}
+
+/**
+ * 获取用户信息
+ * @param data
+ */
+export function userInfo(userId: any) {
+ return http.get("/api/userInfo", {
+ params: { userId: userId }
+ })
}
diff --git a/src/components/Dropdown.vue b/src/components/Dropdown.vue
deleted file mode 100644
index b46dc62..0000000
--- a/src/components/Dropdown.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{ availableLocale }}
-
-
-
-
-
-
diff --git a/src/components/Navigation.vue b/src/components/Navigation.vue
index 468af7f..0fa48f2 100644
--- a/src/components/Navigation.vue
+++ b/src/components/Navigation.vue
@@ -1,59 +1,8 @@
-
-
-
- {{ te(r.name) ? t(r.name) : r.name }}
+ {{ r.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/src/pages/echarts.vue b/src/components/view/foundation-line.vue
similarity index 80%
rename from src/pages/echarts.vue
rename to src/components/view/foundation-line.vue
index ef08c27..d776786 100644
--- a/src/pages/echarts.vue
+++ b/src/components/view/foundation-line.vue
@@ -1,6 +1,12 @@
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts
deleted file mode 100644
index 4687c2e..0000000
--- a/src/plugins/i18n.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { defu } from 'defu'
-import { createI18n } from 'vue-i18n'
-
-const yamls = import.meta.glob('../../locales/*/**.y(a)?ml', {
- eager: true,
-})
-
-const languages = Object.entries(yamls).map(([key, value]) => {
- const yaml = key.endsWith('.yaml')
- key = key.slice(14, yaml ? -5 : -4)
- // 如果有子模块,则分割
- if (key.includes('/')) {
- key = key.split('/')[0]
- }
- // @ts-ignore
- return { [key]: value.default }
-})
-
-const messages = defu({}, ...languages)
-
-// localStorage 中的 locale,第二个参数为默认值
-// https://vueuse.org/core/useStorage/#usestorage
-const storageLocale = useStorage('locale', '简体中文')
-
-export const i18n = createI18n({
- messages,
- legacy: false,
- globalInjection: true,
- allowComposition: true,
-})
-
-// 同步本地 localStorage 和 i18n
-// https://vueuse.org/shared/syncRef/#syncref
-syncRef(storageLocale, i18n.global.locale)
-
-export default i18n
diff --git a/src/plugins/mock.ts b/src/plugins/mock.ts
index bc99a40..bfef337 100644
--- a/src/plugins/mock.ts
+++ b/src/plugins/mock.ts
@@ -1,7 +1,6 @@
/**
* 该模块主要给生产时的 mock 用,一般情况下你并不需要关注
*/
-import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'
import { createFetchSever } from '../../presets/shared/mock'
const shouldCreateServer =
@@ -18,6 +17,5 @@ if (shouldCreateServer) {
mockModules.push(...v.default)
}
})
- createProdMockServer(mockModules)
createFetchSever(mockModules)
}
diff --git a/src/plugins/router.ts b/src/plugins/router.ts
index c1a9ef5..fa98db3 100644
--- a/src/plugins/router.ts
+++ b/src/plugins/router.ts
@@ -1,15 +1,8 @@
-import { createGetRoutes, setupLayouts } from 'virtual:meta-layouts'
+import { setupLayouts } from 'virtual:meta-layouts'
import { createRouter, createWebHistory } from 'vue-router'
import { routes as fileRoutes } from 'vue-router/auto-routes'
-declare module 'vue-router' {
- // 在这里定义你的 meta 类型
- // eslint-disable-next-line no-unused-vars
- interface RouteMeta {
- title?: string
- layout?: string
- }
-}
+declare module 'vue-router' {}
// 重定向 BASE_URL
fileRoutes.flat(Infinity).forEach((route) => {
@@ -21,6 +14,20 @@ export const router = createRouter({
routes: setupLayouts(fileRoutes),
})
-export const getRoutes = createGetRoutes(router)
+// 路由拦截
+router.beforeEach((to, from, next) => {
+ // 在这里编写拦截逻辑
+ // 例如,检查用户是否认证
+ const isLogin = userStore().isLogin
+ const authList=["/"]
+ if (authList.includes(to.fullPath) && !isLogin) {
+ toast.warning("未登录或者登录过期~")
+ // 如果用户未认证,则跳转到登录页面
+ next('/login');
+ } else {
+ // 如果用户已认证,或者不需要认证,则继续
+ next();
+ }
+});
export default router
diff --git a/src/stores/createCounter.ts b/src/stores/userStore.ts
similarity index 60%
rename from src/stores/createCounter.ts
rename to src/stores/userStore.ts
index 4851f4a..f134ec2 100644
--- a/src/stores/createCounter.ts
+++ b/src/stores/userStore.ts
@@ -1,14 +1,15 @@
import { defineStore } from 'pinia'
-export default defineStore('counter', {
+export default defineStore('userStore', {
state() {
return {
- count: 0,
+ isLogin: false,
+ token: "",
}
},
actions: {
inc() {
- this.count++
+
},
},
persist: true,
diff --git a/src/styles/main.css b/src/styles/main.css
index 5f9753f..f4d523b 100644
--- a/src/styles/main.css
+++ b/src/styles/main.css
@@ -1,4 +1,3 @@
-@import './md.css';
html.dark {
@@ -52,4 +51,4 @@ html.dark ::-webkit-scrollbar-track {
html.dark ::-webkit-scrollbar-thumb {
background-color: #343a40;
-}
\ No newline at end of file
+}
diff --git a/src/styles/md.css b/src/styles/md.css
deleted file mode 100644
index a68fa21..0000000
--- a/src/styles/md.css
+++ /dev/null
@@ -1,83 +0,0 @@
-@import 'prism-theme-vars/base.css';
-
-.prose {
- --prism-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica,
- Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
-}
-
-.prose pre {
- font-weight: 500;
- font-size: 1rem;
-}
-
-html:not(.dark) {
- --prism-foreground: #393a34;
- --prism-background: #f8f8f8;
-
- --prism-comment: #868e96;
- --prism-namespace: #444444;
- --prism-string: #bc8671;
- --prism-punctuation: #80817d;
- --prism-literal: #36acaa;
- --prism-keyword: #d73a49;
- --prism-function: #0c4c7d;
- --prism-deleted: #9a050f;
- --prism-class: #2b91af;
- --prism-builtin: #800000;
- --prism-property: #ce9178;
- --prism-regex: #ad502b;
-}
-
-html.dark {
- --prism-foreground: #d4d4d4;
- --prism-background: #1e1e1e;
-
- --prism-namespace: #aaaaaa;
- --prism-comment: #868e96;
- --prism-namespace: #444444;
- --prism-string: #ce9178;
- --prism-punctuation: #d4d4d4;
- --prism-literal: #36acaa;
- --prism-keyword: #0ca678;
- --prism-function: #dcdcaa;
- --prism-deleted: #9a050f;
- --prism-class: #4ec9b0;
- --prism-builtin: #d16969;
- --prism-property: #ce9178;
- --prism-regex: #ad502b;
-}
-ol {
- padding-left: 15px;
-}
-
-.prose blockquote p:first-of-type::before {
- content: none;
-}
-
-.prose pre {
- color: #495057;
- background: #f8f9fa;
-}
-
-.prose-sm p {
- font-weight: 500;
-}
-
-.prose blockquote {
- margin: 0;
- font-style: normal;
-}
-
-html.dark .prose blockquote {
- color: white;
-}
-
-html.dark .prose pre {
- color: #f8f9fa;
- background: #2a2f33;
-}
-
-.token.comment {
- font-style: normal;
- font-size: 0.5rem;
-}
diff --git a/src/test/__snapshots__/index.test.ts.snap b/src/test/__snapshots__/index.test.ts.snap
deleted file mode 100644
index ecbbcf2..0000000
--- a/src/test/__snapshots__/index.test.ts.snap
+++ /dev/null
@@ -1,7 +0,0 @@
-// Vitest Snapshot v1
-
-exports[`suite name > snapshot 1`] = `
-{
- "foo": "bar",
-}
-`;
diff --git a/src/test/index.test.ts b/src/test/index.test.ts
deleted file mode 100644
index 616df29..0000000
--- a/src/test/index.test.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { assert, describe, expect, it } from 'vitest'
-
-describe('suite name', () => {
- it('foo', () => {
- expect(1 + 1).toEqual(2)
- expect(true).to.be.true
- })
-
- it('bar', () => {
- assert.equal(Math.sqrt(4), 2)
- })
-
- it('snapshot', () => {
- expect({ foo: 'bar' }).toMatchSnapshot()
- })
-})