├── .gitignore ├── LICENSE ├── ProjectShow ├── 1.png ├── 2.png ├── 3.png └── 4.png ├── README.md ├── index.html ├── package.json ├── public ├── 404.png ├── Vue.png └── favicon.ico ├── src ├── App.vue ├── api │ └── manager.js ├── assets │ └── logo.png ├── axios.js ├── components │ ├── FormDrawer.vue │ └── HelloWorld.vue ├── composables │ ├── auth.js │ ├── useManager.js │ ├── useTabList.js │ └── util.js ├── layouts │ ├── admin.vue │ └── components │ │ ├── FHeader.vue │ │ ├── FMenu.vue │ │ └── FTagList.vue ├── main.js ├── pages │ ├── 404.vue │ ├── category │ │ └── list.vue │ ├── goods │ │ └── list.vue │ ├── index.vue │ └── login.vue ├── permission.js ├── router │ └── index.js └── store │ └── index.js ├── u.sh ├── vite.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | u.sh -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 是大赵同学鸭 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ProjectShow/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/ProjectShow/1.png -------------------------------------------------------------------------------- /ProjectShow/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/ProjectShow/2.png -------------------------------------------------------------------------------- /ProjectShow/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/ProjectShow/3.png -------------------------------------------------------------------------------- /ProjectShow/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/ProjectShow/4.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Vue logo

