Commit a09a0eedd29fdc9a9bd5414bd12c08e37c72982a
1 parent
be3a3ed6
perf: improve login logic
Showing
29 changed files
with
352 additions
and
821 deletions
package.json
... | ... | @@ -13,7 +13,6 @@ |
13 | 13 | "log": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", |
14 | 14 | "clean:cache": "rimraf node_modules/.cache/ && rimraf node_modules/.vite", |
15 | 15 | "clean:lib": "npx rimraf node_modules", |
16 | - "typecheck": "vuedx-typecheck .", | |
17 | 16 | "lint:eslint": "eslint \"{src,mock}/**/*.{vue,ts,tsx}\" --fix", |
18 | 17 | "lint:prettier": "prettier --write --loglevel warn \"src/**/*.{js,json,tsx,css,less,scss,vue,html,md}\"", |
19 | 18 | "lint:stylelint": "stylelint --fix \"**/*.{vue,less,postcss,css,scss}\" --cache --cache-location node_modules/.cache/stylelint/", |
... | ... | @@ -27,7 +26,7 @@ |
27 | 26 | }, |
28 | 27 | "dependencies": { |
29 | 28 | "@iconify/iconify": "^2.0.0-rc.6", |
30 | - "@vueuse/core": "^4.1.1", | |
29 | + "@vueuse/core": "^4.2.1", | |
31 | 30 | "@zxcvbn-ts/core": "^0.2.0", |
32 | 31 | "ant-design-vue": "2.0.0", |
33 | 32 | "apexcharts": "^3.25.0", |
... | ... | @@ -52,7 +51,7 @@ |
52 | 51 | "devDependencies": { |
53 | 52 | "@commitlint/cli": "^11.0.0", |
54 | 53 | "@commitlint/config-conventional": "^11.0.0", |
55 | - "@iconify/json": "^1.1.306", | |
54 | + "@iconify/json": "^1.1.307", | |
56 | 55 | "@ls-lint/ls-lint": "^1.9.2", |
57 | 56 | "@purge-icons/generated": "^0.7.0", |
58 | 57 | "@types/fs-extra": "^9.0.7", |
... | ... | @@ -70,8 +69,6 @@ |
70 | 69 | "@vitejs/plugin-vue": "^1.1.4", |
71 | 70 | "@vitejs/plugin-vue-jsx": "^1.1.0", |
72 | 71 | "@vue/compiler-sfc": "^3.0.5", |
73 | - "@vuedx/typecheck": "^0.6.3", | |
74 | - "@vuedx/typescript-plugin-vue": "^0.6.3", | |
75 | 72 | "autoprefixer": "^10.2.4", |
76 | 73 | "commitizen": "^4.2.3", |
77 | 74 | "conventional-changelog-cli": "^2.1.1", |
... | ... | @@ -84,7 +81,7 @@ |
84 | 81 | "esno": "^0.4.4", |
85 | 82 | "fs-extra": "^9.1.0", |
86 | 83 | "http-server": "^0.12.3", |
87 | - "husky": "^5.0.9", | |
84 | + "husky": "^5.1.0", | |
88 | 85 | "is-ci": "^3.0.0", |
89 | 86 | "less": "^4.1.1", |
90 | 87 | "lint-staged": "^10.5.4", |
... | ... | @@ -100,14 +97,14 @@ |
100 | 97 | "typescript": "^4.1.5", |
101 | 98 | "vite": "2.0.1", |
102 | 99 | "vite-plugin-compression": "^0.2.1", |
103 | - "vite-plugin-html": "^2.0.0", | |
100 | + "vite-plugin-html": "^2.0.1", | |
104 | 101 | "vite-plugin-imagemin": "^0.2.7", |
105 | 102 | "vite-plugin-mock": "^2.1.4", |
106 | 103 | "vite-plugin-purge-icons": "^0.7.0", |
107 | - "vite-plugin-pwa": "^0.5.2", | |
104 | + "vite-plugin-pwa": "^0.5.3", | |
108 | 105 | "vite-plugin-style-import": "^0.7.3", |
109 | 106 | "vite-plugin-theme": "^0.4.3", |
110 | - "vite-plugin-windicss": "0.4.3", | |
107 | + "vite-plugin-windicss": "0.4.4", | |
111 | 108 | "vue-eslint-parser": "^7.5.0", |
112 | 109 | "yargs": "^16.2.0" |
113 | 110 | }, |
... | ... |
src/components/CountDown/src/CountdownInput.vue
1 | 1 | <template> |
2 | - <div :class="prefixCls"> | |
3 | - <AInput v-bind="$attrs" :size="size" v-model:value="state"> | |
4 | - <template #addonAfter> | |
5 | - <CountButton :size="size" :count="count" :beforeStartFunc="sendCodeApi" /> | |
6 | - </template> | |
7 | - </AInput> | |
8 | - </div> | |
2 | + <AInput v-bind="$attrs" :class="prefixCls" :size="size"> | |
3 | + <template #addonAfter> | |
4 | + <CountButton :size="size" :count="count" :beforeStartFunc="sendCodeApi" /> | |
5 | + </template> | |
6 | + </AInput> | |
9 | 7 | </template> |
10 | 8 | <script lang="ts"> |
11 | 9 | import { defineComponent, PropType } from 'vue'; |
... | ... | @@ -32,7 +30,6 @@ |
32 | 30 | }, |
33 | 31 | setup(props) { |
34 | 32 | const { prefixCls } = useDesign('countdown-input'); |
35 | - | |
36 | 33 | const [state] = useRuleFormItem(props); |
37 | 34 | return { prefixCls, state }; |
38 | 35 | }, |
... | ... |
src/design/var/breakpoint.less
... | ... | @@ -2,17 +2,32 @@ |
2 | 2 | // ==============屏幕断点============ |
3 | 3 | // ================================= |
4 | 4 | |
5 | +// Extra small screen / phone | |
6 | +@screen-xs: 480px; | |
7 | +@screen-xs-min: @screen-xs; | |
8 | + | |
5 | 9 | // Small screen / tablet |
6 | -@screen-sm: 640px; | |
10 | +@screen-sm: 576px; | |
11 | +@screen-sm-min: @screen-sm; | |
7 | 12 | |
8 | 13 | // Medium screen / desktop |
9 | 14 | @screen-md: 768px; |
15 | +@screen-md-min: @screen-md; | |
10 | 16 | |
11 | 17 | // Large screen / wide desktop |
12 | -@screen-lg: 1024px; | |
18 | +@screen-lg: 992px; | |
19 | +@screen-lg-min: @screen-lg; | |
13 | 20 | |
14 | 21 | // Extra large screen / full hd |
15 | -@screen-xl: 1280px; | |
22 | +@screen-xl: 1200px; | |
23 | +@screen-xl-min: @screen-xl; | |
16 | 24 | |
17 | 25 | // Extra extra large screen / large desktop |
18 | -@screen-2xl: 1536px; | |
26 | +@screen-2xl: 1600px; | |
27 | +@screen-2xl-min: @screen-2xl; | |
28 | + | |
29 | +@screen-xs-max: (@screen-sm-min - 1px); | |
30 | +@screen-sm-max: (@screen-md-min - 1px); | |
31 | +@screen-md-max: (@screen-lg-min - 1px); | |
32 | +@screen-lg-max: (@screen-xl-min - 1px); | |
33 | +@screen-xl-max: (@screen-2xl-min - 1px); | |
... | ... |
src/hooks/component/useFormItem.ts
... | ... | @@ -17,7 +17,7 @@ export function useRuleFormItem<T extends Indexable>( |
17 | 17 | |
18 | 18 | const defaultState = readonly(innerState); |
19 | 19 | |
20 | - const setState = (val: UnwrapRef<T[keyof T]>) => { | |
20 | + const setState = (val: UnwrapRef<T[keyof T]>): void => { | |
21 | 21 | innerState.value = val as T[keyof T]; |
22 | 22 | }; |
23 | 23 | |
... | ... |
src/hooks/web/useECharts.ts
1 | 1 | import { useTimeoutFn } from '/@/hooks/core/useTimeout'; |
2 | 2 | import { tryOnUnmounted } from '/@/utils/helper/vueHelper'; |
3 | 3 | import { unref, Ref, nextTick } from 'vue'; |
4 | -import type { EChartsType, EChartsOption } from 'echarts'; | |
4 | +import type { EChartsOption } from 'echarts'; | |
5 | 5 | import { useDebounce } from '/@/hooks/core/useDebounce'; |
6 | 6 | import { useEventListener } from '/@/hooks/event/useEventListener'; |
7 | 7 | import { useBreakpoint } from '/@/hooks/event/useBreakpoint'; |
... | ... | @@ -12,7 +12,7 @@ export function useECharts( |
12 | 12 | elRef: Ref<HTMLDivElement>, |
13 | 13 | theme: 'light' | 'dark' | 'default' = 'light' |
14 | 14 | ) { |
15 | - let chartInstance: Nullable<EChartsType> = null; | |
15 | + let chartInstance: echarts.ECharts | null = null; | |
16 | 16 | let resizeFn: Fn = resize; |
17 | 17 | let removeResizeFn: Fn = () => {}; |
18 | 18 | |
... | ... |
src/hooks/web/useHeight.ts deleted
100644 → 0
1 | -import { Ref, ref, onMounted, nextTick } from 'vue'; | |
2 | -import { useRect } from '/@/hooks/web/useRect'; | |
3 | -export const useHeight = (element: Element | Ref<Element>) => { | |
4 | - const height = ref(); | |
5 | - | |
6 | - onMounted(() => { | |
7 | - nextTick(() => { | |
8 | - height.value = useRect(element).height; | |
9 | - }); | |
10 | - }); | |
11 | - | |
12 | - return height; | |
13 | -}; |
src/hooks/web/useI18n.ts
... | ... | @@ -11,23 +11,24 @@ type I18nGlobalTranslation = { |
11 | 11 | |
12 | 12 | type I18nTranslationRestParameters = [string, any]; |
13 | 13 | |
14 | +function getKey(namespace: string | undefined, key: string) { | |
15 | + if (!namespace) { | |
16 | + return key; | |
17 | + } | |
18 | + if (key.startsWith(namespace)) { | |
19 | + return key; | |
20 | + } | |
21 | + return `${namespace}.${key}`; | |
22 | +} | |
23 | + | |
14 | 24 | export function useI18n( |
15 | 25 | namespace?: string |
16 | 26 | ): { |
17 | 27 | t: I18nGlobalTranslation; |
18 | 28 | } { |
19 | - function getKey(key: string) { | |
20 | - if (!namespace) { | |
21 | - return key; | |
22 | - } | |
23 | - if (key.startsWith(namespace)) { | |
24 | - return key; | |
25 | - } | |
26 | - return `${namespace}.${key}`; | |
27 | - } | |
28 | 29 | const normalFn = { |
29 | 30 | t: (key: string) => { |
30 | - return getKey(key); | |
31 | + return getKey(namespace, key); | |
31 | 32 | }, |
32 | 33 | }; |
33 | 34 | |
... | ... | @@ -39,7 +40,7 @@ export function useI18n( |
39 | 40 | |
40 | 41 | const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => { |
41 | 42 | if (!key) return ''; |
42 | - return t(getKey(key), ...(arg as I18nTranslationRestParameters)); | |
43 | + return t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters)); | |
43 | 44 | }; |
44 | 45 | return { |
45 | 46 | ...methods, |
... | ... |
src/hooks/web/useRect.ts deleted
100644 → 0
1 | -import { Ref, unref } from 'vue'; | |
2 | -import { isWindow } from '/@/utils/is'; | |
3 | - | |
4 | -export const useRect = (elementRef: (Element | Window) | Ref<Element | Window | undefined>) => { | |
5 | - const element = unref(elementRef); | |
6 | - | |
7 | - if (isWindow(element)) { | |
8 | - const width = element.innerWidth; | |
9 | - const height = element.innerHeight; | |
10 | - | |
11 | - return { | |
12 | - top: 0, | |
13 | - left: 0, | |
14 | - right: width, | |
15 | - bottom: height, | |
16 | - width, | |
17 | - height, | |
18 | - }; | |
19 | - } | |
20 | - | |
21 | - if (element && element.getBoundingClientRect) { | |
22 | - return element.getBoundingClientRect(); | |
23 | - } | |
24 | - | |
25 | - return { | |
26 | - top: 0, | |
27 | - left: 0, | |
28 | - right: 0, | |
29 | - bottom: 0, | |
30 | - width: 0, | |
31 | - height: 0, | |
32 | - }; | |
33 | -}; |
src/layouts/default/header/components/user-dropdown/index.vue
1 | 1 | <template> |
2 | 2 | <Dropdown placement="bottomLeft" :overlayClassName="`${prefixCls}-dropdown-overlay`"> |
3 | - <span :class="[prefixCls, `${prefixCls}--${theme}`]"> | |
3 | + <span :class="[prefixCls, `${prefixCls}--${theme}`]" class="flex"> | |
4 | 4 | <img :class="`${prefixCls}__header`" :src="headerImg" /> |
5 | - <span :class="`${prefixCls}__info`"> | |
6 | - <span :class="`${prefixCls}__name`" class="truncate">{{ getUserInfo.realName }}</span> | |
5 | + <span :class="`${prefixCls}__info hidden md:block`"> | |
6 | + <span :class="`${prefixCls}__name `" class="truncate"> | |
7 | + {{ getUserInfo.realName }} | |
8 | + </span> | |
7 | 9 | </span> |
8 | 10 | </span> |
9 | 11 | |
... | ... | @@ -121,9 +123,7 @@ |
121 | 123 | @prefix-cls: ~'@{namespace}-header-user-dropdown'; |
122 | 124 | |
123 | 125 | .@{prefix-cls} { |
124 | - display: flex; | |
125 | 126 | height: @header-height; |
126 | - min-width: 100px; | |
127 | 127 | padding: 0 0 0 10px; |
128 | 128 | padding-right: 10px; |
129 | 129 | overflow: hidden; |
... | ... |
src/main.ts
src/router/constant.ts
... | ... | @@ -2,7 +2,9 @@ import type { AppRouteRecordRaw } from '/@/router/types'; |
2 | 2 | import ParentLayout from '/@/layouts/page/ParentView.vue'; |
3 | 3 | import { t } from '/@/hooks/web/useI18n'; |
4 | 4 | |
5 | -const EXCEPTION_COMPONENT = () => import('../views/sys/exception/Exception.vue'); | |
5 | +export const REDIRECT_NAME = 'Redirect'; | |
6 | + | |
7 | +export const EXCEPTION_COMPONENT = () => import('../views/sys/exception/Exception.vue'); | |
6 | 8 | |
7 | 9 | /** |
8 | 10 | * @description: default layout |
... | ... | @@ -44,8 +46,6 @@ export const PAGE_NOT_FOUND_ROUTE: AppRouteRecordRaw = { |
44 | 46 | ], |
45 | 47 | }; |
46 | 48 | |
47 | -export const REDIRECT_NAME = 'Redirect'; | |
48 | - | |
49 | 49 | export const REDIRECT_ROUTE: AppRouteRecordRaw = { |
50 | 50 | path: '/redirect', |
51 | 51 | name: REDIRECT_NAME, |
... | ... |
src/router/guard/httpGuard.ts
... | ... | @@ -2,6 +2,10 @@ import type { Router } from 'vue-router'; |
2 | 2 | import { useProjectSetting } from '/@/hooks/setting'; |
3 | 3 | import { AxiosCanceler } from '/@/utils/http/axios/axiosCancel'; |
4 | 4 | |
5 | +/** | |
6 | + * The interface used to close the current page to complete the request when the route is switched | |
7 | + * @param router | |
8 | + */ | |
5 | 9 | export function createHttpGuard(router: Router) { |
6 | 10 | const { removeAllHttpPending } = useProjectSetting(); |
7 | 11 | let axiosCanceler: Nullable<AxiosCanceler>; |
... | ... |
src/router/guard/messageGuard.ts
... | ... | @@ -4,6 +4,10 @@ import { Modal, notification } from 'ant-design-vue'; |
4 | 4 | |
5 | 5 | import { warn } from '/@/utils/log'; |
6 | 6 | |
7 | +/** | |
8 | + * Used to close the message instance when the route is switched | |
9 | + * @param router | |
10 | + */ | |
7 | 11 | export function createMessageGuard(router: Router) { |
8 | 12 | const { closeMessageOnSwitch } = useProjectSetting(); |
9 | 13 | |
... | ... |
src/router/index.ts
... | ... | @@ -6,7 +6,6 @@ import { createRouter, createWebHashHistory } from 'vue-router'; |
6 | 6 | import { createGuard } from './guard/'; |
7 | 7 | |
8 | 8 | import { basicRoutes } from './routes/'; |
9 | -import { scrollBehavior } from './scrollBehavior'; | |
10 | 9 | import { REDIRECT_NAME } from './constant'; |
11 | 10 | |
12 | 11 | // app router |
... | ... | @@ -14,7 +13,7 @@ const router = createRouter({ |
14 | 13 | history: createWebHashHistory(), |
15 | 14 | routes: (basicRoutes as unknown) as RouteRecordRaw[], |
16 | 15 | strict: true, |
17 | - scrollBehavior: scrollBehavior, | |
16 | + scrollBehavior: () => ({ left: 0, top: 0 }), | |
18 | 17 | }); |
19 | 18 | |
20 | 19 | // reset router |
... | ... |
src/router/scrollBehavior.ts deleted
100644 → 0
1 | -// see https://github.com/vuejs/vue-router-next/blob/master/playground/scrollWaiter.ts | |
2 | -import type { RouteLocationNormalized } from 'vue-router'; | |
3 | -// class ScrollQueue { | |
4 | -// private resolve: (() => void) | null = null; | |
5 | -// private promise: Promise<any> | null = null; | |
6 | - | |
7 | -// add() { | |
8 | -// this.promise = new Promise((resolve) => { | |
9 | -// this.resolve = resolve as () => void; | |
10 | -// }); | |
11 | -// } | |
12 | - | |
13 | -// flush() { | |
14 | -// this.resolve && this.resolve(); | |
15 | -// this.resolve = null; | |
16 | -// this.promise = null; | |
17 | -// } | |
18 | - | |
19 | -// async wait() { | |
20 | -// await this.promise; | |
21 | -// } | |
22 | -// } | |
23 | -// const scrollWaiter = new ScrollQueue(); | |
24 | - | |
25 | -/** | |
26 | - * Handles the scroll behavior on route navigation | |
27 | - * | |
28 | - * @param {object} to Route object of next page | |
29 | - * @param {object} from Route object of previous page | |
30 | - * @param {object} savedPosition Used by popstate navigations | |
31 | - * @returns {(object|boolean)} Scroll position or `false` | |
32 | - */ | |
33 | -// @ts-ignore | |
34 | -export async function scrollBehavior(to, from, savedPosition) { | |
35 | - // await scrollWaiter.wait(); | |
36 | - // Use predefined scroll behavior if defined, defaults to no scroll behavior | |
37 | - const behavior = 'smooth'; | |
38 | - // Returning the `savedPosition` (if available) will result in a native-like | |
39 | - // behavior when navigating with back/forward buttons | |
40 | - if (savedPosition) { | |
41 | - return { ...savedPosition, behavior }; | |
42 | - } | |
43 | - | |
44 | - // Scroll to anchor by returning the selector | |
45 | - if (to.hash) { | |
46 | - return { el: decodeURI(to.hash), behavior }; | |
47 | - } | |
48 | - | |
49 | - // Check if any matched route config has meta that discourages scrolling to top | |
50 | - if (to.matched.some((m: RouteLocationNormalized) => m.meta.scrollToTop === false)) { | |
51 | - // Leave scroll as it is | |
52 | - return false; | |
53 | - } | |
54 | - | |
55 | - // Always scroll to top | |
56 | - return { left: 0, top: 0, behavior }; | |
57 | -} |
src/router/types.ts
... | ... | @@ -89,12 +89,5 @@ export interface MenuModule { |
89 | 89 | menu: Menu; |
90 | 90 | } |
91 | 91 | |
92 | -// interface RouteModule { | |
93 | -// layout: AppRouteRecordRaw; | |
94 | -// routes: AppRouteRecordRaw[]; | |
95 | -// children?: AppRouteRecordRaw[]; | |
96 | -// component?: Component; | |
97 | -// } | |
98 | - | |
99 | 92 | // export type AppRouteModule = RouteModule | AppRouteRecordRaw; |
100 | 93 | export type AppRouteModule = AppRouteRecordRaw; |
... | ... |
src/store/index.ts
1 | 1 | import type { App } from 'vue'; |
2 | -import { | |
3 | - createStore, | |
4 | - // createLogger, Plugin | |
5 | -} from 'vuex'; | |
2 | +import { createStore } from 'vuex'; | |
6 | 3 | import { config } from 'vuex-module-decorators'; |
7 | 4 | import { isDevMode } from '/@/utils/env'; |
8 | 5 | |
9 | 6 | config.rawError = true; |
10 | -const isDev = isDevMode(); | |
11 | -// const plugins: Plugin<any>[] = isDev ? [createLogger()] : []; | |
12 | 7 | |
13 | 8 | const store = createStore({ |
14 | - // modules: {}, | |
15 | - strict: isDev, | |
16 | - // plugins, | |
9 | + strict: isDevMode(), | |
17 | 10 | }); |
18 | 11 | |
19 | 12 | export function setupStore(app: App<Element>) { |
... | ... |
src/utils/encryption/aesEncryption.ts
1 | 1 | import CryptoES from 'crypto-es'; |
2 | + | |
2 | 3 | export interface EncryptionParams { |
3 | 4 | key: string; |
4 | 5 | iv: string; |
5 | 6 | } |
7 | + | |
6 | 8 | export class Encryption { |
7 | 9 | private key; |
8 | 10 | |
... | ... | @@ -16,7 +18,7 @@ export class Encryption { |
16 | 18 | |
17 | 19 | get getOptions(): CryptoES.lib.CipherCfg { |
18 | 20 | return { |
19 | - mode: CryptoES.mode.CBC as any, | |
21 | + mode: CryptoES.mode.CBC, | |
20 | 22 | padding: CryptoES.pad.Pkcs7, |
21 | 23 | iv: this.iv, |
22 | 24 | }; |
... | ... |
src/views/sys/login/ForgetPasswordForm.vue
1 | 1 | <template> |
2 | - <Form class="p-4" :model="formData" :rules="getFormRules" ref="formRef"> | |
3 | - <FormItem name="account" class="enter-x"> | |
4 | - <Input size="large" v-model:value="formData.account" :placeholder="t('sys.login.userName')" /> | |
5 | - </FormItem> | |
2 | + <template v-if="getShow"> | |
3 | + <LoginFormTitle class="enter-x" /> | |
4 | + <Form class="p-4 enter-x" :model="formData" :rules="getFormRules" ref="formRef"> | |
5 | + <FormItem name="account" class="enter-x"> | |
6 | + <Input | |
7 | + size="large" | |
8 | + v-model:value="formData.account" | |
9 | + :placeholder="t('sys.login.userName')" | |
10 | + /> | |
11 | + </FormItem> | |
6 | 12 | |
7 | - <FormItem name="mobile" class="enter-x"> | |
8 | - <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
9 | - </FormItem> | |
10 | - <FormItem name="sms" class="enter-x"> | |
11 | - <CountdownInput | |
12 | - size="large" | |
13 | - v-model:value="formData.sms" | |
14 | - :placeholder="t('sys.login.smsCode')" | |
15 | - /> | |
16 | - </FormItem> | |
13 | + <FormItem name="mobile" class="enter-x"> | |
14 | + <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
15 | + </FormItem> | |
16 | + <FormItem name="sms" class="enter-x"> | |
17 | + <CountdownInput | |
18 | + size="large" | |
19 | + v-model:value="formData.sms" | |
20 | + :placeholder="t('sys.login.smsCode')" | |
21 | + /> | |
22 | + </FormItem> | |
17 | 23 | |
18 | - <FormItem class="enter-x"> | |
19 | - <Button | |
20 | - type="primary" | |
21 | - size="large" | |
22 | - block | |
23 | - @click="handleReset" | |
24 | - :loading="loading" | |
25 | - class="enter-x" | |
26 | - > | |
27 | - {{ t('common.resetText') }} | |
28 | - </Button> | |
29 | - <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin"> | |
30 | - {{ t('sys.login.backSignIn') }} | |
31 | - </Button> | |
32 | - </FormItem> | |
33 | - </Form> | |
24 | + <FormItem class="enter-x"> | |
25 | + <Button type="primary" size="large" block @click="handleReset" :loading="loading"> | |
26 | + {{ t('common.resetText') }} | |
27 | + </Button> | |
28 | + <Button size="large" block class="mt-4" @click="handleBackLogin"> | |
29 | + {{ t('sys.login.backSignIn') }} | |
30 | + </Button> | |
31 | + </FormItem> | |
32 | + </Form> | |
33 | + </template> | |
34 | 34 | </template> |
35 | 35 | <script lang="ts"> |
36 | - import { defineComponent, reactive, ref } from 'vue'; | |
36 | + import { defineComponent, reactive, ref, computed, unref } from 'vue'; | |
37 | 37 | |
38 | + import LoginFormTitle from './LoginFormTitle.vue'; | |
38 | 39 | import { Form, Input, Button } from 'ant-design-vue'; |
39 | 40 | import { CountdownInput } from '/@/components/CountDown'; |
40 | 41 | |
41 | 42 | import { useI18n } from '/@/hooks/web/useI18n'; |
42 | - import { LoginStateEnum, useLoginState, useFormRules, useFormValid } from './useLogin'; | |
43 | + import { useLoginState, useFormRules, useFormValid, LoginStateEnum } from './useLogin'; | |
43 | 44 | |
44 | 45 | export default defineComponent({ |
45 | 46 | name: 'ForgetPasswordForm', |
... | ... | @@ -49,10 +50,11 @@ |
49 | 50 | FormItem: Form.Item, |
50 | 51 | Input, |
51 | 52 | CountdownInput, |
53 | + LoginFormTitle, | |
52 | 54 | }, |
53 | 55 | setup() { |
54 | 56 | const { t } = useI18n(); |
55 | - const { setLoginState } = useLoginState(); | |
57 | + const { handleBackLogin, getLoginState } = useLoginState(); | |
56 | 58 | const { getFormRules } = useFormRules(); |
57 | 59 | |
58 | 60 | const formRef = ref<any>(null); |
... | ... | @@ -66,16 +68,14 @@ |
66 | 68 | |
67 | 69 | const { validForm } = useFormValid(formRef); |
68 | 70 | |
71 | + const getShow = computed(() => unref(getLoginState) === LoginStateEnum.RESET_PASSWORD); | |
72 | + | |
69 | 73 | async function handleReset() { |
70 | 74 | const data = await validForm(); |
71 | 75 | if (!data) return; |
72 | 76 | console.log(data); |
73 | 77 | } |
74 | 78 | |
75 | - function handleBackLogin() { | |
76 | - setLoginState(LoginStateEnum.LOGIN); | |
77 | - } | |
78 | - | |
79 | 79 | return { |
80 | 80 | t, |
81 | 81 | formRef, |
... | ... | @@ -84,6 +84,7 @@ |
84 | 84 | handleReset, |
85 | 85 | loading, |
86 | 86 | handleBackLogin, |
87 | + getShow, | |
87 | 88 | }; |
88 | 89 | }, |
89 | 90 | }); |
... | ... |
src/views/sys/login/Login.vue
... | ... | @@ -9,7 +9,7 @@ |
9 | 9 | <AppLogo :alwaysShowTitle="true" /> |
10 | 10 | </span> |
11 | 11 | |
12 | - <div class="container relative h-full py-2 mx-auto sm:px-10"> | |
12 | + <div class="container relative h-full py-2 mx-auto sm:px-10 -enter-x"> | |
13 | 13 | <div class="flex h-full"> |
14 | 14 | <div class="hidden xl:flex xl:flex-col xl:w-6/12 min-h-full mr-4 pl-4"> |
15 | 15 | <AppLogo class="-enter-x" /> |
... | ... | @@ -31,14 +31,11 @@ |
31 | 31 | <div |
32 | 32 | class="my-auto mx-auto xl:ml-20 bg-white xl:bg-transparent px-5 py-8 sm:px-8 xl:p-0 rounded-md shadow-md xl:shadow-none w-full sm:w-3/4 lg:w-2/4 xl:w-auto enter-x relative" |
33 | 33 | > |
34 | - <h2 class="font-bold text-2xl xl:text-3xl enter-x text-center xl:text-left mb-6"> | |
35 | - {{ getFormTitle }} | |
36 | - </h2> | |
37 | - <LoginForm v-show="getShowLogin" /> | |
38 | - <ForgetPasswordForm v-if="getShowResetPassword" /> | |
39 | - <RegisterForm v-if="getShowRegister" /> | |
40 | - <MobileForm v-if="getShowMobile" /> | |
41 | - <QrCodeForm v-if="getShowQrCode" /> | |
34 | + <LoginForm /> | |
35 | + <ForgetPasswordForm /> | |
36 | + <RegisterForm /> | |
37 | + <MobileForm /> | |
38 | + <QrCodeForm /> | |
42 | 39 | </div> |
43 | 40 | </div> |
44 | 41 | </div> |
... | ... | @@ -59,7 +56,6 @@ |
59 | 56 | import { useGlobSetting, useProjectSetting } from '/@/hooks/setting'; |
60 | 57 | import { useI18n } from '/@/hooks/web/useI18n'; |
61 | 58 | import { useDesign } from '/@/hooks/web/useDesign'; |
62 | - import { useShowLoginForm, useFormTitle } from './useLogin'; | |
63 | 59 | |
64 | 60 | export default defineComponent({ |
65 | 61 | name: 'Login', |
... | ... | @@ -74,7 +70,6 @@ |
74 | 70 | }, |
75 | 71 | setup() { |
76 | 72 | const globSetting = useGlobSetting(); |
77 | - const { getFormTitle } = useFormTitle(); | |
78 | 73 | const { prefixCls } = useDesign('login'); |
79 | 74 | const { locale } = useProjectSetting(); |
80 | 75 | const { t } = useI18n(); |
... | ... | @@ -84,8 +79,6 @@ |
84 | 79 | prefixCls, |
85 | 80 | title: computed(() => globSetting?.title ?? ''), |
86 | 81 | showLocale: computed(() => locale.show), |
87 | - getFormTitle, | |
88 | - ...useShowLoginForm(), | |
89 | 82 | }; |
90 | 83 | }, |
91 | 84 | }); |
... | ... |
src/views/sys/login/LoginForm.vue
1 | 1 | <template> |
2 | - <Form class="p-4" :model="formData" :rules="getFormRules" ref="formRef"> | |
2 | + <LoginFormTitle v-show="getShow" class="enter-x" /> | |
3 | + <Form class="p-4 enter-x" :model="formData" :rules="getFormRules" ref="formRef" v-show="getShow"> | |
3 | 4 | <FormItem name="account" class="enter-x"> |
4 | 5 | <Input size="large" v-model:value="formData.account" :placeholder="t('sys.login.userName')" /> |
5 | 6 | </FormItem> |
... | ... | @@ -32,14 +33,7 @@ |
32 | 33 | </ARow> |
33 | 34 | |
34 | 35 | <FormItem class="enter-x"> |
35 | - <Button | |
36 | - type="primary" | |
37 | - size="large" | |
38 | - block | |
39 | - @click="handleLogin" | |
40 | - :loading="loading" | |
41 | - class="enter-x" | |
42 | - > | |
36 | + <Button type="primary" size="large" block @click="handleLogin" :loading="loading"> | |
43 | 37 | {{ t('sys.login.loginButton') }} |
44 | 38 | </Button> |
45 | 39 | <!-- <Button size="large" class="mt-4 enter-x" block @click="handleRegister"> |
... | ... | @@ -64,7 +58,7 @@ |
64 | 58 | </ACol> |
65 | 59 | </ARow> |
66 | 60 | |
67 | - <Divider>{{ t('sys.login.otherSignIn') }}</Divider> | |
61 | + <Divider class="enter-x">{{ t('sys.login.otherSignIn') }}</Divider> | |
68 | 62 | |
69 | 63 | <div class="flex justify-evenly enter-x" :class="`${prefixCls}-sign-in-way`"> |
70 | 64 | <GithubFilled /> |
... | ... | @@ -76,7 +70,7 @@ |
76 | 70 | </Form> |
77 | 71 | </template> |
78 | 72 | <script lang="ts"> |
79 | - import { defineComponent, reactive, ref, toRaw } from 'vue'; | |
73 | + import { defineComponent, reactive, ref, toRaw, unref, computed } from 'vue'; | |
80 | 74 | |
81 | 75 | import { Checkbox, Form, Input, Row, Col, Button, Divider } from 'ant-design-vue'; |
82 | 76 | import { |
... | ... | @@ -86,6 +80,7 @@ |
86 | 80 | GoogleCircleFilled, |
87 | 81 | TwitterCircleFilled, |
88 | 82 | } from '@ant-design/icons-vue'; |
83 | + import LoginFormTitle from './LoginFormTitle.vue'; | |
89 | 84 | |
90 | 85 | import { useI18n } from '/@/hooks/web/useI18n'; |
91 | 86 | import { useMessage } from '/@/hooks/web/useMessage'; |
... | ... | @@ -97,15 +92,16 @@ |
97 | 92 | export default defineComponent({ |
98 | 93 | name: 'LoginForm', |
99 | 94 | components: { |
95 | + [Col.name]: Col, | |
96 | + [Row.name]: Row, | |
100 | 97 | Checkbox, |
101 | 98 | Button, |
102 | 99 | Form, |
103 | 100 | FormItem: Form.Item, |
104 | 101 | Input, |
105 | 102 | Divider, |
103 | + LoginFormTitle, | |
106 | 104 | InputPassword: Input.Password, |
107 | - [Col.name]: Col, | |
108 | - [Row.name]: Row, | |
109 | 105 | GithubFilled, |
110 | 106 | WechatFilled, |
111 | 107 | AlipayCircleFilled, |
... | ... | @@ -117,7 +113,7 @@ |
117 | 113 | const { notification } = useMessage(); |
118 | 114 | const { prefixCls } = useDesign('login'); |
119 | 115 | |
120 | - const { setLoginState } = useLoginState(); | |
116 | + const { setLoginState, getLoginState } = useLoginState(); | |
121 | 117 | const { getFormRules } = useFormRules(); |
122 | 118 | |
123 | 119 | const formRef = ref<any>(null); |
... | ... | @@ -131,6 +127,8 @@ |
131 | 127 | |
132 | 128 | const { validForm } = useFormValid(formRef); |
133 | 129 | |
130 | + const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN); | |
131 | + | |
134 | 132 | async function handleLogin() { |
135 | 133 | const data = await validForm(); |
136 | 134 | if (!data) return; |
... | ... | @@ -165,6 +163,7 @@ |
165 | 163 | loading, |
166 | 164 | setLoginState, |
167 | 165 | LoginStateEnum, |
166 | + getShow, | |
168 | 167 | }; |
169 | 168 | }, |
170 | 169 | }); |
... | ... |
src/views/sys/login/LoginFormTitle.vue
0 → 100644
1 | +<template> | |
2 | + <h2 class="font-bold text-2xl xl:text-3xl enter-x text-center xl:text-left mb-6"> | |
3 | + {{ getFormTitle }} | |
4 | + </h2> | |
5 | +</template> | |
6 | +<script lang="ts"> | |
7 | + import { defineComponent, computed, unref } from 'vue'; | |
8 | + | |
9 | + import { useI18n } from '/@/hooks/web/useI18n'; | |
10 | + import { LoginStateEnum, useLoginState } from './useLogin'; | |
11 | + | |
12 | + export default defineComponent({ | |
13 | + name: 'LoginFormTitle', | |
14 | + setup() { | |
15 | + const { t } = useI18n(); | |
16 | + | |
17 | + const { getLoginState } = useLoginState(); | |
18 | + | |
19 | + const getFormTitle = computed(() => { | |
20 | + const titleObj = { | |
21 | + [LoginStateEnum.RESET_PASSWORD]: t('sys.login.forgetFormTitle'), | |
22 | + [LoginStateEnum.LOGIN]: t('sys.login.signInFormTitle'), | |
23 | + [LoginStateEnum.REGISTER]: t('sys.login.signUpFormTitle'), | |
24 | + [LoginStateEnum.MOBILE]: t('sys.login.mobileSignInFormTitle'), | |
25 | + [LoginStateEnum.QR_CODE]: t('sys.login.qrSignInFormTitle'), | |
26 | + }; | |
27 | + return titleObj[unref(getLoginState)]; | |
28 | + }); | |
29 | + | |
30 | + return { | |
31 | + getFormTitle, | |
32 | + }; | |
33 | + }, | |
34 | + }); | |
35 | +</script> | |
... | ... |
src/views/sys/login/MobileForm.vue
1 | 1 | <template> |
2 | - <Form class="p-4" :model="formData" :rules="getFormRules" ref="formRef"> | |
3 | - <FormItem name="mobile" class="enter-x"> | |
4 | - <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
5 | - </FormItem> | |
6 | - <FormItem name="sms" class="enter-x"> | |
7 | - <CountdownInput | |
8 | - size="large" | |
9 | - v-model:value="formData.sms" | |
10 | - :placeholder="t('sys.login.smsCode')" | |
11 | - /> | |
12 | - </FormItem> | |
2 | + <template v-if="getShow"> | |
3 | + <LoginFormTitle class="enter-x" /> | |
4 | + <Form class="p-4 enter-x" :model="formData" :rules="getFormRules" ref="formRef"> | |
5 | + <FormItem name="mobile" class="enter-x"> | |
6 | + <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
7 | + </FormItem> | |
8 | + <FormItem name="sms" class="enter-x"> | |
9 | + <CountdownInput | |
10 | + size="large" | |
11 | + v-model:value="formData.sms" | |
12 | + :placeholder="t('sys.login.smsCode')" | |
13 | + /> | |
14 | + </FormItem> | |
13 | 15 | |
14 | - <FormItem class="enter-x"> | |
15 | - <Button | |
16 | - type="primary" | |
17 | - size="large" | |
18 | - block | |
19 | - @click="handleLogin" | |
20 | - :loading="loading" | |
21 | - class="enter-x" | |
22 | - > | |
23 | - {{ t('sys.login.loginButton') }} | |
24 | - </Button> | |
25 | - <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin"> | |
26 | - {{ t('sys.login.backSignIn') }} | |
27 | - </Button> | |
28 | - </FormItem> | |
29 | - </Form> | |
16 | + <FormItem class="enter-x"> | |
17 | + <Button type="primary" size="large" block @click="handleLogin" :loading="loading"> | |
18 | + {{ t('sys.login.loginButton') }} | |
19 | + </Button> | |
20 | + <Button size="large" block class="mt-4" @click="handleBackLogin"> | |
21 | + {{ t('sys.login.backSignIn') }} | |
22 | + </Button> | |
23 | + </FormItem> | |
24 | + </Form> | |
25 | + </template> | |
30 | 26 | </template> |
31 | 27 | <script lang="ts"> |
32 | - import { defineComponent, reactive, ref } from 'vue'; | |
28 | + import { defineComponent, reactive, ref, computed, unref } from 'vue'; | |
33 | 29 | |
34 | 30 | import { Form, Input, Button } from 'ant-design-vue'; |
35 | 31 | import { CountdownInput } from '/@/components/CountDown'; |
32 | + import LoginFormTitle from './LoginFormTitle.vue'; | |
36 | 33 | |
37 | 34 | import { useI18n } from '/@/hooks/web/useI18n'; |
38 | - import { LoginStateEnum, useLoginState, useFormRules, useFormValid } from './useLogin'; | |
35 | + import { useLoginState, useFormRules, useFormValid, LoginStateEnum } from './useLogin'; | |
39 | 36 | |
40 | 37 | export default defineComponent({ |
41 | 38 | name: 'MobileForm', |
... | ... | @@ -45,10 +42,11 @@ |
45 | 42 | FormItem: Form.Item, |
46 | 43 | Input, |
47 | 44 | CountdownInput, |
45 | + LoginFormTitle, | |
48 | 46 | }, |
49 | 47 | setup() { |
50 | 48 | const { t } = useI18n(); |
51 | - const { setLoginState } = useLoginState(); | |
49 | + const { handleBackLogin, getLoginState } = useLoginState(); | |
52 | 50 | const { getFormRules } = useFormRules(); |
53 | 51 | |
54 | 52 | const formRef = ref<any>(null); |
... | ... | @@ -61,16 +59,14 @@ |
61 | 59 | |
62 | 60 | const { validForm } = useFormValid(formRef); |
63 | 61 | |
62 | + const getShow = computed(() => unref(getLoginState) === LoginStateEnum.MOBILE); | |
63 | + | |
64 | 64 | async function handleLogin() { |
65 | 65 | const data = await validForm(); |
66 | 66 | if (!data) return; |
67 | 67 | console.log(data); |
68 | 68 | } |
69 | 69 | |
70 | - function handleBackLogin() { | |
71 | - setLoginState(LoginStateEnum.LOGIN); | |
72 | - } | |
73 | - | |
74 | 70 | return { |
75 | 71 | t, |
76 | 72 | formRef, |
... | ... | @@ -79,6 +75,7 @@ |
79 | 75 | handleLogin, |
80 | 76 | loading, |
81 | 77 | handleBackLogin, |
78 | + getShow, | |
82 | 79 | }; |
83 | 80 | }, |
84 | 81 | }); |
... | ... |
src/views/sys/login/QrCodeForm.vue
1 | 1 | <template> |
2 | - <div class="enter-x min-w-64 min-h-64"> | |
3 | - <QrCode :value="qrCodeUrl" class="enter-x flex justify-center xl:justify-start" :width="280" /> | |
4 | - <Divider>{{ t('sys.login.scanSign') }}</Divider> | |
5 | - <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin"> | |
6 | - {{ t('sys.login.backSignIn') }} | |
7 | - </Button> | |
8 | - </div> | |
2 | + <template v-if="getShow"> | |
3 | + <LoginFormTitle class="enter-x" /> | |
4 | + <div class="enter-x min-w-64 min-h-64"> | |
5 | + <QrCode | |
6 | + :value="qrCodeUrl" | |
7 | + class="enter-x flex justify-center xl:justify-start" | |
8 | + :width="280" | |
9 | + /> | |
10 | + <Divider class="enter-x">{{ t('sys.login.scanSign') }}</Divider> | |
11 | + <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin"> | |
12 | + {{ t('sys.login.backSignIn') }} | |
13 | + </Button> | |
14 | + </div> | |
15 | + </template> | |
9 | 16 | </template> |
10 | 17 | <script lang="ts"> |
11 | - import { defineComponent } from 'vue'; | |
18 | + import { defineComponent, computed, unref } from 'vue'; | |
12 | 19 | |
20 | + import LoginFormTitle from './LoginFormTitle.vue'; | |
13 | 21 | import { Button, Divider } from 'ant-design-vue'; |
22 | + import { QrCode } from '/@/components/Qrcode/index'; | |
14 | 23 | |
15 | 24 | import { useI18n } from '/@/hooks/web/useI18n'; |
16 | - import { LoginStateEnum, useLoginState } from './useLogin'; | |
17 | - import { QrCode } from '/@/components/Qrcode/index'; | |
25 | + import { useLoginState, LoginStateEnum } from './useLogin'; | |
26 | + | |
18 | 27 | const qrCodeUrl = 'https://vvbin.cn/next/login'; |
19 | 28 | export default defineComponent({ |
20 | 29 | name: 'QrCodeForm', |
... | ... | @@ -22,18 +31,19 @@ |
22 | 31 | Button, |
23 | 32 | QrCode, |
24 | 33 | Divider, |
34 | + LoginFormTitle, | |
25 | 35 | }, |
26 | 36 | setup() { |
27 | 37 | const { t } = useI18n(); |
28 | - const { setLoginState } = useLoginState(); | |
38 | + const { handleBackLogin, getLoginState } = useLoginState(); | |
39 | + | |
40 | + const getShow = computed(() => unref(getLoginState) === LoginStateEnum.QR_CODE); | |
29 | 41 | |
30 | - function handleBackLogin() { | |
31 | - setLoginState(LoginStateEnum.LOGIN); | |
32 | - } | |
33 | 42 | return { |
34 | 43 | t, |
35 | 44 | handleBackLogin, |
36 | 45 | qrCodeUrl, |
46 | + getShow, | |
37 | 47 | }; |
38 | 48 | }, |
39 | 49 | }); |
... | ... |
src/views/sys/login/RegisterForm.vue
1 | 1 | <template> |
2 | - <Form class="p-4" :model="formData" :rules="getFormRules" ref="formRef"> | |
3 | - <FormItem name="account" class="enter-x"> | |
4 | - <Input size="large" v-model:value="formData.account" :placeholder="t('sys.login.userName')" /> | |
5 | - </FormItem> | |
6 | - <FormItem name="mobile" class="enter-x"> | |
7 | - <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
8 | - </FormItem> | |
9 | - <FormItem name="sms" class="enter-x"> | |
10 | - <CountdownInput | |
11 | - size="large" | |
12 | - v-model:value="formData.sms" | |
13 | - :placeholder="t('sys.login.smsCode')" | |
14 | - /> | |
15 | - </FormItem> | |
16 | - <FormItem name="password" class="enter-x"> | |
17 | - <StrengthMeter | |
18 | - size="large" | |
19 | - v-model:value="formData.password" | |
20 | - :placeholder="t('sys.login.password')" | |
21 | - /> | |
22 | - </FormItem> | |
23 | - <FormItem name="confirmPassword" class="enter-x"> | |
24 | - <InputPassword | |
25 | - size="large" | |
26 | - visibilityToggle | |
27 | - v-model:value="formData.confirmPassword" | |
28 | - :placeholder="t('sys.login.confirmPassword')" | |
29 | - /> | |
30 | - </FormItem> | |
2 | + <template v-if="getShow"> | |
3 | + <LoginFormTitle class="enter-x" /> | |
4 | + <Form class="p-4 enter-x" :model="formData" :rules="getFormRules" ref="formRef"> | |
5 | + <FormItem name="account" class="enter-x"> | |
6 | + <Input | |
7 | + size="large" | |
8 | + v-model:value="formData.account" | |
9 | + :placeholder="t('sys.login.userName')" | |
10 | + /> | |
11 | + </FormItem> | |
12 | + <FormItem name="mobile" class="enter-x"> | |
13 | + <Input size="large" v-model:value="formData.mobile" :placeholder="t('sys.login.mobile')" /> | |
14 | + </FormItem> | |
15 | + <FormItem name="sms" class="enter-x"> | |
16 | + <CountdownInput | |
17 | + size="large" | |
18 | + v-model:value="formData.sms" | |
19 | + :placeholder="t('sys.login.smsCode')" | |
20 | + /> | |
21 | + </FormItem> | |
22 | + <FormItem name="password" class="enter-x"> | |
23 | + <StrengthMeter | |
24 | + size="large" | |
25 | + v-model:value="formData.password" | |
26 | + :placeholder="t('sys.login.password')" | |
27 | + /> | |
28 | + </FormItem> | |
29 | + <FormItem name="confirmPassword" class="enter-x"> | |
30 | + <InputPassword | |
31 | + size="large" | |
32 | + visibilityToggle | |
33 | + v-model:value="formData.confirmPassword" | |
34 | + :placeholder="t('sys.login.confirmPassword')" | |
35 | + /> | |
36 | + </FormItem> | |
31 | 37 | |
32 | - <FormItem class="enter-x" name="policy"> | |
33 | - <!-- No logic, you need to deal with it yourself --> | |
34 | - <Checkbox v-model:checked="formData.policy" size="small"> | |
35 | - {{ t('sys.login.policy') }} | |
36 | - </Checkbox> | |
37 | - </FormItem> | |
38 | + <FormItem class="enter-x" name="policy"> | |
39 | + <!-- No logic, you need to deal with it yourself --> | |
40 | + <Checkbox v-model:checked="formData.policy" size="small"> | |
41 | + {{ t('sys.login.policy') }} | |
42 | + </Checkbox> | |
43 | + </FormItem> | |
38 | 44 | |
39 | - <Button | |
40 | - type="primary" | |
41 | - size="large" | |
42 | - block | |
43 | - @click="handleReset" | |
44 | - :loading="loading" | |
45 | - class="enter-x" | |
46 | - > | |
47 | - {{ t('sys.login.registerButton') }} | |
48 | - </Button> | |
49 | - <Button size="large" block class="mt-4 enter-x" @click="handleBackLogin"> | |
50 | - {{ t('sys.login.backSignIn') }} | |
51 | - </Button> | |
52 | - </Form> | |
45 | + <Button | |
46 | + type="primary" | |
47 | + class="enter-x" | |
48 | + size="large" | |
49 | + block | |
50 | + @click="handleReset" | |
51 | + :loading="loading" | |
52 | + > | |
53 | + {{ t('sys.login.registerButton') }} | |
54 | + </Button> | |
55 | + <Button size="large" block class="enter-x mt-4" @click="handleBackLogin"> | |
56 | + {{ t('sys.login.backSignIn') }} | |
57 | + </Button> | |
58 | + </Form> | |
59 | + </template> | |
53 | 60 | </template> |
54 | 61 | <script lang="ts"> |
55 | - import { defineComponent, reactive, ref } from 'vue'; | |
62 | + import { defineComponent, reactive, ref, unref, computed } from 'vue'; | |
56 | 63 | |
64 | + import LoginFormTitle from './LoginFormTitle.vue'; | |
57 | 65 | import { Form, Input, Button, Checkbox } from 'ant-design-vue'; |
58 | 66 | import { StrengthMeter } from '/@/components/StrengthMeter'; |
59 | 67 | import { CountdownInput } from '/@/components/CountDown'; |
60 | 68 | |
61 | 69 | import { useI18n } from '/@/hooks/web/useI18n'; |
62 | - import { LoginStateEnum, useLoginState, useFormRules, useFormValid } from './useLogin'; | |
70 | + import { useLoginState, useFormRules, useFormValid, LoginStateEnum } from './useLogin'; | |
63 | 71 | |
64 | 72 | export default defineComponent({ |
65 | 73 | name: 'RegisterPasswordForm', |
... | ... | @@ -72,10 +80,11 @@ |
72 | 80 | Checkbox, |
73 | 81 | StrengthMeter, |
74 | 82 | CountdownInput, |
83 | + LoginFormTitle, | |
75 | 84 | }, |
76 | 85 | setup() { |
77 | 86 | const { t } = useI18n(); |
78 | - const { setLoginState } = useLoginState(); | |
87 | + const { handleBackLogin, getLoginState } = useLoginState(); | |
79 | 88 | |
80 | 89 | const formRef = ref<any>(null); |
81 | 90 | const loading = ref(false); |
... | ... | @@ -92,16 +101,14 @@ |
92 | 101 | const { getFormRules } = useFormRules(formData); |
93 | 102 | const { validForm } = useFormValid(formRef); |
94 | 103 | |
104 | + const getShow = computed(() => unref(getLoginState) === LoginStateEnum.REGISTER); | |
105 | + | |
95 | 106 | async function handleReset() { |
96 | 107 | const data = await validForm(); |
97 | 108 | if (!data) return; |
98 | 109 | console.log(data); |
99 | 110 | } |
100 | 111 | |
101 | - function handleBackLogin() { | |
102 | - setLoginState(LoginStateEnum.LOGIN); | |
103 | - } | |
104 | - | |
105 | 112 | return { |
106 | 113 | t, |
107 | 114 | formRef, |
... | ... | @@ -110,6 +117,7 @@ |
110 | 117 | handleReset, |
111 | 118 | loading, |
112 | 119 | handleBackLogin, |
120 | + getShow, | |
113 | 121 | }; |
114 | 122 | }, |
115 | 123 | }); |
... | ... |
src/views/sys/login/useLogin.ts
... | ... | @@ -12,22 +12,6 @@ export enum LoginStateEnum { |
12 | 12 | |
13 | 13 | const currentState = ref(LoginStateEnum.LOGIN); |
14 | 14 | |
15 | -export function useFormTitle() { | |
16 | - const { t } = useI18n(); | |
17 | - | |
18 | - const getFormTitle = computed(() => { | |
19 | - const titleObj = { | |
20 | - [LoginStateEnum.RESET_PASSWORD]: t('sys.login.forgetFormTitle'), | |
21 | - [LoginStateEnum.LOGIN]: t('sys.login.signInFormTitle'), | |
22 | - [LoginStateEnum.REGISTER]: t('sys.login.signUpFormTitle'), | |
23 | - [LoginStateEnum.MOBILE]: t('sys.login.mobileSignInFormTitle'), | |
24 | - [LoginStateEnum.QR_CODE]: t('sys.login.qrSignInFormTitle'), | |
25 | - }; | |
26 | - return titleObj[unref(currentState)]; | |
27 | - }); | |
28 | - return { getFormTitle }; | |
29 | -} | |
30 | - | |
31 | 15 | export function useLoginState() { |
32 | 16 | function setLoginState(state: LoginStateEnum) { |
33 | 17 | currentState.value = state; |
... | ... | @@ -35,19 +19,11 @@ export function useLoginState() { |
35 | 19 | |
36 | 20 | const getLoginState = computed(() => currentState.value); |
37 | 21 | |
38 | - return { setLoginState, getLoginState }; | |
39 | -} | |
40 | - | |
41 | -export function useShowLoginForm() { | |
42 | - const getShowLogin = computed(() => unref(currentState) === LoginStateEnum.LOGIN); | |
43 | - const getShowResetPassword = computed( | |
44 | - () => unref(currentState) === LoginStateEnum.RESET_PASSWORD | |
45 | - ); | |
46 | - const getShowRegister = computed(() => unref(currentState) === LoginStateEnum.REGISTER); | |
47 | - const getShowMobile = computed(() => unref(currentState) === LoginStateEnum.MOBILE); | |
48 | - const getShowQrCode = computed(() => unref(currentState) === LoginStateEnum.QR_CODE); | |
22 | + function handleBackLogin() { | |
23 | + setLoginState(LoginStateEnum.LOGIN); | |
24 | + } | |
49 | 25 | |
50 | - return { getShowLogin, getShowResetPassword, getShowRegister, getShowMobile, getShowQrCode }; | |
26 | + return { setLoginState, getLoginState, handleBackLogin }; | |
51 | 27 | } |
52 | 28 | |
53 | 29 | export function useFormValid<T extends Object = any>(formRef: Ref<any>) { |
... | ... | @@ -96,6 +72,7 @@ export function useFormRules(formData?: Recordable) { |
96 | 72 | mobile: mobileFormRule, |
97 | 73 | }; |
98 | 74 | switch (unref(currentState)) { |
75 | + // register form rules | |
99 | 76 | case LoginStateEnum.REGISTER: |
100 | 77 | return { |
101 | 78 | account: accountFormRule, |
... | ... | @@ -106,13 +83,19 @@ export function useFormRules(formData?: Recordable) { |
106 | 83 | policy: [{ validator: validatePolicy, trigger: 'change' }], |
107 | 84 | ...mobileRule, |
108 | 85 | }; |
86 | + | |
87 | + // reset password form rules | |
109 | 88 | case LoginStateEnum.RESET_PASSWORD: |
110 | 89 | return { |
111 | 90 | account: accountFormRule, |
112 | 91 | ...mobileRule, |
113 | 92 | }; |
93 | + | |
94 | + // mobile form rules | |
114 | 95 | case LoginStateEnum.MOBILE: |
115 | 96 | return mobileRule; |
97 | + | |
98 | + // login form rules | |
116 | 99 | default: |
117 | 100 | return { |
118 | 101 | account: accountFormRule, |
... | ... |
tsconfig.json
... | ... | @@ -25,11 +25,6 @@ |
25 | 25 | "/@/*": ["src/*"] |
26 | 26 | } |
27 | 27 | }, |
28 | - "plugins": [ | |
29 | - { | |
30 | - "name": "@vuedx/typescript-plugin-vue" | |
31 | - } | |
32 | - ], | |
33 | 28 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], |
34 | 29 | "exclude": ["node_modules", "dist", "**/*.js"] |
35 | 30 | } |
... | ... |
windi.config.ts
... | ... | @@ -10,14 +10,13 @@ export default defineConfig({ |
10 | 10 | extend: { |
11 | 11 | colors, |
12 | 12 | }, |
13 | - | |
14 | - // screen: { | |
15 | - // sm: '576px', | |
16 | - // md: '768px', | |
17 | - // lg: '992px', | |
18 | - // xl: '1200px', | |
19 | - // '2xl': '1600px', | |
20 | - // }, | |
13 | + screens: { | |
14 | + sm: '576px', | |
15 | + md: '768px', | |
16 | + lg: '992px', | |
17 | + xl: '1200px', | |
18 | + '2xl': '1600px', | |
19 | + }, | |
21 | 20 | }, |
22 | 21 | }); |
23 | 22 | |
... | ... |
yarn.lock
... | ... | @@ -67,7 +67,7 @@ |
67 | 67 | semver "^5.4.1" |
68 | 68 | source-map "^0.5.0" |
69 | 69 | |
70 | -"@babel/generator@^7.12.1", "@babel/generator@^7.12.10", "@babel/generator@^7.12.11": | |
70 | +"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": | |
71 | 71 | version "7.12.11" |
72 | 72 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af" |
73 | 73 | integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== |
... | ... | @@ -278,12 +278,7 @@ |
278 | 278 | chalk "^2.0.0" |
279 | 279 | js-tokens "^4.0.0" |
280 | 280 | |
281 | -"@babel/parser@7.12.3": | |
282 | - version "7.12.3" | |
283 | - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" | |
284 | - integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== | |
285 | - | |
286 | -"@babel/parser@^7.12.0", "@babel/parser@^7.12.1", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.3", "@babel/parser@^7.12.7": | |
281 | +"@babel/parser@^7.12.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7": | |
287 | 282 | version "7.12.11" |
288 | 283 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79" |
289 | 284 | integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== |
... | ... | @@ -862,21 +857,6 @@ |
862 | 857 | "@babel/parser" "^7.12.7" |
863 | 858 | "@babel/types" "^7.12.7" |
864 | 859 | |
865 | -"@babel/traverse@7.12.1": | |
866 | - version "7.12.1" | |
867 | - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.1.tgz#941395e0c5cc86d5d3e75caa095d3924526f0c1e" | |
868 | - integrity sha512-MA3WPoRt1ZHo2ZmoGKNqi20YnPt0B1S0GTZEPhhd+hw2KGUzBlHuVunj6K4sNuK+reEvyiPwtp0cpaqLzJDmAw== | |
869 | - dependencies: | |
870 | - "@babel/code-frame" "^7.10.4" | |
871 | - "@babel/generator" "^7.12.1" | |
872 | - "@babel/helper-function-name" "^7.10.4" | |
873 | - "@babel/helper-split-export-declaration" "^7.11.0" | |
874 | - "@babel/parser" "^7.12.1" | |
875 | - "@babel/types" "^7.12.1" | |
876 | - debug "^4.1.0" | |
877 | - globals "^11.1.0" | |
878 | - lodash "^4.17.19" | |
879 | - | |
880 | 860 | "@babel/traverse@^7.0.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": |
881 | 861 | version "7.12.12" |
882 | 862 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376" |
... | ... | @@ -892,15 +872,6 @@ |
892 | 872 | globals "^11.1.0" |
893 | 873 | lodash "^4.17.19" |
894 | 874 | |
895 | -"@babel/types@7.12.1": | |
896 | - version "7.12.1" | |
897 | - resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.1.tgz#e109d9ab99a8de735be287ee3d6a9947a190c4ae" | |
898 | - integrity sha512-BzSY3NJBKM4kyatSOWh3D/JJ2O3CVzBybHWxtgxnggaxEuaSTTDqeiSb/xk9lrkw2Tbqyivw5ZU4rT+EfznQsA== | |
899 | - dependencies: | |
900 | - "@babel/helper-validator-identifier" "^7.10.4" | |
901 | - lodash "^4.17.19" | |
902 | - to-fast-properties "^2.0.0" | |
903 | - | |
904 | 875 | "@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4": |
905 | 876 | version "7.12.12" |
906 | 877 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" |
... | ... | @@ -1112,20 +1083,10 @@ |
1112 | 1083 | dependencies: |
1113 | 1084 | cross-fetch "^3.0.6" |
1114 | 1085 | |
1115 | -"@iconify/json@^1.1.306": | |
1116 | - version "1.1.306" | |
1117 | - resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.306.tgz#cad12ad858a61689009c12d3d2df0fde6a202bb9" | |
1118 | - integrity sha512-OT1H/non+J8i9BBery8VhXn2JJeUMr8iKA166wsW74UWgez2HsPnkNNdtQmZxIuAyL6FuHQ+WvDi18uD9eAo0Q== | |
1119 | - | |
1120 | -"@intlify/core-base@9.0.0-beta.16": | |
1121 | - version "9.0.0-beta.16" | |
1122 | - resolved "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.0.0-beta.16.tgz#ab35802b982f52db20d4758d020c2dcd1724e7f9" | |
1123 | - integrity sha512-PJLDVYy3x8Mf9+XtWljEfk4Lo6mudopYlRvB89NQR3TkR+Tqkbcsegj09XdXpTKBYiq+yQrlZKZ0KEHb7l5Zuw== | |
1124 | - dependencies: | |
1125 | - "@intlify/message-compiler" "9.0.0-beta.16" | |
1126 | - "@intlify/message-resolver" "9.0.0-beta.16" | |
1127 | - "@intlify/runtime" "9.0.0-beta.16" | |
1128 | - "@intlify/shared" "9.0.0-beta.16" | |
1086 | +"@iconify/json@^1.1.307": | |
1087 | + version "1.1.307" | |
1088 | + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.307.tgz#db97e8faba1183e0411471dafe210deba0cc1fe2" | |
1089 | + integrity sha512-2hyKd4DKGWNtQ9CNC4s7tRzMHyDai3GnARC26nGZo7f4/r86FTspvjCEbqpbuM5spJ1fn5jx00Iv4Qee89ooRA== | |
1129 | 1090 | |
1130 | 1091 | "@intlify/core-base@9.0.0-rc.2": |
1131 | 1092 | version "9.0.0-rc.2" |
... | ... | @@ -1137,22 +1098,6 @@ |
1137 | 1098 | "@intlify/runtime" "9.0.0-rc.2" |
1138 | 1099 | "@intlify/shared" "9.0.0-rc.2" |
1139 | 1100 | |
1140 | -"@intlify/core@^9.0.0-beta.15": | |
1141 | - version "9.0.0-beta.16" | |
1142 | - resolved "https://registry.npmjs.org/@intlify/core/-/core-9.0.0-beta.16.tgz#d74d4678868b37b641bdf999552b237d84dacb88" | |
1143 | - integrity sha512-tPXf9rr+ZzG1zXgdLo8rCO2jws6eIXzJSaTvgnanZpfyyMKE+T8Ra5vVu3f/Sm0J7flT+z/Q3kLfnbpOMQ1UiQ== | |
1144 | - dependencies: | |
1145 | - "@intlify/core-base" "9.0.0-beta.16" | |
1146 | - | |
1147 | -"@intlify/message-compiler@9.0.0-beta.16": | |
1148 | - version "9.0.0-beta.16" | |
1149 | - resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.0.0-beta.16.tgz#359993251a303f148b3a325eca055cdbaf0cd95f" | |
1150 | - integrity sha512-dE4UZsbVl5TKogYdfrJ6nQKdin1R4XMKVBVa9dE1A8HVvVHBSLy6iQiYpcw8TwcEHIa+rFjuuHuh+IdN3eCw+g== | |
1151 | - dependencies: | |
1152 | - "@intlify/message-resolver" "9.0.0-beta.16" | |
1153 | - "@intlify/shared" "9.0.0-beta.16" | |
1154 | - source-map "0.6.1" | |
1155 | - | |
1156 | 1101 | "@intlify/message-compiler@9.0.0-rc.2": |
1157 | 1102 | version "9.0.0-rc.2" |
1158 | 1103 | resolved "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.0.0-rc.2.tgz#b2ea4852af26f62e850c36157c4b8c03e7a072f4" |
... | ... | @@ -1162,25 +1107,11 @@ |
1162 | 1107 | "@intlify/shared" "9.0.0-rc.2" |
1163 | 1108 | source-map "0.6.1" |
1164 | 1109 | |
1165 | -"@intlify/message-resolver@9.0.0-beta.16": | |
1166 | - version "9.0.0-beta.16" | |
1167 | - resolved "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.0.0-beta.16.tgz#f8960344201050d17560f8d01f63e3cd0b9bf59c" | |
1168 | - integrity sha512-xwjsFuDDYEv7g1KE5QZRbrPgfsrNsDhYLtNYR7Tn4inzbmB6ipak2UlDzDcQGLieSFbe1WwAoNL0IXy4sUKboQ== | |
1169 | - | |
1170 | 1110 | "@intlify/message-resolver@9.0.0-rc.2": |
1171 | 1111 | version "9.0.0-rc.2" |
1172 | 1112 | resolved "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.0.0-rc.2.tgz#d6f5eac6dc594ebb1c5e2f68a94fd9e5429c4a15" |
1173 | 1113 | integrity sha512-CNRrIflQmq3aZWsyGu3mfR9d+xA7W0t5HZQeSh+YR9IBHxNg+2uWbYhGDab87yzovIGOnUSO9yxUdD8gBBmR9Q== |
1174 | 1114 | |
1175 | -"@intlify/runtime@9.0.0-beta.16": | |
1176 | - version "9.0.0-beta.16" | |
1177 | - resolved "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.0.0-beta.16.tgz#6a210a5b0984f9e295025e3dde5262108e0e69d9" | |
1178 | - integrity sha512-py+stHrbkBoEB2OsBB+rySevR+54uhybF54LToGjErr740R/AVuOVTJEKRS/LF9VvinGZZTu/WVOXcPpMfqt8Q== | |
1179 | - dependencies: | |
1180 | - "@intlify/message-compiler" "9.0.0-beta.16" | |
1181 | - "@intlify/message-resolver" "9.0.0-beta.16" | |
1182 | - "@intlify/shared" "9.0.0-beta.16" | |
1183 | - | |
1184 | 1115 | "@intlify/runtime@9.0.0-rc.2": |
1185 | 1116 | version "9.0.0-rc.2" |
1186 | 1117 | resolved "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.0.0-rc.2.tgz#20f83a2f57a7789a9588e42a2cf5163f6f13255b" |
... | ... | @@ -1190,11 +1121,6 @@ |
1190 | 1121 | "@intlify/message-resolver" "9.0.0-rc.2" |
1191 | 1122 | "@intlify/shared" "9.0.0-rc.2" |
1192 | 1123 | |
1193 | -"@intlify/shared@9.0.0-beta.16": | |
1194 | - version "9.0.0-beta.16" | |
1195 | - resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.0.0-beta.16.tgz#51a80ca4705c93cb14c8f06398dfc550df09d67d" | |
1196 | - integrity sha512-A7GSOovcZn/NMoAmDc8FG9uRcFv6iygriK8+C6HFeOnMQ9X+T9f5A9bPtXhCOCiRpQm9SUtGqXedxO5Y8rz9/A== | |
1197 | - | |
1198 | 1124 | "@intlify/shared@9.0.0-rc.2": |
1199 | 1125 | version "9.0.0-rc.2" |
1200 | 1126 | resolved "https://registry.npmjs.org/@intlify/shared/-/shared-9.0.0-rc.2.tgz#31f53616fe515e8629f39c179f217ca562d06256" |
... | ... | @@ -1301,74 +1227,6 @@ |
1301 | 1227 | estree-walker "^2.0.1" |
1302 | 1228 | picomatch "^2.2.2" |
1303 | 1229 | |
1304 | -"@sentry/core@5.30.0": | |
1305 | - version "5.30.0" | |
1306 | - resolved "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" | |
1307 | - integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== | |
1308 | - dependencies: | |
1309 | - "@sentry/hub" "5.30.0" | |
1310 | - "@sentry/minimal" "5.30.0" | |
1311 | - "@sentry/types" "5.30.0" | |
1312 | - "@sentry/utils" "5.30.0" | |
1313 | - tslib "^1.9.3" | |
1314 | - | |
1315 | -"@sentry/hub@5.30.0": | |
1316 | - version "5.30.0" | |
1317 | - resolved "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" | |
1318 | - integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== | |
1319 | - dependencies: | |
1320 | - "@sentry/types" "5.30.0" | |
1321 | - "@sentry/utils" "5.30.0" | |
1322 | - tslib "^1.9.3" | |
1323 | - | |
1324 | -"@sentry/minimal@5.30.0": | |
1325 | - version "5.30.0" | |
1326 | - resolved "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" | |
1327 | - integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== | |
1328 | - dependencies: | |
1329 | - "@sentry/hub" "5.30.0" | |
1330 | - "@sentry/types" "5.30.0" | |
1331 | - tslib "^1.9.3" | |
1332 | - | |
1333 | -"@sentry/node@^5.30.0": | |
1334 | - version "5.30.0" | |
1335 | - resolved "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" | |
1336 | - integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== | |
1337 | - dependencies: | |
1338 | - "@sentry/core" "5.30.0" | |
1339 | - "@sentry/hub" "5.30.0" | |
1340 | - "@sentry/tracing" "5.30.0" | |
1341 | - "@sentry/types" "5.30.0" | |
1342 | - "@sentry/utils" "5.30.0" | |
1343 | - cookie "^0.4.1" | |
1344 | - https-proxy-agent "^5.0.0" | |
1345 | - lru_map "^0.3.3" | |
1346 | - tslib "^1.9.3" | |
1347 | - | |
1348 | -"@sentry/tracing@5.30.0": | |
1349 | - version "5.30.0" | |
1350 | - resolved "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" | |
1351 | - integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== | |
1352 | - dependencies: | |
1353 | - "@sentry/hub" "5.30.0" | |
1354 | - "@sentry/minimal" "5.30.0" | |
1355 | - "@sentry/types" "5.30.0" | |
1356 | - "@sentry/utils" "5.30.0" | |
1357 | - tslib "^1.9.3" | |
1358 | - | |
1359 | -"@sentry/types@5.30.0": | |
1360 | - version "5.30.0" | |
1361 | - resolved "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" | |
1362 | - integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== | |
1363 | - | |
1364 | -"@sentry/utils@5.30.0": | |
1365 | - version "5.30.0" | |
1366 | - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" | |
1367 | - integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== | |
1368 | - dependencies: | |
1369 | - "@sentry/types" "5.30.0" | |
1370 | - tslib "^1.9.3" | |
1371 | - | |
1372 | 1230 | "@simonwep/pickr@~1.8.0": |
1373 | 1231 | version "1.8.0" |
1374 | 1232 | resolved "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.0.tgz#adbff9a4f7f0e59dec9946508c5e481b7abae0f8" |
... | ... | @@ -1405,11 +1263,6 @@ |
1405 | 1263 | ejs "^2.6.1" |
1406 | 1264 | magic-string "^0.25.0" |
1407 | 1265 | |
1408 | -"@types/braces@*": | |
1409 | - version "3.0.0" | |
1410 | - resolved "https://registry.npmjs.org/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb" | |
1411 | - integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw== | |
1412 | - | |
1413 | 1266 | "@types/estree@0.0.39": |
1414 | 1267 | version "0.0.39" |
1415 | 1268 | resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" |
... | ... | @@ -1511,13 +1364,6 @@ |
1511 | 1364 | dependencies: |
1512 | 1365 | "@types/unist" "*" |
1513 | 1366 | |
1514 | -"@types/micromatch@^4.0.1": | |
1515 | - version "4.0.1" | |
1516 | - resolved "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7" | |
1517 | - integrity sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw== | |
1518 | - dependencies: | |
1519 | - "@types/braces" "*" | |
1520 | - | |
1521 | 1367 | "@types/minimatch@*", "@types/minimatch@^3.0.3": |
1522 | 1368 | version "3.0.3" |
1523 | 1369 | resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" |
... | ... | @@ -1729,7 +1575,7 @@ |
1729 | 1575 | html-tags "^3.1.0" |
1730 | 1576 | svg-tags "^1.0.0" |
1731 | 1577 | |
1732 | -"@vue/compiler-core@3.0.5", "@vue/compiler-core@^3.0.0", "@vue/compiler-core@^3.0.1", "@vue/compiler-core@^3.0.2": | |
1578 | +"@vue/compiler-core@3.0.5": | |
1733 | 1579 | version "3.0.5" |
1734 | 1580 | resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.5.tgz#a6e54cabe9536e74c6513acd2649f311af1d43ac" |
1735 | 1581 | integrity sha512-iFXwk2gmU/GGwN4hpBwDWWMLvpkIejf/AybcFtlQ5V1ur+5jwfBaV0Y1RXoR6ePfBPJixtKZ3PmN+M+HgMAtfQ== |
... | ... | @@ -1812,134 +1658,25 @@ |
1812 | 1658 | resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz#c131d88bd6713cc4d93b3bb1372edb1983225ff0" |
1813 | 1659 | integrity sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw== |
1814 | 1660 | |
1815 | -"@vuedx/analyze@0.6.3": | |
1816 | - version "0.6.3" | |
1817 | - resolved "https://registry.npmjs.org/@vuedx/analyze/-/analyze-0.6.3.tgz#f7f367ea1a1b10e22212a4f2f89d5781f17f3c84" | |
1818 | - integrity sha512-LiQ7Ppw4nEr5qjth+gg1m48yXD7usOcAygUU10lLwfRRlDZevxAdZRcNuC0vBOXUG3xbl6CSDXnAMeWFdlUiyw== | |
1819 | - dependencies: | |
1820 | - "@babel/code-frame" "^7.10.4" | |
1821 | - "@babel/generator" "^7.12.1" | |
1822 | - "@babel/parser" "^7.12.3" | |
1823 | - "@babel/template" "^7.12.7" | |
1824 | - "@babel/traverse" "7.12.1" | |
1825 | - "@babel/types" "7.12.1" | |
1826 | - "@types/micromatch" "^4.0.1" | |
1827 | - "@vuedx/compiler-sfc" "0.6.2" | |
1828 | - "@vuedx/compiler-tsx" "0.6.3" | |
1829 | - "@vuedx/projectconfig" "0.6.2" | |
1830 | - "@vuedx/shared" "0.6.2" | |
1831 | - "@vuedx/template-ast-types" "0.6.2" | |
1832 | - cli-highlight "^2.1.4" | |
1833 | - commander "^6.1.0" | |
1834 | - fast-glob "^3.2.4" | |
1835 | - hash-sum "^2.0.0" | |
1836 | - micromatch "^4.0.2" | |
1837 | - | |
1838 | -"@vuedx/compiler-sfc@0.6.2": | |
1839 | - version "0.6.2" | |
1840 | - resolved "https://registry.npmjs.org/@vuedx/compiler-sfc/-/compiler-sfc-0.6.2.tgz#f9a0d66eb48be839d363364ed4cd96967929f3cb" | |
1841 | - integrity sha512-mJehCyO6BJiHCLPfVQQZb7RliuwBh7voGkrF27SkA3yhv44VSDaMbDIX2VRm3utl1CacFEVdNFqB9QYviZByfg== | |
1842 | - dependencies: | |
1843 | - "@vue/compiler-core" "^3.0.2" | |
1844 | - lru-cache "^6.0.0" | |
1845 | - source-map "^0.6.1" | |
1846 | - | |
1847 | -"@vuedx/compiler-tsx@0.6.3": | |
1848 | - version "0.6.3" | |
1849 | - resolved "https://registry.npmjs.org/@vuedx/compiler-tsx/-/compiler-tsx-0.6.3.tgz#d5ed641ee5c90baf3a04962f47e8c9d31d318b9a" | |
1850 | - integrity sha512-H1SSgUHQXWoTnrIxvl9uXGMUqKlWjNddp8xc+EAg7BRQ4F7kFzHTzOsafG5xzrqnmZujj8cLUknG123rWgsxIg== | |
1851 | - dependencies: | |
1852 | - "@babel/parser" "7.12.3" | |
1853 | - "@babel/types" "7.12.1" | |
1854 | - "@vue/compiler-core" "^3.0.1" | |
1855 | - "@vuedx/shared" "0.6.2" | |
1856 | - "@vuedx/template-ast-types" "0.6.2" | |
1857 | - | |
1858 | -"@vuedx/projectconfig@0.6.2": | |
1859 | - version "0.6.2" | |
1860 | - resolved "https://registry.npmjs.org/@vuedx/projectconfig/-/projectconfig-0.6.2.tgz#4c7c32fc76a5a0cb2a8a8b4c4530183d7b70decc" | |
1861 | - integrity sha512-qoekczmYpg4bOHMUduGgwGEWYq2CZL9HfztNzSPaJnErTBc4VNFnCBLsAtFPLkILASh6vzE2m/EpIzSpMW5mJQ== | |
1862 | - | |
1863 | -"@vuedx/shared@0.6.2": | |
1864 | - version "0.6.2" | |
1865 | - resolved "https://registry.npmjs.org/@vuedx/shared/-/shared-0.6.2.tgz#ada493a0af75306e37ac19fe8e836f1ce07c8745" | |
1866 | - integrity sha512-xCXK+X5iDXkNfLglxFGFeEtqSWlopU8Cj6dGgMABWlee7HVDl47A4sj5oQpKuTjwRJHyE+BYtgGxtf1eLee5Yg== | |
1867 | - dependencies: | |
1868 | - "@sentry/node" "^5.30.0" | |
1869 | - node-unique-machine-id "^1.1.0" | |
1870 | - uuid "^8.3.2" | |
1871 | - | |
1872 | -"@vuedx/template-ast-types@0.6.2": | |
1873 | - version "0.6.2" | |
1874 | - resolved "https://registry.npmjs.org/@vuedx/template-ast-types/-/template-ast-types-0.6.2.tgz#8932b665abfed4593a0bdbfa91ed788056876770" | |
1875 | - integrity sha512-TY3IesmF6/XbZnlLnImE30MXVJeXpMh8F5ZKZeeVDIvDWmPDZ6fC8DbDj1GycZtx77C85yZRnJJqq5v0AED4aw== | |
1876 | - dependencies: | |
1877 | - "@vue/compiler-core" "^3.0.0" | |
1878 | - | |
1879 | -"@vuedx/typecheck@^0.6.3": | |
1880 | - version "0.6.3" | |
1881 | - resolved "https://registry.npmjs.org/@vuedx/typecheck/-/typecheck-0.6.3.tgz#d66b8dcfa8d7d37ccfa196d019c8a5cc8bc7fc4d" | |
1882 | - integrity sha512-1WfUI+bqg1O8Vklz24EZdsUE6ak4QCxtV6gWrUw+VUbep7ANhZM4RkaMsDFWVdeb2dip9ROrO8ESBrsIViPT8Q== | |
1883 | - dependencies: | |
1884 | - "@vuedx/shared" "0.6.2" | |
1885 | - "@vuedx/typescript-plugin-vue" "0.6.3" | |
1886 | - "@vuedx/vue-virtual-textdocument" "0.6.3" | |
1887 | - chalk "^4.1.0" | |
1888 | - fast-glob "^3.2.4" | |
1889 | - minimist "^1.2.5" | |
1890 | - resolve-from "^5.0.0" | |
1891 | - typescript "^4.0.3" | |
1892 | - | |
1893 | -"@vuedx/typescript-plugin-vue@0.6.3", "@vuedx/typescript-plugin-vue@^0.6.3": | |
1894 | - version "0.6.3" | |
1895 | - resolved "https://registry.npmjs.org/@vuedx/typescript-plugin-vue/-/typescript-plugin-vue-0.6.3.tgz#cc2d99bdc0abbde9bb5909341c47715af00539a3" | |
1896 | - integrity sha512-zAhXM9LDVYvjAMnTiqf6yZcJXXh1rQrH3JhcmQNmlxk26sRysfa/VWNC8qkfq9vcOKRf1eQusH4g+Vov6qPGig== | |
1897 | - dependencies: | |
1898 | - "@intlify/core" "^9.0.0-beta.15" | |
1899 | - "@vuedx/analyze" "0.6.3" | |
1900 | - "@vuedx/compiler-sfc" "0.6.2" | |
1901 | - "@vuedx/projectconfig" "0.6.2" | |
1902 | - "@vuedx/shared" "0.6.2" | |
1903 | - "@vuedx/template-ast-types" "0.6.2" | |
1904 | - "@vuedx/vue-virtual-textdocument" "0.6.3" | |
1905 | - de-indent "^1.0.2" | |
1906 | - json5 "^2.1.3" | |
1907 | - quick-lru "^5.1.1" | |
1908 | - vscode-uri "^2.1.2" | |
1909 | - vscode-web-custom-data "^0.3.2" | |
1910 | - | |
1911 | -"@vuedx/vue-virtual-textdocument@0.6.3": | |
1912 | - version "0.6.3" | |
1913 | - resolved "https://registry.npmjs.org/@vuedx/vue-virtual-textdocument/-/vue-virtual-textdocument-0.6.3.tgz#750484d93378b47ead5f6e319e32d33160ed5658" | |
1914 | - integrity sha512-FN5h4GsIcYAIfFbal0+1ryddDgpxMx/gxGE5QYinbwj5PwILZzyAUt//drQfppIHzCL+TJuZSml7fAod5tYvQA== | |
1915 | - dependencies: | |
1916 | - "@vuedx/analyze" "0.6.3" | |
1917 | - "@vuedx/compiler-sfc" "0.6.2" | |
1918 | - "@vuedx/compiler-tsx" "0.6.3" | |
1919 | - "@vuedx/shared" "0.6.2" | |
1920 | - source-map "^0.6.1" | |
1921 | - vscode-languageserver-textdocument "^1.0.1" | |
1922 | - vscode-uri "^2.1.2" | |
1923 | - | |
1924 | -"@vueuse/core@^4.1.1": | |
1925 | - version "4.1.1" | |
1926 | - resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.1.1.tgz#9136952bc435dfc42263959bea8dac35965bac43" | |
1927 | - integrity sha512-a+fu7FUHDzLpgcOGwbgyNZXLbm85NHEf4jkPkyqTtqHEHqU4aVbdyM0Vzl90PpFEDe92pJjoYJnZEQQgq9nEHw== | |
1661 | +"@vueuse/core@^4.2.1": | |
1662 | + version "4.2.1" | |
1663 | + resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.2.1.tgz#ac72801c67f26315723d4d244e843c28047f7bc4" | |
1664 | + integrity sha512-V8KohPwbIN9t5ZWfqB+TJhzM2iwrugq78t6I1QwoGdaw9fdbQfHJiiaf83MGxgYO2B9IwVtuYc4Vjd9X/0Kppg== | |
1928 | 1665 | dependencies: |
1929 | - "@vueuse/shared" "4.1.1" | |
1666 | + "@vueuse/shared" "4.2.1" | |
1930 | 1667 | vue-demi latest |
1931 | 1668 | |
1932 | -"@vueuse/shared@4.1.1": | |
1933 | - version "4.1.1" | |
1934 | - resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-4.1.1.tgz#58e4333d5ab45927e25578fad83bc81cecfea475" | |
1935 | - integrity sha512-M1bNwOaJZypu/AUYKrOU87pQLRp8VgMYHQyL1hVc6V3hi3ZcUBSjZuyFVaUdxGk0OeA0NPzHoYbByTMrpxElug== | |
1669 | +"@vueuse/shared@4.2.1": | |
1670 | + version "4.2.1" | |
1671 | + resolved "https://registry.npmjs.org/@vueuse/shared/-/shared-4.2.1.tgz#67e3229e7df68e2c4225d0086537e3a972fe89eb" | |
1672 | + integrity sha512-lSrzRHRzdqf4LTczeTrVmRd4cmJ6D1u77fJ2E9gksfKHZs+zwSZku7EiAqVj/g1nqZglTu5Z4y6aE6dp3YLYWw== | |
1936 | 1673 | dependencies: |
1937 | 1674 | vue-demi latest |
1938 | 1675 | |
1939 | -"@windicss/plugin-utils@0.4.3": | |
1940 | - version "0.4.3" | |
1941 | - resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-0.4.3.tgz#84e85fd3cd6eaf54ca72cae276f9cf0610f45e56" | |
1942 | - integrity sha512-ilddLED+sZQIA9rOwE5eYwdBEBWKREvAVkkiAOOTNf7oDcP/a1cxT3f/nE4tgfhz+MC/FKcy7NkfrqfXRdEQaQ== | |
1676 | +"@windicss/plugin-utils@0.4.4": | |
1677 | + version "0.4.4" | |
1678 | + resolved "https://registry.npmjs.org/@windicss/plugin-utils/-/plugin-utils-0.4.4.tgz#fd18565a23df7896d8a4550bcecad631311db538" | |
1679 | + integrity sha512-qQHtNPt0eI2K2lsFHBN5y/rbC3ndXgR+PZuKdj2oirQLKMXFyU70+GdeMShi3OkZXAwGqN08MvdoiTsC2jGEMQ== | |
1943 | 1680 | dependencies: |
1944 | 1681 | esbuild "^0.8.49" |
1945 | 1682 | esbuild-register "^2.0.0" |
... | ... | @@ -1983,13 +1720,6 @@ adler-32@~1.2.0: |
1983 | 1720 | exit-on-epipe "~1.0.1" |
1984 | 1721 | printj "~1.1.0" |
1985 | 1722 | |
1986 | -agent-base@6: | |
1987 | - version "6.0.2" | |
1988 | - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" | |
1989 | - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== | |
1990 | - dependencies: | |
1991 | - debug "4" | |
1992 | - | |
1993 | 1723 | aggregate-error@^3.0.0: |
1994 | 1724 | version "3.1.0" |
1995 | 1725 | resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" |
... | ... | @@ -2097,11 +1827,6 @@ ant-design-vue@2.0.0: |
2097 | 1827 | vue-types "^3.0.0" |
2098 | 1828 | warning "^4.0.0" |
2099 | 1829 | |
2100 | -any-promise@^1.0.0: | |
2101 | - version "1.3.0" | |
2102 | - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" | |
2103 | - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= | |
2104 | - | |
2105 | 1830 | anymatch@~3.1.1: |
2106 | 1831 | version "3.1.1" |
2107 | 1832 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" |
... | ... | @@ -2755,18 +2480,6 @@ cli-cursor@^3.1.0: |
2755 | 2480 | dependencies: |
2756 | 2481 | restore-cursor "^3.1.0" |
2757 | 2482 | |
2758 | -cli-highlight@^2.1.4: | |
2759 | - version "2.1.10" | |
2760 | - resolved "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz#26a087da9209dce4fcb8cf5427dc97cd96ac173a" | |
2761 | - integrity sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw== | |
2762 | - dependencies: | |
2763 | - chalk "^4.0.0" | |
2764 | - highlight.js "^10.0.0" | |
2765 | - mz "^2.4.0" | |
2766 | - parse5 "^5.1.1" | |
2767 | - parse5-htmlparser2-tree-adapter "^6.0.0" | |
2768 | - yargs "^16.0.0" | |
2769 | - | |
2770 | 2483 | cli-truncate@^2.1.0: |
2771 | 2484 | version "2.1.0" |
2772 | 2485 | resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" |
... | ... | @@ -2895,7 +2608,7 @@ commander@^4.1.1: |
2895 | 2608 | resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" |
2896 | 2609 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== |
2897 | 2610 | |
2898 | -commander@^6.1.0, commander@^6.2.0: | |
2611 | +commander@^6.2.0: | |
2899 | 2612 | version "6.2.1" |
2900 | 2613 | resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" |
2901 | 2614 | integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== |
... | ... | @@ -3179,11 +2892,6 @@ convert-source-map@^1.7.0: |
3179 | 2892 | dependencies: |
3180 | 2893 | safe-buffer "~5.1.1" |
3181 | 2894 | |
3182 | -cookie@^0.4.1: | |
3183 | - version "0.4.1" | |
3184 | - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" | |
3185 | - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== | |
3186 | - | |
3187 | 2895 | copy-anything@^2.0.1: |
3188 | 2896 | version "2.0.1" |
3189 | 2897 | resolved "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz#2afbce6da684bdfcbec93752fa762819cb480d9a" |
... | ... | @@ -3394,11 +3102,6 @@ dayjs@^1.10.4: |
3394 | 3102 | resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2" |
3395 | 3103 | integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== |
3396 | 3104 | |
3397 | -de-indent@^1.0.2: | |
3398 | - version "1.0.2" | |
3399 | - resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" | |
3400 | - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= | |
3401 | - | |
3402 | 3105 | debug@2.6.9, debug@^2.2.0, debug@^2.3.3: |
3403 | 3106 | version "2.6.9" |
3404 | 3107 | resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" |
... | ... | @@ -3406,13 +3109,6 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3: |
3406 | 3109 | dependencies: |
3407 | 3110 | ms "2.0.0" |
3408 | 3111 | |
3409 | -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: | |
3410 | - version "4.3.1" | |
3411 | - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" | |
3412 | - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== | |
3413 | - dependencies: | |
3414 | - ms "2.1.2" | |
3415 | - | |
3416 | 3112 | debug@^3.1.1, debug@^3.2.6: |
3417 | 3113 | version "3.2.7" |
3418 | 3114 | resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" |
... | ... | @@ -3420,6 +3116,13 @@ debug@^3.1.1, debug@^3.2.6: |
3420 | 3116 | dependencies: |
3421 | 3117 | ms "^2.1.1" |
3422 | 3118 | |
3119 | +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: | |
3120 | + version "4.3.1" | |
3121 | + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" | |
3122 | + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== | |
3123 | + dependencies: | |
3124 | + ms "2.1.2" | |
3125 | + | |
3423 | 3126 | debug@^4.3.2: |
3424 | 3127 | version "4.3.2" |
3425 | 3128 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" |
... | ... | @@ -3726,10 +3429,10 @@ ejs@^2.6.1: |
3726 | 3429 | resolved "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" |
3727 | 3430 | integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== |
3728 | 3431 | |
3729 | -ejs@^3.1.5: | |
3730 | - version "3.1.5" | |
3731 | - resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.5.tgz#aed723844dc20acb4b170cd9ab1017e476a0d93b" | |
3732 | - integrity sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== | |
3432 | +ejs@^3.1.6: | |
3433 | + version "3.1.6" | |
3434 | + resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz#5bfd0a0689743bb5268b3550cceeebbc1702822a" | |
3435 | + integrity sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw== | |
3733 | 3436 | dependencies: |
3734 | 3437 | jake "^10.6.1" |
3735 | 3438 | |
... | ... | @@ -4216,7 +3919,7 @@ fast-diff@^1.1.2: |
4216 | 3919 | resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" |
4217 | 3920 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== |
4218 | 3921 | |
4219 | -fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.4, fast-glob@^3.2.5: | |
3922 | +fast-glob@^3.0.3, fast-glob@^3.1.1, fast-glob@^3.2.5: | |
4220 | 3923 | version "3.2.5" |
4221 | 3924 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" |
4222 | 3925 | integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== |
... | ... | @@ -4966,11 +4669,6 @@ header-case@^2.0.4: |
4966 | 4669 | capital-case "^1.0.4" |
4967 | 4670 | tslib "^2.0.3" |
4968 | 4671 | |
4969 | -highlight.js@^10.0.0: | |
4970 | - version "10.5.0" | |
4971 | - resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" | |
4972 | - integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw== | |
4973 | - | |
4974 | 4672 | homedir-polyfill@^1.0.1: |
4975 | 4673 | version "1.0.3" |
4976 | 4674 | resolved "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" |
... | ... | @@ -5066,23 +4764,15 @@ http-server@^0.12.3: |
5066 | 4764 | secure-compare "3.0.1" |
5067 | 4765 | union "~0.5.0" |
5068 | 4766 | |
5069 | -https-proxy-agent@^5.0.0: | |
5070 | - version "5.0.0" | |
5071 | - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" | |
5072 | - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== | |
5073 | - dependencies: | |
5074 | - agent-base "6" | |
5075 | - debug "4" | |
5076 | - | |
5077 | 4767 | human-signals@^1.1.1: |
5078 | 4768 | version "1.1.1" |
5079 | 4769 | resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" |
5080 | 4770 | integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== |
5081 | 4771 | |
5082 | -husky@^5.0.9: | |
5083 | - version "5.0.9" | |
5084 | - resolved "https://registry.npmjs.org/husky/-/husky-5.0.9.tgz#6d38706643d66ed395bcd4ee952d02e3f15eb3a3" | |
5085 | - integrity sha512-0SjcaY21a+IRdx7p7r/X33Vc09UR2m8SbP8yfkhUX2/jAmwcz+GR7i9jXkp2pP3GfX23JhMkVP6SWwXB18uXtg== | |
4772 | +husky@^5.1.0: | |
4773 | + version "5.1.0" | |
4774 | + resolved "https://registry.npmjs.org/husky/-/husky-5.1.0.tgz#68b1148523acc838af0655ead71bf4671adb9f93" | |
4775 | + integrity sha512-Os0EY2haOO+59YZSwMiUDsHY43RFwBVIRStHcnnT8/kvA+sFfaA/YS4uLFRiymXYgQl6E6TQTt3y4v/Z2ctEtw== | |
5086 | 4776 | |
5087 | 4777 | iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: |
5088 | 4778 | version "0.4.24" |
... | ... | @@ -5738,7 +5428,7 @@ json5@^1.0.1: |
5738 | 5428 | dependencies: |
5739 | 5429 | minimist "^1.2.0" |
5740 | 5430 | |
5741 | -json5@^2.1.2, json5@^2.1.3: | |
5431 | +json5@^2.1.2: | |
5742 | 5432 | version "2.1.3" |
5743 | 5433 | resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" |
5744 | 5434 | integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== |
... | ... | @@ -6092,11 +5782,6 @@ lru-cache@^6.0.0: |
6092 | 5782 | dependencies: |
6093 | 5783 | yallist "^4.0.0" |
6094 | 5784 | |
6095 | -lru_map@^0.3.3: | |
6096 | - version "0.3.3" | |
6097 | - resolved "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" | |
6098 | - integrity sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0= | |
6099 | - | |
6100 | 5785 | magic-string@^0.25.0, magic-string@^0.25.7: |
6101 | 5786 | version "0.25.7" |
6102 | 5787 | resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" |
... | ... | @@ -6449,15 +6134,6 @@ mute-stream@0.0.7: |
6449 | 6134 | resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" |
6450 | 6135 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= |
6451 | 6136 | |
6452 | -mz@^2.4.0: | |
6453 | - version "2.7.0" | |
6454 | - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" | |
6455 | - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== | |
6456 | - dependencies: | |
6457 | - any-promise "^1.0.0" | |
6458 | - object-assign "^4.0.1" | |
6459 | - thenify-all "^1.0.0" | |
6460 | - | |
6461 | 6137 | nanoid@^3.0.1, nanoid@^3.1.20: |
6462 | 6138 | version "3.1.20" |
6463 | 6139 | resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" |
... | ... | @@ -6532,13 +6208,6 @@ node-releases@^1.1.69: |
6532 | 6208 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" |
6533 | 6209 | integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== |
6534 | 6210 | |
6535 | -node-unique-machine-id@^1.1.0: | |
6536 | - version "1.1.0" | |
6537 | - resolved "https://registry.npmjs.org/node-unique-machine-id/-/node-unique-machine-id-1.1.0.tgz#dbd9351da927cfc0e85a663a55e8644da384b746" | |
6538 | - integrity sha512-uJtdcFelVD08XdvxYWYzMYprSTPYl9CYiQbyGYbjXZcMZtLRlEqNUs+C/va/81DNgExsMHL5g0YDYQFS0pENRQ== | |
6539 | - dependencies: | |
6540 | - uuid "^3.3.3" | |
6541 | - | |
6542 | 6211 | normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: |
6543 | 6212 | version "2.5.0" |
6544 | 6213 | resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" |
... | ... | @@ -6973,23 +6642,6 @@ parse-passwd@^1.0.0: |
6973 | 6642 | resolved "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" |
6974 | 6643 | integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= |
6975 | 6644 | |
6976 | -parse5-htmlparser2-tree-adapter@^6.0.0: | |
6977 | - version "6.0.1" | |
6978 | - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" | |
6979 | - integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== | |
6980 | - dependencies: | |
6981 | - parse5 "^6.0.1" | |
6982 | - | |
6983 | -parse5@^5.1.1: | |
6984 | - version "5.1.1" | |
6985 | - resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" | |
6986 | - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== | |
6987 | - | |
6988 | -parse5@^6.0.1: | |
6989 | - version "6.0.1" | |
6990 | - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" | |
6991 | - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== | |
6992 | - | |
6993 | 6645 | parseurl@~1.3.3: |
6994 | 6646 | version "1.3.3" |
6995 | 6647 | resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" |
... | ... | @@ -7428,11 +7080,6 @@ quick-lru@^4.0.1: |
7428 | 7080 | resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" |
7429 | 7081 | integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== |
7430 | 7082 | |
7431 | -quick-lru@^5.1.1: | |
7432 | - version "5.1.1" | |
7433 | - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" | |
7434 | - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== | |
7435 | - | |
7436 | 7083 | randombytes@^2.1.0: |
7437 | 7084 | version "2.1.0" |
7438 | 7085 | resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" |
... | ... | @@ -8724,20 +8371,6 @@ text-table@^0.2.0: |
8724 | 8371 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" |
8725 | 8372 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= |
8726 | 8373 | |
8727 | -thenify-all@^1.0.0: | |
8728 | - version "1.6.0" | |
8729 | - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" | |
8730 | - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= | |
8731 | - dependencies: | |
8732 | - thenify ">= 3.1.0 < 4" | |
8733 | - | |
8734 | -"thenify@>= 3.1.0 < 4": | |
8735 | - version "3.3.1" | |
8736 | - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" | |
8737 | - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== | |
8738 | - dependencies: | |
8739 | - any-promise "^1.0.0" | |
8740 | - | |
8741 | 8374 | through2@^2.0.0, through2@^2.0.2: |
8742 | 8375 | version "2.0.5" |
8743 | 8376 | resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" |
... | ... | @@ -8873,7 +8506,7 @@ tslib@2.0.3: |
8873 | 8506 | resolved "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" |
8874 | 8507 | integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ== |
8875 | 8508 | |
8876 | -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: | |
8509 | +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: | |
8877 | 8510 | version "1.14.1" |
8878 | 8511 | resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" |
8879 | 8512 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== |
... | ... | @@ -8944,11 +8577,6 @@ typedarray-to-buffer@^3.1.5: |
8944 | 8577 | dependencies: |
8945 | 8578 | is-typedarray "^1.0.0" |
8946 | 8579 | |
8947 | -typescript@^4.0.3: | |
8948 | - version "4.1.3" | |
8949 | - resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" | |
8950 | - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== | |
8951 | - | |
8952 | 8580 | typescript@^4.1.5: |
8953 | 8581 | version "4.1.5" |
8954 | 8582 | resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" |
... | ... | @@ -9158,16 +8786,11 @@ utils-merge@1.0.1: |
9158 | 8786 | resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" |
9159 | 8787 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= |
9160 | 8788 | |
9161 | -uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: | |
8789 | +uuid@^3.0.1, uuid@^3.3.2: | |
9162 | 8790 | version "3.4.0" |
9163 | 8791 | resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" |
9164 | 8792 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== |
9165 | 8793 | |
9166 | -uuid@^8.3.2: | |
9167 | - version "8.3.2" | |
9168 | - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" | |
9169 | - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== | |
9170 | - | |
9171 | 8794 | v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0: |
9172 | 8795 | version "2.2.0" |
9173 | 8796 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz#9471efa3ef9128d2f7c6a7ca39c4dd6b5055b132" |
... | ... | @@ -9215,12 +8838,12 @@ vite-plugin-compression@^0.2.1: |
9215 | 8838 | debug "^4.3.2" |
9216 | 8839 | fs-extra "^9.1.0" |
9217 | 8840 | |
9218 | -vite-plugin-html@^2.0.0: | |
9219 | - version "2.0.0" | |
9220 | - resolved "https://registry.npmjs.org/vite-plugin-html/-/vite-plugin-html-2.0.0.tgz#de39b99ce7df4d0e1234bfae5c23215647d71a28" | |
9221 | - integrity sha512-6nfzAcMp345FRI5WTHOq11O585nlJ2ELwFarhZEi/yvrR1FauhDcFOGGL67/IKiTruYZaatZ3xnFg5BIxK6/7w== | |
8841 | +vite-plugin-html@^2.0.1: | |
8842 | + version "2.0.1" | |
8843 | + resolved "https://registry.npmjs.org/vite-plugin-html/-/vite-plugin-html-2.0.1.tgz#6a8fa9a705024aa47e03b9b990c650773e2bd29b" | |
8844 | + integrity sha512-qmoPTTkajxCuctxoAreIF9JW6HjrUr6hKJWLHnwRPoBd9SNzcyDwI6cW4gd4DQy2zHcQA7dD8LzgmT1Qz0vvgw== | |
9222 | 8845 | dependencies: |
9223 | - ejs "^3.1.5" | |
8846 | + ejs "^3.1.6" | |
9224 | 8847 | fs-extra "^9.1.0" |
9225 | 8848 | html-minifier-terser "^5.1.1" |
9226 | 8849 | |
... | ... | @@ -9274,10 +8897,10 @@ vite-plugin-purge-icons@^0.7.0: |
9274 | 8897 | "@purge-icons/generated" "^0.7.0" |
9275 | 8898 | rollup-plugin-purge-icons "^0.7.0" |
9276 | 8899 | |
9277 | -vite-plugin-pwa@^0.5.2: | |
9278 | - version "0.5.2" | |
9279 | - resolved "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.5.2.tgz#48131ebadc0c98c34a543dbf1bb1c86aeef532e0" | |
9280 | - integrity sha512-4SHKxYhd5sCF/ebbgxGYlN91UHlylzh7C32a5+Y2c2vbrWzw5x62ZxsYzolQzBosdOim4Ez+e/dX4hmP3BCmow== | |
8900 | +vite-plugin-pwa@^0.5.3: | |
8901 | + version "0.5.3" | |
8902 | + resolved "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.5.3.tgz#60d97d62335846144c8e6b6a911704d6c0f75171" | |
8903 | + integrity sha512-xGh0gIgzczvYNj8ED5HhpJ2iT5kMiieim2qI8kT/3+rfo83hTyuzhEICkljIbhausvOaGxtzLKWE8RS6cUg0Fw== | |
9281 | 8904 | dependencies: |
9282 | 8905 | debug "^4.3.2" |
9283 | 8906 | fast-glob "^3.2.5" |
... | ... | @@ -9307,12 +8930,12 @@ vite-plugin-theme@^0.4.3: |
9307 | 8930 | es-module-lexer "^0.3.26" |
9308 | 8931 | tinycolor2 "^1.4.2" |
9309 | 8932 | |
9310 | -vite-plugin-windicss@0.4.3: | |
9311 | - version "0.4.3" | |
9312 | - resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-0.4.3.tgz#f86e5a3b78882caa3cdd50cba2b08770e2d627c8" | |
9313 | - integrity sha512-Lnv6OhcYzcJvecTs4LIpMSfo54rSewkHrW85IVwy8hacR0krY319jXr5nwiDpSTp6HM3QJhoJ4zxHF+t5Q+Nwg== | |
8933 | +vite-plugin-windicss@0.4.4: | |
8934 | + version "0.4.4" | |
8935 | + resolved "https://registry.npmjs.org/vite-plugin-windicss/-/vite-plugin-windicss-0.4.4.tgz#fd13fba5b55211f34768f5acfadfd743f95c24a6" | |
8936 | + integrity sha512-VDQn4cO+cq7sEV2yD1n+Mg6sN4TiFZwdeuteN7uDk6gintbUAMNHyoFyZUF0Z0/vYN4Ca62HvXlXdTgheE4QYg== | |
9314 | 8937 | dependencies: |
9315 | - "@windicss/plugin-utils" "0.4.3" | |
8938 | + "@windicss/plugin-utils" "0.4.4" | |
9316 | 8939 | windicss "^2.1.15" |
9317 | 8940 | |
9318 | 8941 | vite@2.0.1: |
... | ... | @@ -9327,21 +8950,6 @@ vite@2.0.1: |
9327 | 8950 | optionalDependencies: |
9328 | 8951 | fsevents "~2.3.1" |
9329 | 8952 | |
9330 | -vscode-languageserver-textdocument@^1.0.1: | |
9331 | - version "1.0.1" | |
9332 | - resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f" | |
9333 | - integrity sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA== | |
9334 | - | |
9335 | -vscode-uri@^2.1.2: | |
9336 | - version "2.1.2" | |
9337 | - resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c" | |
9338 | - integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== | |
9339 | - | |
9340 | -vscode-web-custom-data@^0.3.2: | |
9341 | - version "0.3.2" | |
9342 | - resolved "https://registry.npmjs.org/vscode-web-custom-data/-/vscode-web-custom-data-0.3.2.tgz#62a5a924397d8056c5524ff0ff8f14eb815b7066" | |
9343 | - integrity sha512-GGZ99dJbARyh6rv03dXZImGlP5WvNG382A3nIt0yX1uyqBa558L/klHWcgEJzcVkG4t16OQWwPedMR3JkeD2Qg== | |
9344 | - | |
9345 | 8953 | vue-demi@latest: |
9346 | 8954 | version "0.6.0" |
9347 | 8955 | resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.6.0.tgz#e314282f704cb449119b9fd002cbbc0e39f591fe" |
... | ... | @@ -9773,7 +9381,7 @@ yargs@^15.1.0: |
9773 | 9381 | y18n "^4.0.0" |
9774 | 9382 | yargs-parser "^18.1.2" |
9775 | 9383 | |
9776 | -yargs@^16.0.0, yargs@^16.0.3, yargs@^16.2.0: | |
9384 | +yargs@^16.0.3, yargs@^16.2.0: | |
9777 | 9385 | version "16.2.0" |
9778 | 9386 | resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" |
9779 | 9387 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== |
... | ... |