Commit 1899146f71ab2020dc01bd84b282e6b614ad3d57
1 parent
b8846547
perf: mobile style adjustment
Showing
13 changed files
with
114 additions
and
64 deletions
CHANGELOG.zh_CN.md
@@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
14 | 14 | ||
15 | ### ⚡ Performance Improvements | 15 | ### ⚡ Performance Improvements |
16 | 16 | ||
17 | -- 页面切换 loading 逻辑修改。对于已经加载过的页面不管有没有关闭,再次打开不会在显示 loading(已经打开过的页面在此打开速度比较快),刷新后恢复。 | 17 | +- 页面切换 loading 逻辑修改。对于已经加载过的页面不管有没有关闭,再次打开不会在显示 loading(已经打开过的页面再次打开速度比较快,可以不需要 loading,同理顶部进度条逻辑也一样),刷新后恢复。 |
18 | 18 | ||
19 | ### 🎫 Chores | 19 | ### 🎫 Chores |
20 | 20 |
build/vite/plugin/index.ts
@@ -75,6 +75,7 @@ export function createVitePlugins(viteEnv: ViteEnv) { | @@ -75,6 +75,7 @@ export function createVitePlugins(viteEnv: ViteEnv) { | ||
75 | createMockServer({ | 75 | createMockServer({ |
76 | ignore: /^\_/, | 76 | ignore: /^\_/, |
77 | mockPath: 'mock', | 77 | mockPath: 'mock', |
78 | + showTime: true, | ||
78 | }) | 79 | }) |
79 | ); | 80 | ); |
80 | } | 81 | } |
package.json
@@ -47,7 +47,7 @@ | @@ -47,7 +47,7 @@ | ||
47 | "devDependencies": { | 47 | "devDependencies": { |
48 | "@commitlint/cli": "^11.0.0", | 48 | "@commitlint/cli": "^11.0.0", |
49 | "@commitlint/config-conventional": "^11.0.0", | 49 | "@commitlint/config-conventional": "^11.0.0", |
50 | - "@iconify/json": "^1.1.267", | 50 | + "@iconify/json": "^1.1.267yar", |
51 | "@ls-lint/ls-lint": "^1.9.2", | 51 | "@ls-lint/ls-lint": "^1.9.2", |
52 | "@purge-icons/generated": "^0.4.1", | 52 | "@purge-icons/generated": "^0.4.1", |
53 | "@types/echarts": "^4.9.2", | 53 | "@types/echarts": "^4.9.2", |
@@ -99,7 +99,7 @@ | @@ -99,7 +99,7 @@ | ||
99 | "typescript": "^4.1.2", | 99 | "typescript": "^4.1.2", |
100 | "vite": "^1.0.0-rc.13", | 100 | "vite": "^1.0.0-rc.13", |
101 | "vite-plugin-html": "^1.0.0-beta.2", | 101 | "vite-plugin-html": "^1.0.0-beta.2", |
102 | - "vite-plugin-mock": "^1.0.6", | 102 | + "vite-plugin-mock": "^1.0.9", |
103 | "vite-plugin-purge-icons": "^0.4.5", | 103 | "vite-plugin-purge-icons": "^0.4.5", |
104 | "vite-plugin-pwa": "^0.1.7", | 104 | "vite-plugin-pwa": "^0.1.7", |
105 | "vue-eslint-parser": "^7.2.0", | 105 | "vue-eslint-parser": "^7.2.0", |
src/App.vue
@@ -16,7 +16,6 @@ | @@ -16,7 +16,6 @@ | ||
16 | 16 | ||
17 | import { useLockPage } from '/@/hooks/web/useLockPage'; | 17 | import { useLockPage } from '/@/hooks/web/useLockPage'; |
18 | import { useLocale } from '/@/hooks/web/useLocale'; | 18 | import { useLocale } from '/@/hooks/web/useLocale'; |
19 | - import { createBreakpointListen } from '/@/hooks/event/useBreakpoint'; | ||
20 | 19 | ||
21 | export default defineComponent({ | 20 | export default defineComponent({ |
22 | name: 'App', | 21 | name: 'App', |
@@ -25,9 +24,6 @@ | @@ -25,9 +24,6 @@ | ||
25 | // Initialize vuex internal system configuration | 24 | // Initialize vuex internal system configuration |
26 | initAppConfigStore(); | 25 | initAppConfigStore(); |
27 | 26 | ||
28 | - // Create a global breakpoint monitor | ||
29 | - createBreakpointListen(); | ||
30 | - | ||
31 | // Get ConfigProvider configuration | 27 | // Get ConfigProvider configuration |
32 | const { transformCellText } = getConfigProvider(); | 28 | const { transformCellText } = getConfigProvider(); |
33 | 29 |
src/hooks/event/useBreakpoint.ts
@@ -6,6 +6,12 @@ let globalScreenRef: ComputedRef<sizeEnum | undefined>; | @@ -6,6 +6,12 @@ let globalScreenRef: ComputedRef<sizeEnum | undefined>; | ||
6 | let globalWidthRef: ComputedRef<number>; | 6 | let globalWidthRef: ComputedRef<number>; |
7 | let globalRealWidthRef: ComputedRef<number>; | 7 | let globalRealWidthRef: ComputedRef<number>; |
8 | 8 | ||
9 | +export interface CreateCallbackParams { | ||
10 | + screen: ComputedRef<sizeEnum | undefined>; | ||
11 | + width: ComputedRef<number>; | ||
12 | + realWidth: ComputedRef<number>; | ||
13 | +} | ||
14 | + | ||
9 | export function useBreakpoint() { | 15 | export function useBreakpoint() { |
10 | return { | 16 | return { |
11 | screenRef: computed(() => unref(globalScreenRef)), | 17 | screenRef: computed(() => unref(globalScreenRef)), |
@@ -16,7 +22,7 @@ export function useBreakpoint() { | @@ -16,7 +22,7 @@ export function useBreakpoint() { | ||
16 | } | 22 | } |
17 | 23 | ||
18 | // Just call it once | 24 | // Just call it once |
19 | -export function createBreakpointListen(fn?: Fn) { | 25 | +export function createBreakpointListen(fn?: (opt: CreateCallbackParams) => void) { |
20 | const screenRef = ref<sizeEnum>(sizeEnum.XL); | 26 | const screenRef = ref<sizeEnum>(sizeEnum.XL); |
21 | const realWidthRef = ref(window.innerWidth); | 27 | const realWidthRef = ref(window.innerWidth); |
22 | 28 | ||
@@ -46,8 +52,9 @@ export function createBreakpointListen(fn?: Fn) { | @@ -46,8 +52,9 @@ export function createBreakpointListen(fn?: Fn) { | ||
46 | useEventListener({ | 52 | useEventListener({ |
47 | el: window, | 53 | el: window, |
48 | name: 'resize', | 54 | name: 'resize', |
55 | + | ||
49 | listener: () => { | 56 | listener: () => { |
50 | - fn && fn(); | 57 | + resizeFn(); |
51 | getWindowWidth(); | 58 | getWindowWidth(); |
52 | }, | 59 | }, |
53 | }); | 60 | }); |
@@ -56,6 +63,17 @@ export function createBreakpointListen(fn?: Fn) { | @@ -56,6 +63,17 @@ export function createBreakpointListen(fn?: Fn) { | ||
56 | globalScreenRef = computed(() => unref(screenRef)); | 63 | globalScreenRef = computed(() => unref(screenRef)); |
57 | globalWidthRef = computed((): number => screenMap.get(unref(screenRef)!)!); | 64 | globalWidthRef = computed((): number => screenMap.get(unref(screenRef)!)!); |
58 | globalRealWidthRef = computed((): number => unref(realWidthRef)); | 65 | globalRealWidthRef = computed((): number => unref(realWidthRef)); |
66 | + | ||
67 | + function resizeFn() { | ||
68 | + fn && | ||
69 | + fn({ | ||
70 | + screen: globalScreenRef, | ||
71 | + width: globalWidthRef, | ||
72 | + realWidth: globalRealWidthRef, | ||
73 | + }); | ||
74 | + } | ||
75 | + | ||
76 | + resizeFn(); | ||
59 | return { | 77 | return { |
60 | screenRef: globalScreenRef, | 78 | screenRef: globalScreenRef, |
61 | screenEnum, | 79 | screenEnum, |
src/layouts/default/header/LayoutHeader.tsx
@@ -45,6 +45,7 @@ import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; | @@ -45,6 +45,7 @@ import { MenuModeEnum, MenuSplitTyeEnum } from '/@/enums/menuEnum'; | ||
45 | import { AppLocalePicker } from '/@/components/Application'; | 45 | import { AppLocalePicker } from '/@/components/Application'; |
46 | import { useI18n } from '/@/hooks/web/useI18n'; | 46 | import { useI18n } from '/@/hooks/web/useI18n'; |
47 | import { propTypes } from '/@/utils/propTypes'; | 47 | import { propTypes } from '/@/utils/propTypes'; |
48 | +import { useLayoutContext } from '../useLayoutContext'; | ||
48 | 49 | ||
49 | interface TooltipItemProps { | 50 | interface TooltipItemProps { |
50 | title: string; | 51 | title: string; |
@@ -71,6 +72,9 @@ export default defineComponent({ | @@ -71,6 +72,9 @@ export default defineComponent({ | ||
71 | 72 | ||
72 | // const logoWidthRef = ref(200); | 73 | // const logoWidthRef = ref(200); |
73 | const logoRef = ref<ComponentRef>(null); | 74 | const logoRef = ref<ComponentRef>(null); |
75 | + | ||
76 | + const injectValue = useLayoutContext(); | ||
77 | + | ||
74 | const { refreshPage } = useTabs(); | 78 | const { refreshPage } = useTabs(); |
75 | const { t } = useI18n(); | 79 | const { t } = useI18n(); |
76 | 80 | ||
@@ -116,6 +120,10 @@ export default defineComponent({ | @@ -116,6 +120,10 @@ export default defineComponent({ | ||
116 | return theme ? `layout-header__header--${theme}` : ''; | 120 | return theme ? `layout-header__header--${theme}` : ''; |
117 | }); | 121 | }); |
118 | 122 | ||
123 | + const isPc = computed(() => { | ||
124 | + return !unref(injectValue.isMobile); | ||
125 | + }); | ||
126 | + | ||
119 | const getSplitType = computed(() => { | 127 | const getSplitType = computed(() => { |
120 | return unref(getSplit) ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE; | 128 | return unref(getSplit) ? MenuSplitTyeEnum.TOP : MenuSplitTyeEnum.NONE; |
121 | }); | 129 | }); |
@@ -147,11 +155,13 @@ export default defineComponent({ | @@ -147,11 +155,13 @@ export default defineComponent({ | ||
147 | {unref(getShowHeaderTrigger) && ( | 155 | {unref(getShowHeaderTrigger) && ( |
148 | <LayoutTrigger theme={unref(getHeaderTheme)} sider={false} /> | 156 | <LayoutTrigger theme={unref(getHeaderTheme)} sider={false} /> |
149 | )} | 157 | )} |
150 | - {unref(getShowBread) && <LayoutBreadcrumb showIcon={unref(getShowBreadCrumbIcon)} />} | 158 | + {unref(getShowBread) && unref(isPc) && ( |
159 | + <LayoutBreadcrumb showIcon={unref(getShowBreadCrumbIcon)} /> | ||
160 | + )} | ||
151 | </div> | 161 | </div> |
152 | )} | 162 | )} |
153 | 163 | ||
154 | - {unref(getShowTopMenu) && ( | 164 | + {unref(getShowTopMenu) && unref(isPc) && ( |
155 | // <div class={[`layout-header__menu `]} style={{ width: `calc(100% - ${width}px)` }}> | 165 | // <div class={[`layout-header__menu `]} style={{ width: `calc(100% - ${width}px)` }}> |
156 | <div class={[`layout-header__menu `]}> | 166 | <div class={[`layout-header__menu `]}> |
157 | <LayoutMenu | 167 | <LayoutMenu |
@@ -179,7 +189,7 @@ export default defineComponent({ | @@ -179,7 +189,7 @@ export default defineComponent({ | ||
179 | function renderAction() { | 189 | function renderAction() { |
180 | return ( | 190 | return ( |
181 | <div class={`layout-header__action`}> | 191 | <div class={`layout-header__action`}> |
182 | - {unref(getUseErrorHandle) && ( | 192 | + {unref(getUseErrorHandle) && unref(isPc) && ( |
183 | <TooltipItem title={t('layout.header.tooltipErrorLog')}> | 193 | <TooltipItem title={t('layout.header.tooltipErrorLog')}> |
184 | {() => ( | 194 | {() => ( |
185 | <Badge | 195 | <Badge |
@@ -194,25 +204,25 @@ export default defineComponent({ | @@ -194,25 +204,25 @@ export default defineComponent({ | ||
194 | </TooltipItem> | 204 | </TooltipItem> |
195 | )} | 205 | )} |
196 | 206 | ||
197 | - {unref(getUseLockPage) && ( | 207 | + {unref(getUseLockPage) && unref(isPc) && ( |
198 | <TooltipItem title={t('layout.header.tooltipLock')}> | 208 | <TooltipItem title={t('layout.header.tooltipLock')}> |
199 | {() => renderActionDefault(LockOutlined, handleLockPage)} | 209 | {() => renderActionDefault(LockOutlined, handleLockPage)} |
200 | </TooltipItem> | 210 | </TooltipItem> |
201 | )} | 211 | )} |
202 | 212 | ||
203 | - {unref(getShowNotice) && ( | 213 | + {unref(getShowNotice) && unref(isPc) && ( |
204 | <TooltipItem title={t('layout.header.tooltipNotify')}> | 214 | <TooltipItem title={t('layout.header.tooltipNotify')}> |
205 | {() => <NoticeAction />} | 215 | {() => <NoticeAction />} |
206 | </TooltipItem> | 216 | </TooltipItem> |
207 | )} | 217 | )} |
208 | 218 | ||
209 | - {unref(getShowRedo) && ( | 219 | + {unref(getShowRedo) && unref(isPc) && ( |
210 | <TooltipItem title={t('layout.header.tooltipRedo')}> | 220 | <TooltipItem title={t('layout.header.tooltipRedo')}> |
211 | {() => renderActionDefault(RedoOutlined, refreshPage)} | 221 | {() => renderActionDefault(RedoOutlined, refreshPage)} |
212 | </TooltipItem> | 222 | </TooltipItem> |
213 | )} | 223 | )} |
214 | 224 | ||
215 | - {unref(getShowFullScreen) && ( | 225 | + {unref(getShowFullScreen) && unref(isPc) && ( |
216 | <TooltipItem | 226 | <TooltipItem |
217 | title={ | 227 | title={ |
218 | unref(isFullscreenRef) | 228 | unref(isFullscreenRef) |
src/layouts/default/header/LayoutMultipleHeader.tsx
@@ -56,7 +56,7 @@ export default defineComponent({ | @@ -56,7 +56,7 @@ export default defineComponent({ | ||
56 | (): CSSProperties => { | 56 | (): CSSProperties => { |
57 | const style: CSSProperties = {}; | 57 | const style: CSSProperties = {}; |
58 | if (unref(getFixed)) { | 58 | if (unref(getFixed)) { |
59 | - style.width = unref(getCalcContentWidth); | 59 | + style.width = unref(injectValue.isMobile) ? '100%' : unref(getCalcContentWidth); |
60 | } | 60 | } |
61 | if (unref(getShowFullHeaderRef)) { | 61 | if (unref(getShowFullHeaderRef)) { |
62 | style.top = `${unref(fullHeaderHeightRef)}px`; | 62 | style.top = `${unref(fullHeaderHeightRef)}px`; |
@@ -81,7 +81,7 @@ export default defineComponent({ | @@ -81,7 +81,7 @@ export default defineComponent({ | ||
81 | nextTick(() => { | 81 | nextTick(() => { |
82 | const headerEl = unref(headerElRef)?.$el; | 82 | const headerEl = unref(headerElRef)?.$el; |
83 | const tabEl = unref(tabElRef)?.$el; | 83 | const tabEl = unref(tabElRef)?.$el; |
84 | - const fullHeaderEl = unref(injectValue.fullHeaderRef)?.$el; | 84 | + const fullHeaderEl = unref(injectValue.fullHeader)?.$el; |
85 | 85 | ||
86 | let height = 0; | 86 | let height = 0; |
87 | if (headerEl && !unref(getShowFullHeaderRef)) { | 87 | if (headerEl && !unref(getShowFullHeaderRef)) { |
src/layouts/default/index.tsx
@@ -21,14 +21,20 @@ import { useRootSetting } from '/@/hooks/setting/useRootSetting'; | @@ -21,14 +21,20 @@ import { useRootSetting } from '/@/hooks/setting/useRootSetting'; | ||
21 | import { createLayoutContext } from './useLayoutContext'; | 21 | import { createLayoutContext } from './useLayoutContext'; |
22 | 22 | ||
23 | import { registerGlobComp } from '/@/components/registerGlobComp'; | 23 | import { registerGlobComp } from '/@/components/registerGlobComp'; |
24 | - | 24 | +import { createBreakpointListen } from '/@/hooks/event/useBreakpoint'; |
25 | +import { isMobile } from '/@/utils/is'; | ||
25 | export default defineComponent({ | 26 | export default defineComponent({ |
26 | name: 'DefaultLayout', | 27 | name: 'DefaultLayout', |
27 | setup() { | 28 | setup() { |
28 | const { currentRoute } = useRouter(); | 29 | const { currentRoute } = useRouter(); |
29 | const headerRef = ref<ComponentRef>(null); | 30 | const headerRef = ref<ComponentRef>(null); |
31 | + const isMobileRef = ref(false); | ||
32 | + | ||
33 | + createLayoutContext({ fullHeader: headerRef, isMobile: isMobileRef }); | ||
30 | 34 | ||
31 | - createLayoutContext({ fullHeaderRef: headerRef }); | 35 | + createBreakpointListen(() => { |
36 | + isMobileRef.value = isMobile(); | ||
37 | + }); | ||
32 | 38 | ||
33 | // ! Only register global components here | 39 | // ! Only register global components here |
34 | // ! Can reduce the size of the first screen code | 40 | // ! Can reduce the size of the first screen code |
src/layouts/default/sider/index.tsx
@@ -81,7 +81,7 @@ export default defineComponent({ | @@ -81,7 +81,7 @@ export default defineComponent({ | ||
81 | topRef.value = 0; | 81 | topRef.value = 0; |
82 | if (unref(getUnFixedAndFull)) return; | 82 | if (unref(getUnFixedAndFull)) return; |
83 | nextTick(() => { | 83 | nextTick(() => { |
84 | - const fullHeaderEl = unref(injectValue.fullHeaderRef)?.$el; | 84 | + const fullHeaderEl = unref(injectValue.fullHeader)?.$el; |
85 | if (!fullHeaderEl) return; | 85 | if (!fullHeaderEl) return; |
86 | topRef.value = fullHeaderEl.offsetHeight; | 86 | topRef.value = fullHeaderEl.offsetHeight; |
87 | }); | 87 | }); |
@@ -121,10 +121,9 @@ export default defineComponent({ | @@ -121,10 +121,9 @@ export default defineComponent({ | ||
121 | return () => { | 121 | return () => { |
122 | return ( | 122 | return ( |
123 | <> | 123 | <> |
124 | - {unref(getMenuFixed) && ( | 124 | + {unref(getMenuFixed) && !unref(injectValue.isMobile) && ( |
125 | <div style={unref(getHiddenDomStyle)} class={{ hidden: !unref(showClassSideBarRef) }} /> | 125 | <div style={unref(getHiddenDomStyle)} class={{ hidden: !unref(showClassSideBarRef) }} /> |
126 | )} | 126 | )} |
127 | - | ||
128 | <Layout.Sider | 127 | <Layout.Sider |
129 | ref={sideRef} | 128 | ref={sideRef} |
130 | breakpoint="md" | 129 | breakpoint="md" |
src/layouts/default/useLayoutContext.ts
@@ -2,7 +2,8 @@ import { InjectionKey, Ref } from 'vue'; | @@ -2,7 +2,8 @@ import { InjectionKey, Ref } from 'vue'; | ||
2 | import { createContext, useContext } from '/@/hooks/core/useContext'; | 2 | import { createContext, useContext } from '/@/hooks/core/useContext'; |
3 | 3 | ||
4 | export interface LayoutContextProps { | 4 | export interface LayoutContextProps { |
5 | - fullHeaderRef: Ref<ComponentRef>; | 5 | + fullHeader: Ref<ComponentRef>; |
6 | + isMobile: Ref<boolean>; | ||
6 | } | 7 | } |
7 | 8 | ||
8 | const layoutContextInjectKey: InjectionKey<LayoutContextProps> = Symbol(); | 9 | const layoutContextInjectKey: InjectionKey<LayoutContextProps> = Symbol(); |
src/store/modules/tab.ts
@@ -97,10 +97,10 @@ class Tab extends VuexModule { | @@ -97,10 +97,10 @@ class Tab extends VuexModule { | ||
97 | const pageCacheSet = new Set<string>(); | 97 | const pageCacheSet = new Set<string>(); |
98 | this.tabsState.forEach((tab) => { | 98 | this.tabsState.forEach((tab) => { |
99 | const item = getRoute(tab); | 99 | const item = getRoute(tab); |
100 | - const needCache = !item.meta.ignoreKeepAlive; | 100 | + const needCache = !item.meta?.ignoreKeepAlive; |
101 | if (!needCache) return; | 101 | if (!needCache) return; |
102 | 102 | ||
103 | - if (item.meta.affix) { | 103 | + if (item.meta?.affix) { |
104 | const name = item.name as string; | 104 | const name = item.name as string; |
105 | pageCacheSet.add(name); | 105 | pageCacheSet.add(name); |
106 | } else if (item.matched && needCache) { | 106 | } else if (item.matched && needCache) { |
src/utils/is.ts
@@ -73,3 +73,9 @@ export function isImageDom(o: Element) { | @@ -73,3 +73,9 @@ export function isImageDom(o: Element) { | ||
73 | export const isTextarea = (element: Element | null): element is HTMLTextAreaElement => { | 73 | export const isTextarea = (element: Element | null): element is HTMLTextAreaElement => { |
74 | return element !== null && element.tagName.toLowerCase() === 'textarea'; | 74 | return element !== null && element.tagName.toLowerCase() === 'textarea'; |
75 | }; | 75 | }; |
76 | + | ||
77 | +export const isMobile = (): boolean => { | ||
78 | + return !!navigator.userAgent.match( | ||
79 | + /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i | ||
80 | + ); | ||
81 | +}; |
yarn.lock
@@ -1061,10 +1061,10 @@ | @@ -1061,10 +1061,10 @@ | ||
1061 | resolved "https://registry.npmjs.org/@iconify/iconify/-/iconify-2.0.0-rc.2.tgz#c4a95ddc06ca9b9496df03604e66fdefb39f4c4b" | 1061 | resolved "https://registry.npmjs.org/@iconify/iconify/-/iconify-2.0.0-rc.2.tgz#c4a95ddc06ca9b9496df03604e66fdefb39f4c4b" |
1062 | integrity sha512-BybEHU5/I9EQ0CcwKAqmreZ2bMnAXrqLCTptAc6vPetHMbrXdZfejP5mt57e/8PNSt/qE7BHniU5PCYA+PGIHw== | 1062 | integrity sha512-BybEHU5/I9EQ0CcwKAqmreZ2bMnAXrqLCTptAc6vPetHMbrXdZfejP5mt57e/8PNSt/qE7BHniU5PCYA+PGIHw== |
1063 | 1063 | ||
1064 | -"@iconify/json@^1.1.267": | ||
1065 | - version "1.1.267" | ||
1066 | - resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.267.tgz#52ab5390fcaf95e0d68260523a3a3fbc575dfe01" | ||
1067 | - integrity sha512-VKNvyALvbuwsXO7r2XvdoqdctmvJzp1/XYOXRfhJ4w+sjtWYp8T3oRGDJ0AZTafzGiBBUaMwCZVP+j87rqgD3w== | 1064 | +"@iconify/json@^1.1.267yar": |
1065 | + version "1.1.268" | ||
1066 | + resolved "https://registry.npmjs.org/@iconify/json/-/json-1.1.268.tgz#a2691302a6b49b52bc7c47da80e4a5f8fc8919db" | ||
1067 | + integrity sha512-eGk+KuK0Ld/XGb+SzRV2TVBddiGThTiw0ZT+19eMvt8yufRWzi9DeSaogvd5pZoXaDFH25r1fb06nz6PEMqefw== | ||
1068 | 1068 | ||
1069 | "@koa/cors@^3.1.0": | 1069 | "@koa/cors@^3.1.0": |
1070 | version "3.1.0" | 1070 | version "3.1.0" |
@@ -1174,6 +1174,18 @@ | @@ -1174,6 +1174,18 @@ | ||
1174 | is-module "^1.0.0" | 1174 | is-module "^1.0.0" |
1175 | resolve "^1.17.0" | 1175 | resolve "^1.17.0" |
1176 | 1176 | ||
1177 | +"@rollup/plugin-node-resolve@^11.0.0": | ||
1178 | + version "11.0.0" | ||
1179 | + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.0.tgz#770458fb26691a686c5f29f37dded94832ffce59" | ||
1180 | + integrity sha512-8Hrmwjn1pLYjUxcv7U7IPP0qfnzEJWHyHE6CaZ8jbLM+8axaarJRB1jB6JgKTDp5gNga+TpsgX6F8iuvgOerKQ== | ||
1181 | + dependencies: | ||
1182 | + "@rollup/pluginutils" "^3.1.0" | ||
1183 | + "@types/resolve" "1.17.1" | ||
1184 | + builtin-modules "^3.1.0" | ||
1185 | + deepmerge "^4.2.2" | ||
1186 | + is-module "^1.0.0" | ||
1187 | + resolve "^1.19.0" | ||
1188 | + | ||
1177 | "@rollup/plugin-node-resolve@^7.1.1": | 1189 | "@rollup/plugin-node-resolve@^7.1.1": |
1178 | version "7.1.3" | 1190 | version "7.1.3" |
1179 | resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" | 1191 | resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz#80de384edfbd7bfc9101164910f86078151a3eca" |
@@ -1198,18 +1210,6 @@ | @@ -1198,18 +1210,6 @@ | ||
1198 | is-module "^1.0.0" | 1210 | is-module "^1.0.0" |
1199 | resolve "^1.17.0" | 1211 | resolve "^1.17.0" |
1200 | 1212 | ||
1201 | -"@rollup/plugin-node-resolve@^9.0.0": | ||
1202 | - version "9.0.0" | ||
1203 | - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" | ||
1204 | - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== | ||
1205 | - dependencies: | ||
1206 | - "@rollup/pluginutils" "^3.1.0" | ||
1207 | - "@types/resolve" "1.17.1" | ||
1208 | - builtin-modules "^3.1.0" | ||
1209 | - deepmerge "^4.2.2" | ||
1210 | - is-module "^1.0.0" | ||
1211 | - resolve "^1.17.0" | ||
1212 | - | ||
1213 | "@rollup/plugin-replace@^2.3.1", "@rollup/plugin-replace@^2.3.3": | 1213 | "@rollup/plugin-replace@^2.3.1", "@rollup/plugin-replace@^2.3.3": |
1214 | version "2.3.4" | 1214 | version "2.3.4" |
1215 | resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz#7dd84c17755d62b509577f2db37eb524d7ca88ca" | 1215 | resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz#7dd84c17755d62b509577f2db37eb524d7ca88ca" |
@@ -1227,7 +1227,7 @@ | @@ -1227,7 +1227,7 @@ | ||
1227 | estree-walker "^1.0.1" | 1227 | estree-walker "^1.0.1" |
1228 | picomatch "^2.2.2" | 1228 | picomatch "^2.2.2" |
1229 | 1229 | ||
1230 | -"@rollup/pluginutils@^4.0.0", "@rollup/pluginutils@^4.1.0": | 1230 | +"@rollup/pluginutils@^4.1.0": |
1231 | version "4.1.0" | 1231 | version "4.1.0" |
1232 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" | 1232 | resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" |
1233 | integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== | 1233 | integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== |
@@ -2557,7 +2557,7 @@ chardet@^0.7.0: | @@ -2557,7 +2557,7 @@ chardet@^0.7.0: | ||
2557 | resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" | 2557 | resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" |
2558 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== | 2558 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== |
2559 | 2559 | ||
2560 | -chokidar@^3.4.2: | 2560 | +chokidar@^3.4.2, chokidar@^3.4.3: |
2561 | version "3.4.3" | 2561 | version "3.4.3" |
2562 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" | 2562 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" |
2563 | integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== | 2563 | integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== |
@@ -3170,6 +3170,11 @@ dateformat@^3.0.0: | @@ -3170,6 +3170,11 @@ dateformat@^3.0.0: | ||
3170 | resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" | 3170 | resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" |
3171 | integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== | 3171 | integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== |
3172 | 3172 | ||
3173 | +dayjs@^1.9.6: | ||
3174 | + version "1.9.6" | ||
3175 | + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.9.6.tgz#6f0c77d76ac1ff63720dd1197e5cb87b67943d70" | ||
3176 | + integrity sha512-HngNLtPEBWRo8EFVmHFmSXAjtCX8rGNqeXQI0Gh7wCTSqwaKgPIDqu9m07wABVopNwzvOeCb+2711vQhDlcIXw== | ||
3177 | + | ||
3173 | de-indent@^1.0.2: | 3178 | de-indent@^1.0.2: |
3174 | version "1.0.2" | 3179 | version "1.0.2" |
3175 | resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" | 3180 | resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" |
@@ -3542,11 +3547,6 @@ esbuild-register@^1.1.1: | @@ -3542,11 +3547,6 @@ esbuild-register@^1.1.1: | ||
3542 | source-map-support "^0.5.19" | 3547 | source-map-support "^0.5.19" |
3543 | strip-json-comments "^3.1.1" | 3548 | strip-json-comments "^3.1.1" |
3544 | 3549 | ||
3545 | -esbuild@^0.7.19: | ||
3546 | - version "0.7.22" | ||
3547 | - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.7.22.tgz#9149b903f8128b7c45a754046c24199d76bbe08e" | ||
3548 | - integrity sha512-B43SYg8LGWYTCv9Gs0RnuLNwjzpuWOoCaZHTWEDEf5AfrnuDMerPVMdCEu7xOdhFvQ+UqfP2MGU9lxEy0JzccA== | ||
3549 | - | ||
3550 | esbuild@^0.8.12: | 3550 | esbuild@^0.8.12: |
3551 | version "0.8.15" | 3551 | version "0.8.15" |
3552 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.15.tgz#cbc4d82a7fc4571d455233456e6fba83fd0364f1" | 3552 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.15.tgz#cbc4d82a7fc4571d455233456e6fba83fd0364f1" |
@@ -3557,6 +3557,11 @@ esbuild@^0.8.17: | @@ -3557,6 +3557,11 @@ esbuild@^0.8.17: | ||
3557 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.17.tgz#1c16c6d5988dcfdcf27a7e1612b7fd05e1477c54" | 3557 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.17.tgz#1c16c6d5988dcfdcf27a7e1612b7fd05e1477c54" |
3558 | integrity sha512-ReHap+Iyn5BQF0B8F3xrLwu+j57ri5uDUw2ej9XTPAuFDebYiWwRzBY4jhF610bklveXLbCGim/8/2wQKQlu1w== | 3558 | integrity sha512-ReHap+Iyn5BQF0B8F3xrLwu+j57ri5uDUw2ej9XTPAuFDebYiWwRzBY4jhF610bklveXLbCGim/8/2wQKQlu1w== |
3559 | 3559 | ||
3560 | +esbuild@^0.8.18: | ||
3561 | + version "0.8.18" | ||
3562 | + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.8.18.tgz#4a8c70df8fffa27164a26daa3ec58ce6f1315446" | ||
3563 | + integrity sha512-EPbCSr7Ems1loeoy1faUGnJOwTwSrGcoYVQ4f4T4JMKjxJxrWAg+zqXkZK7GvqxfvokPp3HV6Raqn6rqAuW7+Q== | ||
3564 | + | ||
3560 | escalade@^3.1.1: | 3565 | escalade@^3.1.1: |
3561 | version "3.1.1" | 3566 | version "3.1.1" |
3562 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" | 3567 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" |
@@ -6955,7 +6960,7 @@ resolve-url@^0.2.1: | @@ -6955,7 +6960,7 @@ resolve-url@^0.2.1: | ||
6955 | resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" | 6960 | resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" |
6956 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= | 6961 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= |
6957 | 6962 | ||
6958 | -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.3.2: | 6963 | +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.3.2: |
6959 | version "1.19.0" | 6964 | version "1.19.0" |
6960 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" | 6965 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" |
6961 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== | 6966 | integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== |
@@ -7021,12 +7026,12 @@ rollup-plugin-dynamic-import-variables@^1.1.0: | @@ -7021,12 +7026,12 @@ rollup-plugin-dynamic-import-variables@^1.1.0: | ||
7021 | globby "^11.0.0" | 7026 | globby "^11.0.0" |
7022 | magic-string "^0.25.7" | 7027 | magic-string "^0.25.7" |
7023 | 7028 | ||
7024 | -rollup-plugin-esbuild@^2.5.2: | ||
7025 | - version "2.5.2" | ||
7026 | - resolved "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-2.5.2.tgz#fd7d4a88518898012a9d07e4c3ef8b4009c244d3" | ||
7027 | - integrity sha512-E4q3ac1AlMd0m0ZRYffdiorOt2eZcxfbdPaqBLs7JLnPE8krgIAihOD6cTUc54UJjoOMA9WcY63TR+JKWLzYNw== | 7029 | +rollup-plugin-esbuild@^2.6.0: |
7030 | + version "2.6.0" | ||
7031 | + resolved "https://registry.npmjs.org/rollup-plugin-esbuild/-/rollup-plugin-esbuild-2.6.0.tgz#80336399b113a179ccb2af5bdf7c03f061f37146" | ||
7032 | + integrity sha512-wtyDAX8kNABrBfwkrrG2xLRKRGSWUyMBURS067IRvRMpgJlLRo14WcFl95uGc4iYWfdAx436/z1LMzYqdlY4ig== | ||
7028 | dependencies: | 7033 | dependencies: |
7029 | - "@rollup/pluginutils" "^4.0.0" | 7034 | + "@rollup/pluginutils" "^4.1.0" |
7030 | joycon "^2.2.5" | 7035 | joycon "^2.2.5" |
7031 | strip-json-comments "^3.1.1" | 7036 | strip-json-comments "^3.1.1" |
7032 | 7037 | ||
@@ -7135,6 +7140,13 @@ rollup@^2.32.1: | @@ -7135,6 +7140,13 @@ rollup@^2.32.1: | ||
7135 | optionalDependencies: | 7140 | optionalDependencies: |
7136 | fsevents "~2.1.2" | 7141 | fsevents "~2.1.2" |
7137 | 7142 | ||
7143 | +rollup@^2.34.1: | ||
7144 | + version "2.34.1" | ||
7145 | + resolved "https://registry.npmjs.org/rollup/-/rollup-2.34.1.tgz#a387230df02c58b242794a213dfb68b42de2c8fb" | ||
7146 | + integrity sha512-tGveB6NU5x4MS/iXaIsjfUkEv4hxzJJ4o0FRy5LO62Ndx3R2cmE1qsLYlSfRkvHUUPqWiFoxEm8pRftzh1a5HA== | ||
7147 | + optionalDependencies: | ||
7148 | + fsevents "~2.1.2" | ||
7149 | + | ||
7138 | run-async@^2.2.0: | 7150 | run-async@^2.2.0: |
7139 | version "2.4.1" | 7151 | version "2.4.1" |
7140 | resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" | 7152 | resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" |
@@ -8281,19 +8293,20 @@ vite-plugin-html@^1.0.0-beta.2: | @@ -8281,19 +8293,20 @@ vite-plugin-html@^1.0.0-beta.2: | ||
8281 | html-minifier-terser "^5.1.1" | 8293 | html-minifier-terser "^5.1.1" |
8282 | lodash "^4.17.20" | 8294 | lodash "^4.17.20" |
8283 | 8295 | ||
8284 | -vite-plugin-mock@^1.0.6: | ||
8285 | - version "1.0.6" | ||
8286 | - resolved "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-1.0.6.tgz#4f47f193fd48a02c66641fc7242bd5329f99b471" | ||
8287 | - integrity sha512-+IeCiZBgQt2BpKKzYwoB5bWrrUwiksQh/9zWUrsegGw14PXmXtXXmgHr3CkKjyIChZmvuBs1BPieHD8SyBQAGQ== | 8296 | +vite-plugin-mock@^1.0.9: |
8297 | + version "1.0.9" | ||
8298 | + resolved "https://registry.npmjs.org/vite-plugin-mock/-/vite-plugin-mock-1.0.9.tgz#035a63787f70f1094f3b3928ea0c0419dc353619" | ||
8299 | + integrity sha512-qWiF56y/U82EdyckZBxhEkrDQBaUc7QhLPcRN+Lu5eI0diA0MvVvucgCueq4/0mEYJpBcaVWsy83cAGb49AQsA== | ||
8288 | dependencies: | 8300 | dependencies: |
8289 | - "@rollup/plugin-node-resolve" "^9.0.0" | 8301 | + "@rollup/plugin-node-resolve" "^11.0.0" |
8290 | chalk "^4.1.0" | 8302 | chalk "^4.1.0" |
8291 | - chokidar "^3.4.2" | ||
8292 | - esbuild "^0.7.19" | 8303 | + chokidar "^3.4.3" |
8304 | + dayjs "^1.9.6" | ||
8305 | + esbuild "^0.8.18" | ||
8293 | glob "^7.1.6" | 8306 | glob "^7.1.6" |
8294 | koa-bodyparser "^4.3.0" | 8307 | koa-bodyparser "^4.3.0" |
8295 | - rollup "^2.32.1" | ||
8296 | - rollup-plugin-esbuild "^2.5.2" | 8308 | + rollup "^2.34.1" |
8309 | + rollup-plugin-esbuild "^2.6.0" | ||
8297 | 8310 | ||
8298 | vite-plugin-purge-icons@^0.4.5: | 8311 | vite-plugin-purge-icons@^0.4.5: |
8299 | version "0.4.5" | 8312 | version "0.4.5" |