2 | 3 | 4 | 5 | ### 项目简介: 6 | 7 | `Vue3` + `ElementPlus` + `Vite`实战开发商城后台管理系统。 8 | 9 | ### 功能简介: 10 | 11 | 用户多权限管理、商品多规格实现、订单发货、导出订单、图库模块、分销模块、分享海报等。 12 | 13 | ### 采用技术 14 | 15 | - `Vue3.2 + Vue-router4 + Vuex4 + Vite2 + Vueuse` 16 | - `ElementPlus` 17 | - `Naive-ui` 18 | - `Windicss` 19 | 20 | ### 使用简介 21 | 22 | #### 安装依赖 23 | 24 | ```bash 25 | yarn or yarn install 26 | ``` 27 | 28 | #### 项目运行 29 | 30 | ```bash 31 | yarn dev 32 | ``` 33 | 34 | #### 项目打包 35 | 36 | ```bash 37 | yarn build 38 | ``` 39 | 40 | ### 项目效果 41 | 42 | ![](./ProjectShow/1.png) 43 | 44 | ![](./ProjectShow/2.png) 45 | 46 | 47 | 48 | ### ![](./ProjectShow/3.png) 49 | 50 | ![](./ProjectShow/4.png) 51 | 52 | ### 其他 53 | 54 | 感谢楚绵(靓仔)的精品课程,受益匪浅。 55 | 56 | 如果项目大家觉得比较好,请留一个🌟。 57 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vue3 编程商城后台 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shop-admin", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "@element-plus/icons-vue": "^1.1.4", 12 | "@vueuse/core": "^9.3.0", 13 | "@vueuse/integrations": "^8.4.1", 14 | "axios": "^0.27.2", 15 | "element-plus": "^2.1.11", 16 | "jquery": "2.2.0", 17 | "nprogress": "^0.2.0", 18 | "universal-cookie": "^4.0.4", 19 | "vue": "^3.2.25", 20 | "vue-router": "^4.0.15", 21 | "vuex": "^4.0.2" 22 | }, 23 | "devDependencies": { 24 | "@vitejs/plugin-vue": "^2.3.1", 25 | "naive-ui": "^2.33.3", 26 | "vite": "^2.9.7", 27 | "vite-plugin-windicss": "^1.8.4", 28 | "windicss": "^3.5.1" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/public/404.png -------------------------------------------------------------------------------- /public/Vue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/public/Vue.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 | 15 | -------------------------------------------------------------------------------- /src/api/manager.js: -------------------------------------------------------------------------------- 1 | import axios from '~/axios' 2 | 3 | export function login(username,password){ 4 | return axios.post("/admin/login",{ 5 | username, 6 | password 7 | }) 8 | } 9 | 10 | export function getinfo(){ 11 | return axios.post("/admin/getinfo") 12 | } 13 | 14 | export function logout(){ 15 | return axios.post("/admin/logout") 16 | } 17 | 18 | export function updatepassword(data){ 19 | return axios.post("/admin/updatepassword",data) 20 | } -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/webyang-male/vue3-mallManage/4e81ca0a1a0e608b3d0842323bc70f6382199013/src/assets/logo.png -------------------------------------------------------------------------------- /src/axios.js: -------------------------------------------------------------------------------- 1 | import axios from "axios" 2 | import { toast } from '~/composables/util' 3 | import { getToken } from '~/composables/auth' 4 | import store from "./store" 5 | 6 | const service = axios.create({ 7 | baseURL:"/api" 8 | }) 9 | 10 | // 添加请求拦截器 11 | service.interceptors.request.use(function (config) { 12 | 13 | // 往header头自动添加token 14 | const token = getToken() 15 | if(token){ 16 | config.headers["token"] = token 17 | } 18 | 19 | return config; 20 | }, function (error) { 21 | // 对请求错误做些什么 22 | return Promise.reject(error); 23 | }); 24 | 25 | // 添加响应拦截器 26 | service.interceptors.response.use(function (response) { 27 | // 对响应数据做点什么 28 | return response.data.data; 29 | }, function (error) { 30 | const msg = error.response.data.msg || "请求失败" 31 | 32 | if(msg == "非法token,请先登录!"){ 33 | store.dispatch("logout").finally(()=>location.reload()) 34 | } 35 | 36 | toast(msg,"error") 37 | 38 | return Promise.reject(error); 39 | }) 40 | 41 | export default service -------------------------------------------------------------------------------- /src/components/FormDrawer.vue: -------------------------------------------------------------------------------- 1 | 18 | 61 | -------------------------------------------------------------------------------- /src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 35 | 36 | 41 | -------------------------------------------------------------------------------- /src/composables/auth.js: -------------------------------------------------------------------------------- 1 | import { useCookies } from '@vueuse/integrations/useCookies' 2 | const TokenKey = "admin-token" 3 | const cookie = useCookies() 4 | 5 | // 获取token 6 | export function getToken(){ 7 | return cookie.get(TokenKey) 8 | } 9 | 10 | // 设置token 11 | export function setToken(token){ 12 | return cookie.set(TokenKey,token) 13 | } 14 | 15 | // 清除token 16 | export function removeToken(){ 17 | return cookie.remove(TokenKey) 18 | } -------------------------------------------------------------------------------- /src/composables/useManager.js: -------------------------------------------------------------------------------- 1 | import { ref, reactive } from 'vue' 2 | import { logout, updatepassword } from "~/api/manager" 3 | import { showModal, toast } from "~/composables/util" 4 | import { useRouter } from "vue-router" 5 | import { useStore } from "vuex" 6 | 7 | export function useRepassword() { 8 | const router = useRouter() 9 | const store = useStore() 10 | // 修改密码 11 | const formDrawerRef = ref(null) 12 | const form = reactive({ 13 | oldpassword: "", 14 | password: "", 15 | repassword: "" 16 | }) 17 | 18 | const rules = { 19 | oldpassword: [ 20 | { 21 | required: true, 22 | message: '旧密码不能为空', 23 | trigger: 'blur' 24 | }, 25 | ], 26 | password: [ 27 | { 28 | required: true, 29 | message: '新密码不能为空', 30 | trigger: 'blur' 31 | }, 32 | ], 33 | repassword: [ 34 | { 35 | required: true, 36 | message: '确认密码不能为空', 37 | trigger: 'blur' 38 | }, 39 | ] 40 | } 41 | 42 | const formRef = ref(null) 43 | const onSubmit = () => { 44 | formRef.value.validate((valid) => { 45 | if (!valid) { 46 | return false 47 | } 48 | formDrawerRef.value.showLoading() 49 | updatepassword(form) 50 | .then(res => { 51 | toast("修改密码成功,请重新登录") 52 | store.dispatch("logout") 53 | // 跳转回登录页 54 | router.push("/login") 55 | }) 56 | .finally(() => { 57 | formDrawerRef.value.hideLoading() 58 | }) 59 | 60 | }) 61 | } 62 | 63 | const openRePasswordForm = () => formDrawerRef.value.open() 64 | 65 | return { 66 | formDrawerRef, 67 | form, 68 | rules, 69 | formRef, 70 | onSubmit, 71 | openRePasswordForm 72 | } 73 | } 74 | 75 | export function useLogout() { 76 | const router = useRouter() 77 | const store = useStore() 78 | function handleLogout() { 79 | showModal("是否要退出登录?").then(res => { 80 | logout().finally(() => { 81 | store.dispatch("logout") 82 | // 跳转回登录页 83 | router.push("/login") 84 | // 提示退出登录成功 85 | toast("退出登录成功") 86 | }) 87 | }) 88 | } 89 | 90 | return { 91 | handleLogout 92 | } 93 | } -------------------------------------------------------------------------------- /src/composables/useTabList.js: -------------------------------------------------------------------------------- 1 | import { ref } from "vue"; 2 | import { useRoute, onBeforeRouteUpdate } from "vue-router"; 3 | import { useCookies } from "@vueuse/integrations/useCookies"; 4 | import { router } from "~/router"; 5 | 6 | export function useTabList() { 7 | const route = useRoute(); 8 | const cookie = useCookies(); 9 | 10 | const activeTab = ref(route.path); 11 | const tabList = ref([ 12 | { 13 | title: "后台首页", 14 | path: "/", 15 | }, 16 | ]); 17 | 18 | // 添加标签导航 19 | function addTab(tab) { 20 | let noTab = tabList.value.findIndex((t) => t.path == tab.path) == -1; 21 | if (noTab) { 22 | tabList.value.push(tab); 23 | } 24 | 25 | cookie.set("tabList", tabList.value); 26 | } 27 | 28 | // 初始化标签导航列表 29 | function initTabList() { 30 | let tbs = cookie.get("tabList"); 31 | if (tbs) { 32 | tabList.value = tbs; 33 | } 34 | } 35 | 36 | initTabList(); 37 | 38 | onBeforeRouteUpdate((to, from) => { 39 | activeTab.value = to.path; 40 | addTab({ 41 | title: to.meta.title, 42 | path: to.path, 43 | }); 44 | }); 45 | 46 | const changeTab = (t) => { 47 | activeTab.value = t; 48 | router.push(t); 49 | }; 50 | 51 | const removeTab = (t) => { 52 | let tabs = tabList.value; 53 | let a = activeTab.value; 54 | if (a == t) { 55 | tabs.forEach((tab, index) => { 56 | if (tab.path == t) { 57 | const nextTab = tabs[index + 1] || tabs[index - 1]; 58 | if (nextTab) { 59 | a = nextTab.path; 60 | } 61 | } 62 | }); 63 | } 64 | 65 | activeTab.value = a; 66 | tabList.value = tabList.value.filter((tab) => tab.path != t); 67 | 68 | cookie.set("tabList", tabList.value); 69 | }; 70 | 71 | //定时清除cookie 72 | const time = 2 * 60 * 60 * 1000; 73 | setInterval(() => { 74 | const key = cookie.get("tabList"); 75 | if (key) { 76 | cookie.remove(key); 77 | } 78 | }, time); 79 | 80 | const handleClose = (c) => { 81 | console.log(c); 82 | if (c == "clearAll") { 83 | activeTab.value = "/"; 84 | tabList.value = [ 85 | { 86 | title: "后台首页", 87 | path: "/", 88 | }, 89 | ]; 90 | } else if (c == "clearOther") { 91 | tabList.value = tabList.value.filter( 92 | (tab) => tab.path == "/" || tab.path == activeTab.value 93 | ); 94 | } 95 | cookie.set("tabList", tabList.value); 96 | }; 97 | 98 | return { 99 | activeTab, 100 | tabList, 101 | changeTab, 102 | removeTab, 103 | handleClose, 104 | }; 105 | } 106 | -------------------------------------------------------------------------------- /src/composables/util.js: -------------------------------------------------------------------------------- 1 | import { ElNotification,ElMessageBox } from 'element-plus' 2 | import nprogress from 'nprogress' 3 | // 消息提示 4 | export function toast(message,type = "success",dangerouslyUseHTMLString = false){ 5 | ElNotification({ 6 | message, 7 | type, 8 | dangerouslyUseHTMLString, 9 | duration:3000 10 | }) 11 | } 12 | 13 | // 显示全屏loading 14 | export function showFullLoading(){ 15 | nprogress.start() 16 | } 17 | 18 | // 隐藏全屏loading 19 | export function hideFullLoading(){ 20 | nprogress.done() 21 | } 22 | 23 | export function showModal(content = "提示内容",type = "warning",title = ""){ 24 | return ElMessageBox.confirm( 25 | content, 26 | title, 27 | { 28 | confirmButtonText: '确认', 29 | cancelButtonText: '取消', 30 | type, 31 | } 32 | ) 33 | } 34 | -------------------------------------------------------------------------------- /src/layouts/admin.vue: -------------------------------------------------------------------------------- 1 | 23 | 28 | -------------------------------------------------------------------------------- /src/layouts/components/FHeader.vue: -------------------------------------------------------------------------------- 1 | 60 | 99 | -------------------------------------------------------------------------------- /src/layouts/components/FMenu.vue: -------------------------------------------------------------------------------- 1 | 32 | 54 | -------------------------------------------------------------------------------- /src/layouts/components/FTagList.vue: -------------------------------------------------------------------------------- 1 | 28 | 37 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from "vue"; 2 | import ElementPlus from "element-plus"; 3 | import "element-plus/dist/index.css"; 4 | import App from "./App.vue"; 5 | import { router } from "./router"; 6 | import store from "./store"; 7 | import * as ElementPlusIconsVue from "@element-plus/icons-vue"; 8 | const app = createApp(App); 9 | app.use(store); 10 | app.use(router); 11 | 12 | app.use(ElementPlus); 13 | 14 | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { 15 | app.component(key, component); 16 | } 17 | import "virtual:windi.css"; 18 | 19 | import "./permission"; 20 | 21 | import "nprogress/nprogress.css"; 22 | 23 | app.mount("#app"); 24 | -------------------------------------------------------------------------------- /src/pages/404.vue: -------------------------------------------------------------------------------- 1 | 17 | -------------------------------------------------------------------------------- /src/pages/category/list.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /src/pages/goods/list.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/pages/index.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/pages/login.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 109 | 110 | -------------------------------------------------------------------------------- /src/permission.js: -------------------------------------------------------------------------------- 1 | import { router, addRoutes } from "~/router"; 2 | import { getToken } from "~/composables/auth"; 3 | import { toast, showFullLoading, hideFullLoading } from "~/composables/util"; 4 | import store from "./store"; 5 | 6 | // 全局前置守卫 7 | let hasGetInfo = false; 8 | router.beforeEach(async (to, from, next) => { 9 | // 显示loading 10 | showFullLoading(); 11 | 12 | const token = getToken(); 13 | 14 | // 没有登录,强制跳转回登录页 15 | if (!token && to.path != "/login") { 16 | toast("请先登录", "error"); 17 | return next({ path: "/login" }); 18 | } 19 | 20 | // 防止重复登录 21 | if (token && to.path == "/login") { 22 | toast("请勿重复登录", "error"); 23 | return next({ path: from.path ? from.path : "/" }); 24 | } 25 | 26 | // 如果用户登录了,自动获取用户信息,并存储在vuex当中 27 | let hasNewRoutes = false; 28 | if (token && !hasGetInfo) { 29 | let { menus } = await store.dispatch("getinfo"); 30 | hasGetInfo = true; 31 | //动态添加路由 32 | hasNewRoutes = addRoutes(menus); 33 | } 34 | 35 | // 设置页面标题 36 | let title = (to.meta.title ? to.meta.title : "Vue3") + "-追梦编程商城后台"; 37 | document.title = title; 38 | 39 | hasNewRoutes ? next(to.fullPath) : next(); 40 | }); 41 | 42 | // 全局后置守卫 43 | router.afterEach((to, from) => hideFullLoading()); 44 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHashHistory } from "vue-router"; 2 | 3 | import Admin from "~/layouts/admin.vue"; 4 | import Index from "~/pages/index.vue"; 5 | import Login from "~/pages/login.vue"; 6 | import NotFound from "~/pages/404.vue"; 7 | import GoodList from "~/pages/goods/list.vue"; 8 | import CategoryList from "~/pages/category/list.vue"; 9 | 10 | /* const routes = [ 11 | { 12 | path:"/", 13 | component:Admin, 14 | // 子路由 15 | children:[] 16 | }, 17 | { 18 | path:"/login", 19 | component:Login, 20 | meta:{ 21 | title:"登录页" 22 | } 23 | },{ 24 | path: '/:pathMatch(.*)*', 25 | name: 'NotFound', 26 | component: NotFound 27 | }] */ 28 | 29 | //默认路由,所有用户共享 30 | const routes = [ 31 | { 32 | path: "/", 33 | name: "admin", 34 | component: Admin, 35 | }, 36 | { 37 | path: "/login", 38 | component: Login, 39 | meta: { 40 | title: "登录页", 41 | }, 42 | }, 43 | { 44 | path: "/:pathMatch(.*)*", 45 | name: "NotFound", 46 | component: NotFound, 47 | }, 48 | ]; 49 | 50 | //动态匹配添加路由 51 | const asyncRoutes = [ 52 | { 53 | path: "/", 54 | name: "/", 55 | component: Index, 56 | meta: { 57 | title: "后台首页", 58 | }, 59 | }, 60 | { 61 | path: "/goods/list", 62 | name: "/goods/list", 63 | component: GoodList, 64 | meta: { 65 | title: "商品管理", 66 | }, 67 | }, 68 | { 69 | path: "/category/list", 70 | name: "/category/list", 71 | component: CategoryList, 72 | meta: { 73 | title: "分类列表", 74 | }, 75 | }, 76 | ]; 77 | 78 | export const router = createRouter({ 79 | history: createWebHashHistory(), 80 | routes, 81 | }); 82 | 83 | //动态添加路由方法 84 | export function addRoutes(menus) { 85 | //是否有新的路由 86 | let hasNewRoutes = false; 87 | const findAndAddRoutesByMenus = (arr) => { 88 | arr.forEach((e) => { 89 | let item = asyncRoutes.find((o) => o.path == e.frontpath); 90 | if (item && !router.hasRoute(item.path)) { 91 | router.addRoute("admin", item); 92 | hasNewRoutes = true; 93 | } 94 | //子路由 95 | if (e.child && e.child.length > 0) { 96 | findAndAddRoutesByMenus(e.child); 97 | } 98 | }); 99 | }; 100 | findAndAddRoutesByMenus(menus) 101 | 102 | // console.log("获取路由",router.getRoutes()); 103 | return hasNewRoutes; 104 | } 105 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import { createStore } from "vuex"; 2 | import { login, getinfo } from "~/api/manager"; 3 | import { setToken, removeToken } from "~/composables/auth"; 4 | const store = createStore({ 5 | state() { 6 | return { 7 | // 用户信息 8 | user: {}, 9 | 10 | // 侧边宽度 11 | asideWidth: "250px", 12 | menus: [], 13 | ruleNames: [], 14 | }; 15 | }, 16 | mutations: { 17 | // 记录用户信息 18 | SET_USERINFO(state, user) { 19 | state.user = user; 20 | }, 21 | // 展开/缩起侧边 22 | handleAsideWidth(state) { 23 | state.asideWidth = state.asideWidth == "250px" ? "64px" : "250px"; 24 | }, 25 | SET_MENUS(state, menu) { 26 | state.menus = menu; 27 | }, 28 | SET_RULENAMES(state, ruleNames) { 29 | state.ruleNames = ruleNames; 30 | }, 31 | }, 32 | actions: { 33 | // 登录 34 | login({ commit }, { username, password }) { 35 | return new Promise((resolve, reject) => { 36 | login(username, password) 37 | .then((res) => { 38 | setToken(res.token); 39 | 40 | resolve(res); 41 | }) 42 | .catch((err) => reject(err)); 43 | }); 44 | }, 45 | // 获取当前登录用户信息 46 | getinfo({ commit }) { 47 | return new Promise((resolve, reject) => { 48 | getinfo() 49 | .then((res) => { 50 | console.log(res); 51 | commit("SET_USERINFO", res); 52 | commit("SET_MENUS", res.menus); 53 | commit("SET_RULENAMES", res.ruleNames); 54 | resolve(res); 55 | }) 56 | .catch((err) => reject(err)); 57 | }); 58 | }, 59 | // 退出登录 60 | logout({ commit }) { 61 | // 移除cookie里的token 62 | removeToken(); 63 | // 清除当前用户状态 vuex 64 | commit("SET_USERINFO", {}); 65 | }, 66 | }, 67 | }); 68 | 69 | export default store; 70 | -------------------------------------------------------------------------------- /u.sh: -------------------------------------------------------------------------------- 1 | info=$1 2 | if ["$info" = ""]; 3 | then info="feat:Transition global transition animation" 4 | fi 5 | git add -A 6 | git commit -m "$info" 7 | git push origin main -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import WindiCSS from 'vite-plugin-windicss' 4 | 5 | import path from "path" 6 | 7 | // https://vitejs.dev/config/ 8 | export default defineConfig({ 9 | resolve:{ 10 | // src目录别名 11 | alias:{ 12 | "~":path.resolve(__dirname,"src"), 13 | } 14 | }, 15 | 16 | server:{ 17 | proxy:{ 18 | '/api': { 19 | target: 'http://ceshi13.dishait.cn', 20 | changeOrigin: true, 21 | rewrite: (path) => path.replace(/^\/api/, '') 22 | }, 23 | } 24 | }, 25 | 26 | plugins: [vue(),WindiCSS()] 27 | }) 28 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@antfu/utils@^0.5.2": 6 | version "0.5.2" 7 | resolved "https://registry.npmmirror.com/@antfu/utils/-/utils-0.5.2.tgz#8c2d931ff927be0ebe740169874a3d4004ab414b" 8 | integrity sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA== 9 | 10 | "@babel/parser@^7.16.4": 11 | version "7.18.10" 12 | resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1" 13 | integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg== 14 | 15 | "@css-render/plugin-bem@^0.15.10": 16 | version "0.15.11" 17 | resolved "https://registry.npmmirror.com/@css-render/plugin-bem/-/plugin-bem-0.15.11.tgz#250b853704af1fbb935b8fcd987839dcc9c95ce2" 18 | integrity sha512-Bn8qadYPIz5DhZ4obTGHOJzeziQH6kY0+Fk5AEvwuuy378SLwwvXuuoechLjBHcgKkPCM03Oo4dDSGP/6NMdyw== 19 | 20 | "@css-render/vue3-ssr@^0.15.10": 21 | version "0.15.11" 22 | resolved "https://registry.npmmirror.com/@css-render/vue3-ssr/-/vue3-ssr-0.15.11.tgz#d6646f69c7bd4b54485a40441ac60102822cd492" 23 | integrity sha512-n+SuqLPbY30FUTM8slX75OaEG+c8XlTOFrAklekX2XQGvBbz9XdBE6hTEgGlV5kPcTMqTJeCG7Vzhs9/29VC7w== 24 | 25 | "@ctrl/tinycolor@^3.4.1": 26 | version "3.4.1" 27 | resolved "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32" 28 | integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw== 29 | 30 | "@element-plus/icons-vue@^1.1.4": 31 | version "1.1.4" 32 | resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-1.1.4.tgz#5d2788ea356f1458068e6d400e724ca5f3d29aca" 33 | integrity sha512-Iz/nHqdp1sFPmdzRwHkEQQA3lKvoObk8azgABZ81QUOpW9s/lUyQVUSh0tNtEPZXQlKwlSh7SPgoVxzrE0uuVQ== 34 | 35 | "@element-plus/icons-vue@^2.0.6": 36 | version "2.0.6" 37 | resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.6.tgz#8490e7a3193c17515d10c3be0544d800afe6a228" 38 | integrity sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew== 39 | 40 | "@emotion/hash@~0.8.0": 41 | version "0.8.0" 42 | resolved "https://registry.npmmirror.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" 43 | integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== 44 | 45 | "@floating-ui/core@^0.7.3": 46 | version "0.7.3" 47 | resolved "https://registry.npmmirror.com/@floating-ui/core/-/core-0.7.3.tgz#d274116678ffae87f6b60e90f88cc4083eefab86" 48 | integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg== 49 | 50 | "@floating-ui/dom@^0.5.4": 51 | version "0.5.4" 52 | resolved "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.5.4.tgz#4eae73f78bcd4bd553ae2ade30e6f1f9c73fe3f1" 53 | integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg== 54 | dependencies: 55 | "@floating-ui/core" "^0.7.3" 56 | 57 | "@juggle/resize-observer@^3.3.1": 58 | version "3.4.0" 59 | resolved "https://registry.npmmirror.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" 60 | integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== 61 | 62 | "@nodelib/fs.scandir@2.1.5": 63 | version "2.1.5" 64 | resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 65 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 66 | dependencies: 67 | "@nodelib/fs.stat" "2.0.5" 68 | run-parallel "^1.1.9" 69 | 70 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 71 | version "2.0.5" 72 | resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 73 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 74 | 75 | "@nodelib/fs.walk@^1.2.3": 76 | version "1.2.8" 77 | resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 78 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 79 | dependencies: 80 | "@nodelib/fs.scandir" "2.1.5" 81 | fastq "^1.6.0" 82 | 83 | "@popperjs/core@npm:@sxzz/popperjs-es@^2.11.7": 84 | version "2.11.7" 85 | resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671" 86 | integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ== 87 | 88 | "@types/cookie@^0.3.3": 89 | version "0.3.3" 90 | resolved "https://registry.npmmirror.com/@types/cookie/-/cookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803" 91 | integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== 92 | 93 | "@types/lodash-es@^4.17.6": 94 | version "4.17.6" 95 | resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz#c2ed4c8320ffa6f11b43eb89e9eaeec65966a0a0" 96 | integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg== 97 | dependencies: 98 | "@types/lodash" "*" 99 | 100 | "@types/lodash@*", "@types/lodash@^4.14.182": 101 | version "4.14.182" 102 | resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" 103 | integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== 104 | 105 | "@types/lodash@^4.14.181": 106 | version "4.14.186" 107 | resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.186.tgz#862e5514dd7bd66ada6c70ee5fce844b06c8ee97" 108 | integrity sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw== 109 | 110 | "@types/node@~17.0.5": 111 | version "17.0.45" 112 | resolved "https://registry.npmmirror.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" 113 | integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== 114 | 115 | "@types/web-bluetooth@^0.0.14": 116 | version "0.0.14" 117 | resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz#94e175b53623384bff1f354cdb3197a8d63cdbe5" 118 | integrity sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A== 119 | 120 | "@types/web-bluetooth@^0.0.15": 121 | version "0.0.15" 122 | resolved "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz#d60330046a6ed8a13b4a53df3813c44942ebdf72" 123 | integrity sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA== 124 | 125 | "@vitejs/plugin-vue@^2.3.1": 126 | version "2.3.3" 127 | resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz#fbf80cc039b82ac21a1acb0f0478de8f61fbf600" 128 | integrity sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw== 129 | 130 | "@vue/compiler-core@3.2.37": 131 | version "3.2.37" 132 | resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz#b3c42e04c0e0f2c496ff1784e543fbefe91e215a" 133 | integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg== 134 | dependencies: 135 | "@babel/parser" "^7.16.4" 136 | "@vue/shared" "3.2.37" 137 | estree-walker "^2.0.2" 138 | source-map "^0.6.1" 139 | 140 | "@vue/compiler-dom@3.2.37": 141 | version "3.2.37" 142 | resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz#10d2427a789e7c707c872da9d678c82a0c6582b5" 143 | integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ== 144 | dependencies: 145 | "@vue/compiler-core" "3.2.37" 146 | "@vue/shared" "3.2.37" 147 | 148 | "@vue/compiler-sfc@3.2.37": 149 | version "3.2.37" 150 | resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz#3103af3da2f40286edcd85ea495dcb35bc7f5ff4" 151 | integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg== 152 | dependencies: 153 | "@babel/parser" "^7.16.4" 154 | "@vue/compiler-core" "3.2.37" 155 | "@vue/compiler-dom" "3.2.37" 156 | "@vue/compiler-ssr" "3.2.37" 157 | "@vue/reactivity-transform" "3.2.37" 158 | "@vue/shared" "3.2.37" 159 | estree-walker "^2.0.2" 160 | magic-string "^0.25.7" 161 | postcss "^8.1.10" 162 | source-map "^0.6.1" 163 | 164 | "@vue/compiler-ssr@3.2.37": 165 | version "3.2.37" 166 | resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz#4899d19f3a5fafd61524a9d1aee8eb0505313cff" 167 | integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw== 168 | dependencies: 169 | "@vue/compiler-dom" "3.2.37" 170 | "@vue/shared" "3.2.37" 171 | 172 | "@vue/devtools-api@^6.0.0-beta.11", "@vue/devtools-api@^6.1.4": 173 | version "6.2.1" 174 | resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" 175 | integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== 176 | 177 | "@vue/reactivity-transform@3.2.37": 178 | version "3.2.37" 179 | resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz#0caa47c4344df4ae59f5a05dde2a8758829f8eca" 180 | integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg== 181 | dependencies: 182 | "@babel/parser" "^7.16.4" 183 | "@vue/compiler-core" "3.2.37" 184 | "@vue/shared" "3.2.37" 185 | estree-walker "^2.0.2" 186 | magic-string "^0.25.7" 187 | 188 | "@vue/reactivity@3.2.37": 189 | version "3.2.37" 190 | resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz#5bc3847ac58828e2b78526e08219e0a1089f8848" 191 | integrity sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A== 192 | dependencies: 193 | "@vue/shared" "3.2.37" 194 | 195 | "@vue/runtime-core@3.2.37": 196 | version "3.2.37" 197 | resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz#7ba7c54bb56e5d70edfc2f05766e1ca8519966e3" 198 | integrity sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ== 199 | dependencies: 200 | "@vue/reactivity" "3.2.37" 201 | "@vue/shared" "3.2.37" 202 | 203 | "@vue/runtime-dom@3.2.37": 204 | version "3.2.37" 205 | resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz#002bdc8228fa63949317756fb1e92cdd3f9f4bbd" 206 | integrity sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw== 207 | dependencies: 208 | "@vue/runtime-core" "3.2.37" 209 | "@vue/shared" "3.2.37" 210 | csstype "^2.6.8" 211 | 212 | "@vue/server-renderer@3.2.37": 213 | version "3.2.37" 214 | resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz#840a29c8dcc29bddd9b5f5ffa22b95c0e72afdfc" 215 | integrity sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA== 216 | dependencies: 217 | "@vue/compiler-ssr" "3.2.37" 218 | "@vue/shared" "3.2.37" 219 | 220 | "@vue/shared@3.2.37": 221 | version "3.2.37" 222 | resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702" 223 | integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== 224 | 225 | "@vueuse/core@8.9.4", "@vueuse/core@^8.7.5": 226 | version "8.9.4" 227 | resolved "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz#c7db40f19390b3c9f4ff9294a30461497f62ec19" 228 | integrity sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q== 229 | dependencies: 230 | "@types/web-bluetooth" "^0.0.14" 231 | "@vueuse/metadata" "8.9.4" 232 | "@vueuse/shared" "8.9.4" 233 | vue-demi "*" 234 | 235 | "@vueuse/core@^9.3.0": 236 | version "9.3.0" 237 | resolved "https://registry.npmmirror.com/@vueuse/core/-/core-9.3.0.tgz#74d855bd19cb5eadd2edb30c871918fac881e8b8" 238 | integrity sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ== 239 | dependencies: 240 | "@types/web-bluetooth" "^0.0.15" 241 | "@vueuse/metadata" "9.3.0" 242 | "@vueuse/shared" "9.3.0" 243 | vue-demi "*" 244 | 245 | "@vueuse/integrations@^8.4.1": 246 | version "8.9.4" 247 | resolved "https://registry.npmmirror.com/@vueuse/integrations/-/integrations-8.9.4.tgz#1343cb0fb0ee5393b28193be7f0792e2a15ac7e8" 248 | integrity sha512-Nk7mH0ThTdiuiiuB+1lyC+5ihnywrr+9h9IA4R4Ry8Mli/cZL38zc3qZWIsCVPm66Lr+7kEp3nnHdSxKi7ivrg== 249 | dependencies: 250 | "@vueuse/core" "8.9.4" 251 | "@vueuse/shared" "8.9.4" 252 | vue-demi "*" 253 | 254 | "@vueuse/metadata@8.9.4": 255 | version "8.9.4" 256 | resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.4.tgz#a4132db33e4c1b1023636acfa20aa7b37ab3d978" 257 | integrity sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw== 258 | 259 | "@vueuse/metadata@9.3.0": 260 | version "9.3.0" 261 | resolved "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.3.0.tgz#c107fe77a577e1f221536cd1b291039c0c7c4bce" 262 | integrity sha512-GnnfjbzIPJIh9ngL9s9oGU1+Hx/h5/KFqTfJykzh/1xjaHkedV9g0MASpdmPZIP+ynNhKAcEfA6g5i8KXwtoMA== 263 | 264 | "@vueuse/shared@8.9.4": 265 | version "8.9.4" 266 | resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.4.tgz#c9741c30ffb666b50d62f0dd80b76119fd47573e" 267 | integrity sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag== 268 | dependencies: 269 | vue-demi "*" 270 | 271 | "@vueuse/shared@9.3.0": 272 | version "9.3.0" 273 | resolved "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.3.0.tgz#40fc138ba4e379c894075830aa2e15404aaa8a5b" 274 | integrity sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ== 275 | dependencies: 276 | vue-demi "*" 277 | 278 | "@windicss/config@1.8.7": 279 | version "1.8.7" 280 | resolved "https://registry.npmmirror.com/@windicss/config/-/config-1.8.7.tgz#650bec3c6e3293306e4fe0c478253bd0085884aa" 281 | integrity sha512-8n+/Y36j5L3rw2tgMdLjeGRuNV7VYfKoHoraLK6Bk9OJ1MTPd5vv7pekof/uOPWVV7WWjVeZ6CTO8SDbDDW3iw== 282 | dependencies: 283 | debug "^4.3.4" 284 | jiti "^1.14.0" 285 | windicss "^3.5.6" 286 | 287 | "@windicss/plugin-utils@1.8.7": 288 | version "1.8.7" 289 | resolved "https://registry.npmmirror.com/@windicss/plugin-utils/-/plugin-utils-1.8.7.tgz#0e3ad889974276fc00029e1a2d911bca16792a33" 290 | integrity sha512-dfj95olNZyGFDPFMBvE5oq8hA5f0ooUJZjVdWlthS4ek4W1/xNOHDxB6ygWR8LE9zCOXZykApjt1LOhy9Ky2QA== 291 | dependencies: 292 | "@antfu/utils" "^0.5.2" 293 | "@windicss/config" "1.8.7" 294 | debug "^4.3.4" 295 | fast-glob "^3.2.11" 296 | magic-string "^0.26.2" 297 | micromatch "^4.0.5" 298 | windicss "^3.5.6" 299 | 300 | async-validator@^4.0.7, async-validator@^4.2.5: 301 | version "4.2.5" 302 | resolved "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" 303 | integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== 304 | 305 | asynckit@^0.4.0: 306 | version "0.4.0" 307 | resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 308 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 309 | 310 | axios@^0.27.2: 311 | version "0.27.2" 312 | resolved "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" 313 | integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== 314 | dependencies: 315 | follow-redirects "^1.14.9" 316 | form-data "^4.0.0" 317 | 318 | braces@^3.0.2: 319 | version "3.0.2" 320 | resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 321 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 322 | dependencies: 323 | fill-range "^7.0.1" 324 | 325 | combined-stream@^1.0.8: 326 | version "1.0.8" 327 | resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 328 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 329 | dependencies: 330 | delayed-stream "~1.0.0" 331 | 332 | cookie@^0.4.0: 333 | version "0.4.2" 334 | resolved "https://registry.npmmirror.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" 335 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== 336 | 337 | css-render@^0.15.10: 338 | version "0.15.11" 339 | resolved "https://registry.npmmirror.com/css-render/-/css-render-0.15.11.tgz#52a77cd8335394485be2417675121c2efe954bb5" 340 | integrity sha512-hnLrHPUndVUTF5nmNPRey6hpixK02IPUGdEsm2xRjvJuewToyrVFx9Nmai8rgfVzhTFo5SJVh2PHAtzaIV8JKw== 341 | dependencies: 342 | "@emotion/hash" "~0.8.0" 343 | "@types/node" "~17.0.5" 344 | csstype "~3.0.5" 345 | 346 | csstype@^2.6.8: 347 | version "2.6.20" 348 | resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" 349 | integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== 350 | 351 | csstype@~3.0.5: 352 | version "3.0.11" 353 | resolved "https://registry.npmmirror.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" 354 | integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== 355 | 356 | date-fns-tz@^1.3.3: 357 | version "1.3.7" 358 | resolved "https://registry.npmmirror.com/date-fns-tz/-/date-fns-tz-1.3.7.tgz#e8e9d2aaceba5f1cc0e677631563081fdcb0e69a" 359 | integrity sha512-1t1b8zyJo+UI8aR+g3iqr5fkUHWpd58VBx8J/ZSQ+w7YrGlw80Ag4sA86qkfCXRBLmMc4I2US+aPMd4uKvwj5g== 360 | 361 | date-fns@^2.28.0: 362 | version "2.29.3" 363 | resolved "https://registry.npmmirror.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" 364 | integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== 365 | 366 | dayjs@^1.11.3: 367 | version "1.11.4" 368 | resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.4.tgz#3b3c10ca378140d8917e06ebc13a4922af4f433e" 369 | integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g== 370 | 371 | debug@^4.3.4: 372 | version "4.3.4" 373 | resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 374 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 375 | dependencies: 376 | ms "2.1.2" 377 | 378 | delayed-stream@~1.0.0: 379 | version "1.0.0" 380 | resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 381 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 382 | 383 | element-plus@^2.1.11: 384 | version "2.2.12" 385 | resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.12.tgz#b6c4e298e02ba9b904d70daa54def27b2de8c43c" 386 | integrity sha512-g/hIHj3b+dND2R3YRvyvCJtJhQvR7lWvXqhJaoxaQmajjNWedoe4rttxG26fOSv9YCC2wN4iFDcJHs70YFNgrA== 387 | dependencies: 388 | "@ctrl/tinycolor" "^3.4.1" 389 | "@element-plus/icons-vue" "^2.0.6" 390 | "@floating-ui/dom" "^0.5.4" 391 | "@popperjs/core" "npm:@sxzz/popperjs-es@^2.11.7" 392 | "@types/lodash" "^4.14.182" 393 | "@types/lodash-es" "^4.17.6" 394 | "@vueuse/core" "^8.7.5" 395 | async-validator "^4.2.5" 396 | dayjs "^1.11.3" 397 | escape-html "^1.0.3" 398 | lodash "^4.17.21" 399 | lodash-es "^4.17.21" 400 | lodash-unified "^1.0.2" 401 | memoize-one "^6.0.0" 402 | normalize-wheel-es "^1.2.0" 403 | 404 | esbuild-android-64@0.14.51: 405 | version "0.14.51" 406 | resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" 407 | integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== 408 | 409 | esbuild-android-arm64@0.14.51: 410 | version "0.14.51" 411 | resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" 412 | integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== 413 | 414 | esbuild-darwin-64@0.14.51: 415 | version "0.14.51" 416 | resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" 417 | integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== 418 | 419 | esbuild-darwin-arm64@0.14.51: 420 | version "0.14.51" 421 | resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a" 422 | integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== 423 | 424 | esbuild-freebsd-64@0.14.51: 425 | version "0.14.51" 426 | resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" 427 | integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== 428 | 429 | esbuild-freebsd-arm64@0.14.51: 430 | version "0.14.51" 431 | resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" 432 | integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== 433 | 434 | esbuild-linux-32@0.14.51: 435 | version "0.14.51" 436 | resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" 437 | integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== 438 | 439 | esbuild-linux-64@0.14.51: 440 | version "0.14.51" 441 | resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae" 442 | integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== 443 | 444 | esbuild-linux-arm64@0.14.51: 445 | version "0.14.51" 446 | resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" 447 | integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== 448 | 449 | esbuild-linux-arm@0.14.51: 450 | version "0.14.51" 451 | resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" 452 | integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== 453 | 454 | esbuild-linux-mips64le@0.14.51: 455 | version "0.14.51" 456 | resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" 457 | integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== 458 | 459 | esbuild-linux-ppc64le@0.14.51: 460 | version "0.14.51" 461 | resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" 462 | integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== 463 | 464 | esbuild-linux-riscv64@0.14.51: 465 | version "0.14.51" 466 | resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" 467 | integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== 468 | 469 | esbuild-linux-s390x@0.14.51: 470 | version "0.14.51" 471 | resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" 472 | integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== 473 | 474 | esbuild-netbsd-64@0.14.51: 475 | version "0.14.51" 476 | resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" 477 | integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== 478 | 479 | esbuild-openbsd-64@0.14.51: 480 | version "0.14.51" 481 | resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" 482 | integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== 483 | 484 | esbuild-sunos-64@0.14.51: 485 | version "0.14.51" 486 | resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" 487 | integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== 488 | 489 | esbuild-windows-32@0.14.51: 490 | version "0.14.51" 491 | resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" 492 | integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== 493 | 494 | esbuild-windows-64@0.14.51: 495 | version "0.14.51" 496 | resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" 497 | integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== 498 | 499 | esbuild-windows-arm64@0.14.51: 500 | version "0.14.51" 501 | resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" 502 | integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== 503 | 504 | esbuild@^0.14.27: 505 | version "0.14.51" 506 | resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e" 507 | integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== 508 | optionalDependencies: 509 | esbuild-android-64 "0.14.51" 510 | esbuild-android-arm64 "0.14.51" 511 | esbuild-darwin-64 "0.14.51" 512 | esbuild-darwin-arm64 "0.14.51" 513 | esbuild-freebsd-64 "0.14.51" 514 | esbuild-freebsd-arm64 "0.14.51" 515 | esbuild-linux-32 "0.14.51" 516 | esbuild-linux-64 "0.14.51" 517 | esbuild-linux-arm "0.14.51" 518 | esbuild-linux-arm64 "0.14.51" 519 | esbuild-linux-mips64le "0.14.51" 520 | esbuild-linux-ppc64le "0.14.51" 521 | esbuild-linux-riscv64 "0.14.51" 522 | esbuild-linux-s390x "0.14.51" 523 | esbuild-netbsd-64 "0.14.51" 524 | esbuild-openbsd-64 "0.14.51" 525 | esbuild-sunos-64 "0.14.51" 526 | esbuild-windows-32 "0.14.51" 527 | esbuild-windows-64 "0.14.51" 528 | esbuild-windows-arm64 "0.14.51" 529 | 530 | escape-html@^1.0.3: 531 | version "1.0.3" 532 | resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 533 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 534 | 535 | estree-walker@^2.0.2: 536 | version "2.0.2" 537 | resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 538 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 539 | 540 | evtd@^0.2.2, evtd@^0.2.4: 541 | version "0.2.4" 542 | resolved "https://registry.npmmirror.com/evtd/-/evtd-0.2.4.tgz#0aac39ba44d6926e6668948ac27618e0795b9d07" 543 | integrity sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw== 544 | 545 | fast-glob@^3.2.11: 546 | version "3.2.11" 547 | resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 548 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 549 | dependencies: 550 | "@nodelib/fs.stat" "^2.0.2" 551 | "@nodelib/fs.walk" "^1.2.3" 552 | glob-parent "^5.1.2" 553 | merge2 "^1.3.0" 554 | micromatch "^4.0.4" 555 | 556 | fastq@^1.6.0: 557 | version "1.13.0" 558 | resolved "https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 559 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 560 | dependencies: 561 | reusify "^1.0.4" 562 | 563 | fill-range@^7.0.1: 564 | version "7.0.1" 565 | resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 566 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 567 | dependencies: 568 | to-regex-range "^5.0.1" 569 | 570 | follow-redirects@^1.14.9: 571 | version "1.15.1" 572 | resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" 573 | integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== 574 | 575 | form-data@^4.0.0: 576 | version "4.0.0" 577 | resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" 578 | integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== 579 | dependencies: 580 | asynckit "^0.4.0" 581 | combined-stream "^1.0.8" 582 | mime-types "^2.1.12" 583 | 584 | fsevents@~2.3.2: 585 | version "2.3.2" 586 | resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 587 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 588 | 589 | function-bind@^1.1.1: 590 | version "1.1.1" 591 | resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 592 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 593 | 594 | glob-parent@^5.1.2: 595 | version "5.1.2" 596 | resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 597 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 598 | dependencies: 599 | is-glob "^4.0.1" 600 | 601 | has@^1.0.3: 602 | version "1.0.3" 603 | resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 604 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 605 | dependencies: 606 | function-bind "^1.1.1" 607 | 608 | highlight.js@^11.5.0: 609 | version "11.6.0" 610 | resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.6.0.tgz#a50e9da05763f1bb0c1322c8f4f755242cff3f5a" 611 | integrity sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw== 612 | 613 | is-core-module@^2.9.0: 614 | version "2.9.0" 615 | resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 616 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 617 | dependencies: 618 | has "^1.0.3" 619 | 620 | is-extglob@^2.1.1: 621 | version "2.1.1" 622 | resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 623 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 624 | 625 | is-glob@^4.0.1: 626 | version "4.0.3" 627 | resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 628 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 629 | dependencies: 630 | is-extglob "^2.1.1" 631 | 632 | is-number@^7.0.0: 633 | version "7.0.0" 634 | resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 635 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 636 | 637 | jiti@^1.14.0: 638 | version "1.14.0" 639 | resolved "https://registry.npmmirror.com/jiti/-/jiti-1.14.0.tgz#5350fff532a4d891ca4bcd700c47c1f40e6ee326" 640 | integrity sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A== 641 | 642 | jquery@2.2.0: 643 | version "2.2.0" 644 | resolved "https://registry.npmmirror.com/jquery/-/jquery-2.2.0.tgz#d0e84ebbf199da51bf7ec39307f19b35754e9cba" 645 | integrity sha512-bQLMb56JzEBBs2CMzy8llOL0J1xm/JkDma6+UnF2cSPYJmvQHS9yZ+YGny/1YydkdZm8j0Ny8peiaeoWEwy9Zg== 646 | 647 | kolorist@^1.5.1: 648 | version "1.5.1" 649 | resolved "https://registry.npmmirror.com/kolorist/-/kolorist-1.5.1.tgz#c3d66dc4fabde4f6b7faa6efda84c00491f9e52b" 650 | integrity sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ== 651 | 652 | lodash-es@^4.17.21: 653 | version "4.17.21" 654 | resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" 655 | integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== 656 | 657 | lodash-unified@^1.0.2: 658 | version "1.0.2" 659 | resolved "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz#bb2694db3533781e5cce984af60cfaea318b83c1" 660 | integrity sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g== 661 | 662 | lodash@^4.17.21: 663 | version "4.17.21" 664 | resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 665 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 666 | 667 | magic-string@^0.25.7: 668 | version "0.25.9" 669 | resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 670 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 671 | dependencies: 672 | sourcemap-codec "^1.4.8" 673 | 674 | magic-string@^0.26.2: 675 | version "0.26.2" 676 | resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.2.tgz#5331700e4158cd6befda738bb6b0c7b93c0d4432" 677 | integrity sha512-NzzlXpclt5zAbmo6h6jNc8zl2gNRGHvmsZW4IvZhTC4W7k4OlLP+S5YLussa/r3ixNT66KOQfNORlXHSOy/X4A== 678 | dependencies: 679 | sourcemap-codec "^1.4.8" 680 | 681 | memoize-one@^6.0.0: 682 | version "6.0.0" 683 | resolved "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" 684 | integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== 685 | 686 | merge2@^1.3.0: 687 | version "1.4.1" 688 | resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 689 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 690 | 691 | micromatch@^4.0.4, micromatch@^4.0.5: 692 | version "4.0.5" 693 | resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 694 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 695 | dependencies: 696 | braces "^3.0.2" 697 | picomatch "^2.3.1" 698 | 699 | mime-db@1.52.0: 700 | version "1.52.0" 701 | resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 702 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 703 | 704 | mime-types@^2.1.12: 705 | version "2.1.35" 706 | resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 707 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 708 | dependencies: 709 | mime-db "1.52.0" 710 | 711 | ms@2.1.2: 712 | version "2.1.2" 713 | resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 714 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 715 | 716 | naive-ui@^2.33.3: 717 | version "2.33.3" 718 | resolved "https://registry.npmmirror.com/naive-ui/-/naive-ui-2.33.3.tgz#844c340d0a5d94f84f1af5ec8a47e871be726ad0" 719 | integrity sha512-yz2aKdghMVadtvCSBXyjU2bAuGmwLEUcbzmXdUhSdtcbI6mT+mT8vRy43FnbJangPQ87v080q453vtnydNcnhA== 720 | dependencies: 721 | "@css-render/plugin-bem" "^0.15.10" 722 | "@css-render/vue3-ssr" "^0.15.10" 723 | "@types/lodash" "^4.14.181" 724 | "@types/lodash-es" "^4.17.6" 725 | async-validator "^4.0.7" 726 | css-render "^0.15.10" 727 | date-fns "^2.28.0" 728 | date-fns-tz "^1.3.3" 729 | evtd "^0.2.4" 730 | highlight.js "^11.5.0" 731 | lodash "^4.17.21" 732 | lodash-es "^4.17.21" 733 | seemly "^0.3.6" 734 | treemate "^0.3.11" 735 | vdirs "^0.1.8" 736 | vooks "^0.2.12" 737 | vueuc "^0.4.47" 738 | 739 | nanoid@^3.3.4: 740 | version "3.3.4" 741 | resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 742 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 743 | 744 | normalize-wheel-es@^1.2.0: 745 | version "1.2.0" 746 | resolved "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz#0fa2593d619f7245a541652619105ab076acf09e" 747 | integrity sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw== 748 | 749 | nprogress@^0.2.0: 750 | version "0.2.0" 751 | resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" 752 | integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== 753 | 754 | path-parse@^1.0.7: 755 | version "1.0.7" 756 | resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 757 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 758 | 759 | picocolors@^1.0.0: 760 | version "1.0.0" 761 | resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 762 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 763 | 764 | picomatch@^2.3.1: 765 | version "2.3.1" 766 | resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 767 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 768 | 769 | postcss@^8.1.10, postcss@^8.4.13: 770 | version "8.4.14" 771 | resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 772 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 773 | dependencies: 774 | nanoid "^3.3.4" 775 | picocolors "^1.0.0" 776 | source-map-js "^1.0.2" 777 | 778 | queue-microtask@^1.2.2: 779 | version "1.2.3" 780 | resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 781 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 782 | 783 | resolve@^1.22.0: 784 | version "1.22.1" 785 | resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 786 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 787 | dependencies: 788 | is-core-module "^2.9.0" 789 | path-parse "^1.0.7" 790 | supports-preserve-symlinks-flag "^1.0.0" 791 | 792 | reusify@^1.0.4: 793 | version "1.0.4" 794 | resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 795 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 796 | 797 | rollup@^2.59.0: 798 | version "2.77.2" 799 | resolved "https://registry.npmmirror.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3" 800 | integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== 801 | optionalDependencies: 802 | fsevents "~2.3.2" 803 | 804 | run-parallel@^1.1.9: 805 | version "1.2.0" 806 | resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 807 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 808 | dependencies: 809 | queue-microtask "^1.2.2" 810 | 811 | seemly@^0.3.6: 812 | version "0.3.6" 813 | resolved "https://registry.npmmirror.com/seemly/-/seemly-0.3.6.tgz#7ef97e8083dea00804965e2662f572a5df9cb18e" 814 | integrity sha512-lEV5VB8BUKTo/AfktXJcy+JeXns26ylbMkIUco8CYREsQijuz4mrXres2Q+vMLdwkuLxJdIPQ8IlCIxLYm71Yw== 815 | 816 | source-map-js@^1.0.2: 817 | version "1.0.2" 818 | resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 819 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 820 | 821 | source-map@^0.6.1: 822 | version "0.6.1" 823 | resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 824 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 825 | 826 | sourcemap-codec@^1.4.8: 827 | version "1.4.8" 828 | resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 829 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 830 | 831 | supports-preserve-symlinks-flag@^1.0.0: 832 | version "1.0.0" 833 | resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 834 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 835 | 836 | to-regex-range@^5.0.1: 837 | version "5.0.1" 838 | resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 839 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 840 | dependencies: 841 | is-number "^7.0.0" 842 | 843 | treemate@^0.3.11: 844 | version "0.3.11" 845 | resolved "https://registry.npmmirror.com/treemate/-/treemate-0.3.11.tgz#7d52f8f69ab9ce326f8d139e0a3d1ffb25e48222" 846 | integrity sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg== 847 | 848 | universal-cookie@^4.0.4: 849 | version "4.0.4" 850 | resolved "https://registry.npmmirror.com/universal-cookie/-/universal-cookie-4.0.4.tgz#06e8b3625bf9af049569ef97109b4bb226ad798d" 851 | integrity sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw== 852 | dependencies: 853 | "@types/cookie" "^0.3.3" 854 | cookie "^0.4.0" 855 | 856 | vdirs@^0.1.4, vdirs@^0.1.8: 857 | version "0.1.8" 858 | resolved "https://registry.npmmirror.com/vdirs/-/vdirs-0.1.8.tgz#a103bc43baca738f8dea912a7e9737154a19dbc2" 859 | integrity sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw== 860 | dependencies: 861 | evtd "^0.2.2" 862 | 863 | vite-plugin-windicss@^1.8.4: 864 | version "1.8.7" 865 | resolved "https://registry.npmmirror.com/vite-plugin-windicss/-/vite-plugin-windicss-1.8.7.tgz#884b3e7e4054df22344f61f5b2fddf07f2982405" 866 | integrity sha512-/zwQ8+RV+MSkbG0IGqsEma6r2R01NzN/aNpNjJD7VVAkxAptNznqDXOObFTskkWfZ+9m6KJZCOuCPgAFtQIzEA== 867 | dependencies: 868 | "@windicss/plugin-utils" "1.8.7" 869 | debug "^4.3.4" 870 | kolorist "^1.5.1" 871 | windicss "^3.5.6" 872 | 873 | vite@^2.9.7: 874 | version "2.9.14" 875 | resolved "https://registry.npmmirror.com/vite/-/vite-2.9.14.tgz#c438324c6594afd1050df3777da981dee988bb1b" 876 | integrity sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw== 877 | dependencies: 878 | esbuild "^0.14.27" 879 | postcss "^8.4.13" 880 | resolve "^1.22.0" 881 | rollup "^2.59.0" 882 | optionalDependencies: 883 | fsevents "~2.3.2" 884 | 885 | vooks@^0.2.12, vooks@^0.2.4: 886 | version "0.2.12" 887 | resolved "https://registry.npmmirror.com/vooks/-/vooks-0.2.12.tgz#2b6e23330b77bac81c7f7a344c4ca3e9f4f6c373" 888 | integrity sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q== 889 | dependencies: 890 | evtd "^0.2.2" 891 | 892 | vue-demi@*: 893 | version "0.13.6" 894 | resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.6.tgz#f9433cbd75e68a970dec066647f4ba6c08ced48f" 895 | integrity sha512-02NYpxgyGE2kKGegRPYlNQSL1UWfA/+JqvzhGCOYjhfbLWXU5QQX0+9pAm/R2sCOPKr5NBxVIab7fvFU0B1RxQ== 896 | 897 | vue-router@^4.0.15: 898 | version "4.1.3" 899 | resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.3.tgz#f8dc7931a2253cc5aa9b740f8b98969d08ca283c" 900 | integrity sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA== 901 | dependencies: 902 | "@vue/devtools-api" "^6.1.4" 903 | 904 | vue@^3.2.25: 905 | version "3.2.37" 906 | resolved "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz#da220ccb618d78579d25b06c7c21498ca4e5452e" 907 | integrity sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ== 908 | dependencies: 909 | "@vue/compiler-dom" "3.2.37" 910 | "@vue/compiler-sfc" "3.2.37" 911 | "@vue/runtime-dom" "3.2.37" 912 | "@vue/server-renderer" "3.2.37" 913 | "@vue/shared" "3.2.37" 914 | 915 | vueuc@^0.4.47: 916 | version "0.4.49" 917 | resolved "https://registry.npmmirror.com/vueuc/-/vueuc-0.4.49.tgz#913e6fd629bdfd5bbed79bf108aec605720af2db" 918 | integrity sha512-WarAC44a/Yx78CxkAgROYLq+LkAeCGA/6wHidVoFmHLbzyF3SiP2nzRNGD/8zJeJInXv18EnWK6A//eGgMMq8w== 919 | dependencies: 920 | "@css-render/vue3-ssr" "^0.15.10" 921 | "@juggle/resize-observer" "^3.3.1" 922 | css-render "^0.15.10" 923 | evtd "^0.2.4" 924 | seemly "^0.3.6" 925 | vdirs "^0.1.4" 926 | vooks "^0.2.4" 927 | 928 | vuex@^4.0.2: 929 | version "4.0.2" 930 | resolved "https://registry.npmmirror.com/vuex/-/vuex-4.0.2.tgz#f896dbd5bf2a0e963f00c67e9b610de749ccacc9" 931 | integrity sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q== 932 | dependencies: 933 | "@vue/devtools-api" "^6.0.0-beta.11" 934 | 935 | windicss@^3.5.1, windicss@^3.5.6: 936 | version "3.5.6" 937 | resolved "https://registry.npmmirror.com/windicss/-/windicss-3.5.6.tgz#30a34da76894d952a96c9a1921f2e91e13932183" 938 | integrity sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA== 939 | --------------------------------------------------------------------------------