Commit efbde0d57e20d07373d78d1226e2e83f396a74f3

Authored by vben
1 parent fb57cf73

perf(i18n): merge common lang

Showing 47 changed files with 175 additions and 102 deletions
package.json
... ... @@ -96,7 +96,7 @@
96 96 "stylelint-order": "^4.1.0",
97 97 "ts-node": "^9.1.0",
98 98 "typescript": "^4.1.3",
99   - "vite": "^2.0.0-beta.22",
  99 + "vite": "^2.0.0-beta.23",
100 100 "vite-plugin-html": "^2.0.0-beta.5",
101 101 "vite-plugin-mock": "^2.0.0-beta.3",
102 102 "vite-plugin-purge-icons": "^0.5.0",
... ...
src/components/Application/src/search/AppSearch.vue
1 1 <template>
2 2 <div :class="prefixCls" v-if="getShowSearch" @click.stop="handleSearch">
3 3 <Tooltip>
4   - <template #title> {{ t('component.app.search') }} </template>
  4 + <template #title> {{ t('common.searchText') }} </template>
5 5 <SearchOutlined />
6 6 </Tooltip>
7 7  
... ...
src/components/Application/src/search/AppSearchFooter.vue
... ... @@ -15,7 +15,7 @@
15 15 <span :class="`${prefixCls}__item`">
16 16 <g-icon icon="mdi:keyboard-esc" />
17 17 </span>
18   - <span>{{ t('component.app.toClose') }}</span>
  18 + <span>{{ t('common.closeText') }}</span>
19 19 </div>
20 20 </template>
21 21 <script lang="ts">
... ... @@ -47,7 +47,7 @@
47 47 font-size: 12px;
48 48 color: #666;
49 49 background: rgb(255 255 255);
50   - border-radius: 0 0 8px 8px;
  50 + border-radius: 0 0 16px 16px;
51 51 box-shadow: 0 -1px 0 0 #e0e3e8, 0 -3px 6px 0 rgba(69, 98, 155, 0.12);
52 52 align-items: center;
53 53 flex-shrink: 0;
... ...
src/components/Application/src/search/AppSearchModal.vue
... ... @@ -7,7 +7,7 @@
7 7 <div :class="`${prefixCls}-input__wrapper`">
8 8 <a-input
9 9 :class="`${prefixCls}-input`"
10   - :placeholder="t('component.app.search')"
  10 + :placeholder="t('common.searchText')"
11 11 allow-clear
12 12 @change="handleSearch"
13 13 >
... ... @@ -16,7 +16,7 @@
16 16 </template>
17 17 </a-input>
18 18 <span :class="`${prefixCls}-cancel`" @click="handleClose">{{
19   - t('component.app.cancel')
  19 + t('common.cancelText')
20 20 }}</span>
21 21 </div>
22 22  
... ... @@ -116,6 +116,7 @@
116 116 scrollWrap,
117 117 handleMouseenter,
118 118 handleClose: () => {
  119 + searchResult.value = [];
119 120 emit('close');
120 121 },
121 122 };
... ... @@ -135,7 +136,7 @@
135 136 height: 100%;
136 137 padding-top: 50px;
137 138 // background: #656c85cc;
138   - background: rgba(0, 0, 0, 0.8);
  139 + background: rgba(0, 0, 0, 0.25);
139 140 justify-content: center;
140 141 // backdrop-filter: blur(2px);
141 142  
... ... @@ -178,12 +179,13 @@
178 179  
179 180 &-content {
180 181 position: relative;
181   - width: 532px;
  182 + width: 632px;
182 183 // padding: 14px;
183 184 margin: 0 auto auto auto;
184 185 background: #f5f6f7;
185   - border-radius: 6px;
186   - box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5), 0 3px 8px 0 #555a64;
  186 + border-radius: 16px;
  187 + box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  188 + // box-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, 0.5), 0 3px 8px 0 #555a64;
187 189 flex-direction: column;
188 190 }
189 191  
... ... @@ -196,9 +198,10 @@
196 198  
197 199 &-input {
198 200 width: 100%;
199   - height: 56px;
  201 + height: 48px;
200 202 font-size: 1.5em;
201 203 color: #1c1e21;
  204 + border-radius: 6px;
202 205  
203 206 span[role='img'] {
204 207 color: #999;
... ...
src/components/Application/src/search/useMenuSearch.ts
1 1 import { cloneDeep } from 'lodash-es';
2   -import { ref, onBeforeMount, unref, Ref } from 'vue';
  2 +import { ref, onBeforeMount, unref, Ref, nextTick } from 'vue';
3 3 import { useI18n } from '/@/hooks/web/useI18n';
4 4 import { getMenus } from '/@/router/menus';
5 5 import type { Menu } from '/@/router/types';
... ... @@ -130,7 +130,7 @@ export function useMenuSearch(refs: Ref&lt;HTMLElement[]&gt;, scrollWrap: Ref&lt;ElRef&gt;,
130 130 start();
131 131 }
132 132  
133   - function handleEnter() {
  133 + async function handleEnter() {
134 134 if (!searchResult.value.length) return;
135 135 const result = unref(searchResult);
136 136 const index = unref(activeIndex);
... ... @@ -139,10 +139,12 @@ export function useMenuSearch(refs: Ref&lt;HTMLElement[]&gt;, scrollWrap: Ref&lt;ElRef&gt;,
139 139 }
140 140 const to = result[index];
141 141 handleClose();
  142 + await nextTick();
142 143 go(to.path);
143 144 }
144 145  
145 146 function handleClose() {
  147 + searchResult.value = [];
146 148 emit('close');
147 149 }
148 150  
... ...
src/components/Button/src/PopConfirmButton.vue
1 1 <script lang="ts">
2   - import { defineComponent, h, unref } from 'vue';
  2 + import { defineComponent, h, unref, computed } from 'vue';
3 3  
4 4 import { Popconfirm } from 'ant-design-vue';
5 5 import BasicButton from './BasicButton.vue';
... ... @@ -7,7 +7,6 @@
7 7 import { useI18n } from '/@/hooks/web/useI18n';
8 8 import { extendSlots } from '/@/utils/helper/tsxHelper';
9 9 import { omit } from 'lodash-es';
10   - const { t } = useI18n();
11 10  
12 11 export default defineComponent({
13 12 name: 'PopButton',
... ... @@ -15,19 +14,29 @@
15 14 components: { Popconfirm, BasicButton },
16 15 props: {
17 16 enable: propTypes.bool.def(true),
18   - okText: propTypes.string.def(t('component.drawer.okText')),
19   - cancelText: propTypes.string.def(t('component.drawer.cancelText')),
  17 + okText: propTypes.string,
  18 + cancelText: propTypes.string,
20 19 },
21 20 setup(props, { slots, attrs }) {
22   - return () => {
23   - const popValues = { ...props, ...unref(attrs) };
  21 + const { t } = useI18n();
24 22  
  23 + const getBindValues = computed(() => {
  24 + const popValues = Object.assign(
  25 + {
  26 + okText: t('common.okText'),
  27 + cancelText: t('common.cancelText'),
  28 + },
  29 + { ...props, ...unref(attrs) }
  30 + );
  31 + return popValues;
  32 + });
  33 + return () => {
25 34 const Button = h(BasicButton, omit(unref(attrs), 'icon'), extendSlots(slots));
26 35 if (!props.enable) {
27 36 return Button;
28 37 }
29 38  
30   - return h(Popconfirm, omit(popValues, 'icon'), { default: () => Button });
  39 + return h(Popconfirm, omit(unref(getBindValues), 'icon'), { default: () => Button });
31 40 };
32 41 },
33 42 });
... ...
src/components/Drawer/src/BasicDrawer.vue
... ... @@ -16,7 +16,7 @@
16 16 <ScrollContainer
17 17 :style="getScrollContentStyle"
18 18 v-loading="getLoading"
19   - :loading-tip="loadingText || t('component.drawer.loadingText')"
  19 + :loading-tip="loadingText || t('common.loadingText')"
20 20 >
21 21 <slot />
22 22 </ScrollContainer>
... ...
src/components/Drawer/src/props.ts
... ... @@ -11,13 +11,13 @@ export const footerProps = {
11 11 */
12 12 showCancelBtn: propTypes.bool.def(true),
13 13 cancelButtonProps: Object as PropType<Recordable>,
14   - cancelText: propTypes.string.def(t('component.drawer.cancelText')),
  14 + cancelText: propTypes.string.def(t('common.cancelText')),
15 15 /**
16 16 * @description: Show confirmation button
17 17 */
18 18 showOkBtn: propTypes.bool.def(true),
19 19 okButtonProps: Object as PropType<Recordable>,
20   - okText: propTypes.string.def(t('component.drawer.okText')),
  20 + okText: propTypes.string.def(t('common.okText')),
21 21 okType: propTypes.string.def('primary'),
22 22 showFooter: propTypes.bool,
23 23 footerHeight: {
... ...
src/components/Form/src/components/FormAction.vue
... ... @@ -101,7 +101,7 @@
101 101 (): ButtonOptions => {
102 102 return Object.assign(
103 103 {
104   - text: t('component.form.resetButton'),
  104 + text: t('common.resetText'),
105 105 },
106 106 props.resetButtonOptions
107 107 );
... ... @@ -111,7 +111,7 @@
111 111 const getSubmitBtnOptions = computed(() => {
112 112 return Object.assign(
113 113 {
114   - text: t('component.form.submitButton'),
  114 + text: t('common.queryText'),
115 115 },
116 116 props.submitButtonOptions
117 117 );
... ...
src/components/Form/src/helper.ts
... ... @@ -10,10 +10,10 @@ const { t } = useI18n();
10 10 */
11 11 export function createPlaceholderMessage(component: ComponentType) {
12 12 if (component.includes('Input') || component.includes('Complete')) {
13   - return t('component.form.input');
  13 + return t('common.inputText');
14 14 }
15 15 if (component.includes('Picker')) {
16   - return t('component.form.choose');
  16 + return t('common.chooseText');
17 17 }
18 18 if (
19 19 component.includes('Select') ||
... ... @@ -23,7 +23,7 @@ export function createPlaceholderMessage(component: ComponentType) {
23 23 component.includes('Switch')
24 24 ) {
25 25 // return `请选择${label}`;
26   - return t('component.form.choose');
  26 + return t('common.chooseText');
27 27 }
28 28 return '';
29 29 }
... ...
src/components/MenuPlus/index.ts 0 → 100644
  1 +export { default as Menu } from './src/index.vue';
... ...
src/components/MenuPlus/src/index.vue 0 → 100644
  1 +<template>
  2 + <ul :class="getClass" :style="getStyle">
  3 + <slot></slot>
  4 + </ul>
  5 +</template>
  6 +
  7 +<script lang="ts">
  8 + import { defineComponent, ref, computed, CSSProperties, unref } from 'vue';
  9 + import { useDesign } from '/@/hooks/web/useDesign';
  10 + import { propTypes } from '/@/utils/propTypes';
  11 + export default defineComponent({
  12 + props: {
  13 + mode: propTypes.oneOf(['horizontal', 'vertical']).def('vertical'),
  14 + theme: propTypes.oneOf(['light', 'dark', 'primary']).def('light'),
  15 + activeName: propTypes.oneOfType([propTypes.string, propTypes.number]),
  16 + openNames: propTypes.array.def([]),
  17 + accordion: propTypes.bool,
  18 + width: propTypes.string.def('210px'),
  19 + },
  20 + setup(props) {
  21 + const currentActiveName = ref(props.activeName);
  22 + const openedNames = ref<string[]>();
  23 +
  24 + const { prefixCls } = useDesign('menu');
  25 +
  26 + const getClass = computed(() => {
  27 + const { theme, mode } = props;
  28 + let curTheme = theme;
  29 + if (mode === 'vertical' && theme === 'primary') {
  30 + curTheme = 'light';
  31 + }
  32 + return [
  33 + prefixCls,
  34 + `${prefixCls}-${curTheme}`,
  35 + {
  36 + [`${prefixCls}-${mode}`]: mode,
  37 + },
  38 + ];
  39 + });
  40 +
  41 + const getStyle = computed(
  42 + (): CSSProperties => {
  43 + const { mode, width } = props;
  44 + if (mode === 'vertical') {
  45 + return {
  46 + width: width,
  47 + };
  48 + }
  49 + return {};
  50 + }
  51 + );
  52 +
  53 + function updateActiveName() {
  54 + if (unref(currentActiveName) === undefined) {
  55 + currentActiveName.value = -1;
  56 + }
  57 + }
  58 +
  59 + function updateOpened() {}
  60 +
  61 + return { getClass, getStyle };
  62 + },
  63 + });
  64 +</script>
... ...
src/components/Modal/src/BasicModal.vue
... ... @@ -127,6 +127,7 @@
127 127  
128 128 watchEffect(() => {
129 129 visibleRef.value = !!props.visible;
  130 + fullScreenRef.value = !!props.defaultFullscreen;
130 131 });
131 132  
132 133 watch(
... ...
src/components/Modal/src/props.ts
... ... @@ -13,13 +13,14 @@ export const modalProps = {
13 13 // open drag
14 14 draggable: propTypes.bool.def(true),
15 15 centered: propTypes.bool,
16   - cancelText: propTypes.string.def(t('component.modal.cancelText')),
17   - okText: propTypes.string.def(t('component.modal.okText')),
  16 + cancelText: propTypes.string.def(t('common.cancelText')),
  17 + okText: propTypes.string.def(t('common.okText')),
18 18  
19 19 closeFunc: Function as PropType<() => Promise<boolean>>,
20 20 };
21 21  
22 22 export const basicProps = Object.assign({}, modalProps, {
  23 + defaultFullscreen: propTypes.bool,
23 24 // Can it be full screen
24 25 canFullscreen: propTypes.bool.def(true),
25 26 // After enabling the wrapper, the bottom can be increased in height
... ...
src/components/Preview/src/index.vue
... ... @@ -21,9 +21,26 @@
21 21 import { Image } from 'ant-design-vue';
22 22 import { useDesign } from '/@/hooks/web/useDesign';
23 23 import { propTypes } from '/@/utils/propTypes';
24   - import { ImageItem } from './types';
25 24 import { isString } from '/@/utils/is';
26 25  
  26 + interface ImageProps {
  27 + alt?: string;
  28 + fallback?: string;
  29 + src: string;
  30 + width: string | number;
  31 + height?: string | number;
  32 + placeholder?: string | boolean;
  33 + preview?:
  34 + | boolean
  35 + | {
  36 + visible?: boolean;
  37 + onVisibleChange?: (visible: boolean, prevVisible: boolean) => void;
  38 + getContainer: string | HTMLElement | (() => HTMLElement);
  39 + };
  40 + }
  41 +
  42 + type ImageItem = string | ImageProps;
  43 +
27 44 export default defineComponent({
28 45 name: 'ImagePreview',
29 46 components: {
... ...
src/components/Table/src/components/settings/ColumnSetting.vue
... ... @@ -33,7 +33,7 @@
33 33 </Checkbox>
34 34  
35 35 <a-button size="small" type="link" @click="reset">
36   - {{ t('component.table.settingReset') }}
  36 + {{ t('common.resetText') }}
37 37 </a-button>
38 38 </div>
39 39 </template>
... ...
src/components/Table/src/components/settings/RedoSetting.vue
1 1 <template>
2 2 <Tooltip placement="top">
3 3 <template #title>
4   - <span>{{ t('component.table.settingRedo') }}</span>
  4 + <span>{{ t('common.redo') }}</span>
5 5 </template>
6 6 <RedoOutlined @click="redo" />
7 7 </Tooltip>
... ...
src/layouts/default/setting/components/SettingFooter.vue
... ... @@ -7,7 +7,7 @@
7 7  
8 8 <a-button color="warning" block @click="handleResetSetting" class="my-3">
9 9 <RedoOutlined class="mr-2" />
10   - {{ t('layout.setting.resetBtn') }}
  10 + {{ t('common.resetText') }}
11 11 </a-button>
12 12  
13 13 <a-button color="error" block @click="handleClearAndRedo">
... ...
src/layouts/default/tabs/components/TabRedo.vue
1 1 <template>
2   - <Tooltip :title="t('layout.multipleTab.tooltipRedo')" placement="bottom" :mouseEnterDelay="0.5">
  2 + <Tooltip :title="t('common.redo')" placement="bottom" :mouseEnterDelay="0.5">
3 3 <span :class="`${prefixCls}__extra-redo`" @click="handleRedo">
4 4 <RedoOutlined :spin="loading" />
5 5 </span>
... ...
src/layouts/default/tabs/useTabDropdown.ts
... ... @@ -51,7 +51,7 @@ export function useTabDropdown(tabContentProps: TabContentProps) {
51 51 {
52 52 icon: 'ion:reload-sharp',
53 53 event: MenuEventEnum.REFRESH_PAGE,
54   - text: t('layout.multipleTab.redo'),
  54 + text: t('layout.multipleTab.reload'),
55 55 disabled: refreshDisabled,
56 56 },
57 57 {
... ...
src/locales/lang/en/common.ts 0 → 100644
  1 +export default {
  2 + okText: 'OK',
  3 + closeText: 'Close',
  4 + cancelText: 'Cancel',
  5 + loadingText: 'Loading...',
  6 + saveText: 'Save',
  7 + delText: 'Delete',
  8 + resetText: 'Reset',
  9 + searchText: 'Search',
  10 + queryText: 'Search',
  11 +
  12 + inputText: 'Please enter',
  13 + chooseText: 'Please choose',
  14 +
  15 + redo: 'Refresh',
  16 + back: 'Back',
  17 +};
... ...
src/locales/lang/en/component/app.ts
1 1 export default {
2   - search: 'Search',
3   - cancel: 'Cancel',
4 2 searchNotData: 'No search results yet',
5 3 toSearch: 'to search',
6 4 toNavigate: 'to navigate',
7   - toClose: 'to close',
8   -
9   - okText: 'Confirm',
10   - cancelText: 'Cancel',
11 5 };
... ...
src/locales/lang/en/component/drawer.ts deleted 100644 → 0
1   -export default {
2   - loadingText: 'Loading...',
3   - cancelText: 'Close',
4   - okText: 'Confirm',
5   -};
src/locales/lang/en/component/form.ts
1 1 export default {
2   - resetButton: 'Reset',
3   - submitButton: 'Search',
4 2 putAway: 'Put away',
5 3 unfold: 'Unfold',
6 4  
7   - input: 'Please Input ',
8   - choose: 'Please Choose ',
9   -
10 5 maxTip: 'The number of characters should be less than {0}',
11 6  
12 7 apiSelectNotFound: 'Wait for data loading to complete...',
... ...
src/locales/lang/en/component/menu.ts deleted 100644 → 0
1   -export default {
2   - search: 'Menu search',
3   -};
src/locales/lang/en/component/modal.ts deleted 100644 → 0
1   -export default {
2   - cancelText: 'Close',
3   - okText: 'Confirm',
4   -};
src/locales/lang/en/component/table.ts
1 1 export default {
2   - settingRedo: 'Refresh',
3 2 settingDens: 'Density',
4 3 settingDensDefault: 'Default',
5 4 settingDensMiddle: 'Middle',
... ... @@ -8,7 +7,6 @@ export default {
8 7 settingColumnShow: 'Column display',
9 8 settingIndexColumnShow: 'Index Column',
10 9 settingSelectColumnShow: 'Selection Column',
11   - settingReset: 'Reset',
12 10 settingFixedLeft: 'Fixed Left',
13 11 settingFixedRight: 'Fixed Right',
14 12 settingFullScreen: 'Full Screen',
... ...
src/locales/lang/en/layout/header.ts
... ... @@ -3,7 +3,6 @@ export default {
3 3 dropdownItemDoc: 'Document',
4 4 dropdownItemLoginOut: 'Login Out',
5 5  
6   - search: 'Search',
7 6 tooltipErrorLog: 'Error log',
8 7 tooltipLock: 'Lock screen',
9 8 tooltipNotify: 'Notification',
... ...
src/locales/lang/en/layout/multipleTab.ts
... ... @@ -5,5 +5,4 @@ export default {
5 5 closeRight: 'Close Right',
6 6 closeOther: 'Close Other',
7 7 closeAll: 'Close All',
8   - tooltipRedo: 'Refresh',
9 8 };
... ...
src/locales/lang/en/layout/setting.ts
... ... @@ -26,7 +26,6 @@ export default {
26 26 resetSuccess: 'Successfully reset!',
27 27  
28 28 copyBtn: 'Copy',
29   - resetBtn: 'Reset',
30 29 clearBtn: 'Clear cache and to the login page',
31 30  
32 31 drawerTitle: 'Configuration',
... ...
src/locales/lang/en/sys/exception.ts
1 1 export default {
2 2 backLogin: 'Back Login',
3 3 backHome: 'Back Home',
4   - redo: 'Refresh',
5 4 subTitle403: "Sorry, you don't have access to this page.",
6 5 subTitle404: 'Sorry, the page you visited does not exist.',
7 6 subTitle500: 'Sorry, the server is reporting an error.',
... ...
src/locales/lang/en/sys/lock.ts
... ... @@ -2,7 +2,6 @@ export default {
2 2 unlock: 'Click to unlock',
3 3 alert: 'Lock screen password error',
4 4 backToLogin: 'Back to login',
5   - back: 'Back',
6 5 entry: 'Enter the system',
7 6 placeholder: 'Please enter the lock screen password or user password',
8 7 };
... ...
src/locales/lang/zh_CN/common.ts 0 → 100644
  1 +export default {
  2 + okText: '确认',
  3 + closeText: '关闭',
  4 + cancelText: '取消',
  5 + loadingText: '加载中...',
  6 + saveText: '保存',
  7 + delText: '删除',
  8 + resetText: '重置',
  9 + searchText: '搜索',
  10 + queryText: '查询',
  11 +
  12 + inputText: '请输入',
  13 + chooseText: '请选择',
  14 +
  15 + redo: '刷新',
  16 + back: '返回',
  17 +};
... ...
src/locales/lang/zh_CN/component/app.ts
1 1 export default {
2   - search: '搜索',
3   - cancel: '取消',
4 2 searchNotData: '暂无搜索结果',
5 3 toSearch: '确认',
6 4 toNavigate: '切换',
7   - toClose: '关闭',
8   - okText: '确认',
9   - cancelText: '取消',
10 5 };
... ...
src/locales/lang/zh_CN/component/drawer.ts deleted 100644 → 0
1   -export default {
2   - loadingText: '加载中...',
3   - cancelText: '关闭',
4   - okText: '确认',
5   -};
src/locales/lang/zh_CN/component/form.ts
1 1 export default {
2   - resetButton: '重置',
3   - submitButton: '查询',
4 2 putAway: '收起',
5 3 unfold: '展开',
6 4  
7   - input: '请输入',
8   - choose: '请选择',
9   -
10 5 maxTip: '字符数应小于{0}位',
11 6  
12 7 apiSelectNotFound: '请等待数据加载完成...',
... ...
src/locales/lang/zh_CN/component/menu.ts deleted 100644 → 0
1   -export default {
2   - search: '菜单搜索',
3   -};
src/locales/lang/zh_CN/component/modal.ts deleted 100644 → 0
1   -export default {
2   - cancelText: '关闭',
3   - okText: '确认',
4   -};
src/locales/lang/zh_CN/component/table.ts
1 1 export default {
2   - settingRedo: '刷新',
3 2 settingDens: '密度',
4 3 settingDensDefault: '默认',
5 4 settingDensMiddle: '中等',
6 5 settingDensSmall: '紧凑',
7 6 settingColumn: '列设置',
8 7 settingColumnShow: '列展示',
9   - settingReset: '重置',
10 8 settingIndexColumnShow: '序号列',
11 9 settingSelectColumnShow: '勾选列',
12 10 settingFixedLeft: '固定到左侧',
... ...
src/locales/lang/zh_CN/layout/header.ts
... ... @@ -4,7 +4,6 @@ export default {
4 4 dropdownItemLoginOut: '退出系统',
5 5  
6 6 // tooltip
7   - search: '搜索',
8 7 tooltipErrorLog: '错误日志',
9 8 tooltipLock: '锁定屏幕',
10 9 tooltipNotify: '消息通知',
... ...
src/locales/lang/zh_CN/layout/multipleTab.ts
1 1 export default {
2   - redo: '重新加载',
  2 + reload: '重新加载',
3 3 close: '关闭标签页',
4 4 closeLeft: '关闭左侧标签页',
5 5 closeRight: '关闭右侧标签页',
6 6 closeOther: '关闭其它标签页',
7 7 closeAll: '关闭全部标签页',
8   - tooltipRedo: '刷新',
9 8 };
... ...
src/locales/lang/zh_CN/layout/setting.ts
... ... @@ -25,7 +25,6 @@ export default {
25 25 resetSuccess: '重置成功!',
26 26  
27 27 copyBtn: '拷贝',
28   - resetBtn: '重置',
29 28 clearBtn: '清空缓存并返回登录页',
30 29  
31 30 drawerTitle: '项目配置',
... ...
src/locales/lang/zh_CN/sys/exception.ts
1 1 export default {
2 2 backLogin: '返回登录',
3 3 backHome: '返回首页',
4   - redo: '刷新',
5 4 subTitle403: '抱歉,您无权访问此页面。',
6 5 subTitle404: '抱歉,您访问的页面不存在。',
7 6 subTitle500: '抱歉,服务器报告错误。',
... ...
src/locales/lang/zh_CN/sys/lock.ts
1 1 export default {
2 2 unlock: '点击解锁',
3 3 alert: '锁屏密码错误',
4   - back: '返回',
5 4 backToLogin: '返回登录',
6 5 entry: '进入系统',
7 6 placeholder: '请输入锁屏密码或者用户密码',
... ...
src/views/sys/exception/Exception.tsx
... ... @@ -97,7 +97,7 @@ export default defineComponent({
97 97 unref(statusMapRef).set(ExceptionEnum.PAGE_NOT_DATA, {
98 98 title: t('sys.exception.noDataTitle'),
99 99 subTitle: '',
100   - btnText: t('sys.exception.redo'),
  100 + btnText: t('common.redo'),
101 101 handler: () => redo(),
102 102 icon: notDataImg,
103 103 });
... ...
src/views/sys/lock/LockPage.vue
... ... @@ -31,7 +31,7 @@
31 31 :disabled="loadingRef"
32 32 @click="handleShowForm(true)"
33 33 >
34   - {{ t('sys.lock.back') }}
  34 + {{ t('common.back') }}
35 35 </a-button>
36 36 <a-button
37 37 type="link"
... ...
yarn.lock
... ... @@ -7835,10 +7835,10 @@ vite-plugin-pwa@^0.3.5:
7835 7835 pretty-bytes "^5.5.0"
7836 7836 workbox-build "^6.0.2"
7837 7837  
7838   -vite@^2.0.0-beta.22:
7839   - version "2.0.0-beta.22"
7840   - resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.22.tgz#c33a4689fe1659bfdc87a36b9e8527baea0e3119"
7841   - integrity sha512-Mj9qTSYx0625htRTClQV4OLQhjhujgHCV/FStGNu8G9NcHp3MP56gc6+UoRgQzrAsK8HI9MKfcW+NFgljoJKyA==
  7838 +vite@^2.0.0-beta.23:
  7839 + version "2.0.0-beta.23"
  7840 + resolved "https://registry.npmjs.org/vite/-/vite-2.0.0-beta.23.tgz#9cbbfc85c5737f5bdee4784c7b838365852396f7"
  7841 + integrity sha512-vrQ56VBUCSjNFgx6DapDXMo6fkW2s3S7zmxWCIEE2ZiAbxoTQCic+NveTiMRA4+JF29ZQf00tzsAri6BIzi9VA==
7842 7842 dependencies:
7843 7843 esbuild "^0.8.26"
7844 7844 postcss "^8.2.1"
... ...