perf: optimize the naming of locale key
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
import type { UserInfo } from '@vben/types';
|
||||
|
||||
import type { UserApiType } from '../types';
|
||||
import type { UserApi } from '../types';
|
||||
|
||||
import { requestClient } from '#/forward';
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
async function userLogin(data: UserApiType.LoginParams) {
|
||||
return requestClient.post<UserApiType.LoginResult>('/auth/login', data);
|
||||
async function userLogin(data: UserApi.LoginParams) {
|
||||
return requestClient.post<UserApi.LoginResult>('/auth/login', data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,4 +1,4 @@
|
||||
namespace UserApiType {
|
||||
namespace UserApi {
|
||||
/** 登录接口参数 */
|
||||
export interface LoginParams {
|
||||
password: string;
|
||||
@@ -16,4 +16,4 @@ namespace UserApiType {
|
||||
}
|
||||
}
|
||||
|
||||
export type { UserApiType };
|
||||
export type { UserApi };
|
||||
|
@@ -17,7 +17,7 @@ async function bootstrap(namespace: string) {
|
||||
await setupI18n(app, {
|
||||
defaultLocale: preferences.app.locale,
|
||||
loadMessages,
|
||||
missingWarn: import.meta.env.PROD,
|
||||
missingWarn: !import.meta.env.PROD,
|
||||
});
|
||||
|
||||
// 配置 pinia-store
|
||||
|
@@ -25,7 +25,7 @@ async function generateAccess(options: GeneratorMenuAndRoutesOptions) {
|
||||
...options,
|
||||
fetchMenuListAsync: async () => {
|
||||
message.loading({
|
||||
content: `${$t('common.loading-menu')}...`,
|
||||
content: `${$t('common.loadingMenu')}...`,
|
||||
duration: 1.5,
|
||||
});
|
||||
return await getAllMenus();
|
||||
|
@@ -16,6 +16,7 @@ const localesMap = loadLocalesMap(modules);
|
||||
|
||||
/**
|
||||
* 加载应用特有的语言包
|
||||
* 这里也可以改造为从服务端获取翻译数据
|
||||
* @param lang
|
||||
*/
|
||||
async function loadMessages(lang: SupportedLanguagesType) {
|
||||
|
@@ -4,29 +4,28 @@
|
||||
"title": "Demos",
|
||||
"access": {
|
||||
"title": "Access Control",
|
||||
"frontend-control": "Front-end Control",
|
||||
"backend-control": "Backend Control",
|
||||
"page": "Page visit",
|
||||
"button": "Button control",
|
||||
"loading-menu": "In the loading menu",
|
||||
"access-test-1": "Super visit",
|
||||
"access-test-2": "Admin visit",
|
||||
"access-test-3": "User visit"
|
||||
"frontendControl": "Frontend Control",
|
||||
"backendControl": "Backend Control",
|
||||
"pageAccess": "Page Access",
|
||||
"buttonControl": "Button Control",
|
||||
"superVisible": "Visible to Super",
|
||||
"adminVisible": "Visible to Admin",
|
||||
"userVisible": "Visible to User"
|
||||
},
|
||||
"nested": {
|
||||
"title": "Nested Menu",
|
||||
"menu1": "Menu 1",
|
||||
"menu2": "Menu 2",
|
||||
"menu21": "Menu 2-1",
|
||||
"menu2_1": "Menu 2-1",
|
||||
"menu3": "Menu 3",
|
||||
"menu31": "Menu 3-1",
|
||||
"menu32": "Menu 3-2",
|
||||
"menu321": "Menu 3-2-1"
|
||||
"menu3_1": "Menu 3-1",
|
||||
"menu3_2": "Menu 3-2",
|
||||
"menu3_2_1": "Menu 3-2-1"
|
||||
},
|
||||
"outside": {
|
||||
"title": "External Page",
|
||||
"embedded": "embedded Page",
|
||||
"external-link": "External Link"
|
||||
"title": "External Pages",
|
||||
"embedded": "Embedded",
|
||||
"externalLink": "External Link"
|
||||
},
|
||||
"fallback": { "title": "Fallback Page" }
|
||||
}
|
||||
|
@@ -4,28 +4,28 @@
|
||||
"title": "演示",
|
||||
"access": {
|
||||
"title": "访问控制",
|
||||
"frontend-control": "前端控制",
|
||||
"backend-control": "后端控制",
|
||||
"page": "页面访问",
|
||||
"button": "按钮控制",
|
||||
"access-test-1": "Super 可见",
|
||||
"access-test-2": "Admin 可见",
|
||||
"access-test-3": "User 可见"
|
||||
"frontendControl": "前端控制",
|
||||
"backendControl": "后端控制",
|
||||
"pageAccess": "页面访问",
|
||||
"buttonControl": "按钮控制",
|
||||
"superVisible": "Super 可见",
|
||||
"adminVisible": "Admin 可见",
|
||||
"userVisible": "User 可见"
|
||||
},
|
||||
"nested": {
|
||||
"title": "嵌套菜单",
|
||||
"menu1": "菜单 1",
|
||||
"menu2": "菜单 2",
|
||||
"menu21": "菜单 2-1",
|
||||
"menu2_1": "菜单 2-1",
|
||||
"menu3": "菜单 3",
|
||||
"menu31": "菜单 3-1",
|
||||
"menu32": "菜单 3-2",
|
||||
"menu321": "菜单 3-2-1"
|
||||
"menu3_1": "菜单 3-1",
|
||||
"menu3_2": "菜单 3-2",
|
||||
"menu3_2_1": "菜单 3-2-1"
|
||||
},
|
||||
"outside": {
|
||||
"title": "外部页面",
|
||||
"embedded": "内嵌",
|
||||
"external-link": "外链"
|
||||
"externalLink": "外链"
|
||||
},
|
||||
"fallback": {
|
||||
"title": "缺省页"
|
||||
|
@@ -60,7 +60,7 @@ const essentialsRoutes: RouteRecordRaw[] = [
|
||||
component: () =>
|
||||
import('#/views/_essential/authentication/qrcode-login.vue'),
|
||||
meta: {
|
||||
title: $t('page.essentials.qrcode-login'),
|
||||
title: $t('page.essentials.qrcodeLogin'),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -69,7 +69,7 @@ const essentialsRoutes: RouteRecordRaw[] = [
|
||||
component: () =>
|
||||
import('#/views/_essential/authentication/forget-password.vue'),
|
||||
meta: {
|
||||
title: $t('page.essentials.forget-password'),
|
||||
title: $t('page.essentials.forgetPassword'),
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@@ -31,7 +31,7 @@ const routes: RouteRecordRaw[] = [
|
||||
redirect: '/demos/access/frontend/page-control',
|
||||
meta: {
|
||||
icon: 'mdi:table-key',
|
||||
title: $t('page.demos.access.frontend-control'),
|
||||
title: $t('page.demos.access.frontendControl'),
|
||||
},
|
||||
children: [
|
||||
{
|
||||
@@ -41,7 +41,7 @@ const routes: RouteRecordRaw[] = [
|
||||
import('#/views/demos/access/frontend/index.vue'),
|
||||
meta: {
|
||||
icon: 'mdi:page-previous-outline',
|
||||
title: $t('page.demos.access.page'),
|
||||
title: $t('page.demos.access.pageAccess'),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -51,40 +51,40 @@ const routes: RouteRecordRaw[] = [
|
||||
import('#/views/demos/access/frontend/button-control.vue'),
|
||||
meta: {
|
||||
icon: 'mdi:button-cursor',
|
||||
title: $t('page.demos.access.button'),
|
||||
title: $t('page.demos.access.buttonControl'),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'AccessFrontendTest1',
|
||||
path: 'access-test-1',
|
||||
name: 'AccessFrontendSuperVisible',
|
||||
path: 'super-visible',
|
||||
component: () =>
|
||||
import('#/views/demos/access/frontend/access-test-1.vue'),
|
||||
import('#/views/demos/access/frontend/super-visible.vue'),
|
||||
meta: {
|
||||
authority: ['super'],
|
||||
icon: 'mdi:button-cursor',
|
||||
title: $t('page.demos.access.access-test-1'),
|
||||
title: $t('page.demos.access.superVisible'),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'AccessFrontendTest2',
|
||||
path: 'access-test-2',
|
||||
name: 'AccessFrontendAdminVisible',
|
||||
path: 'admin-visible',
|
||||
component: () =>
|
||||
import('#/views/demos/access/frontend/access-test-2.vue'),
|
||||
import('#/views/demos/access/frontend/admin-visible.vue'),
|
||||
meta: {
|
||||
authority: ['admin'],
|
||||
icon: 'mdi:button-cursor',
|
||||
title: $t('page.demos.access.access-test-2'),
|
||||
title: $t('page.demos.access.adminVisible'),
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'AccessFrontendTest3',
|
||||
path: 'access-test-3',
|
||||
name: 'AccessFrontendUserVisible',
|
||||
path: 'user-visible',
|
||||
component: () =>
|
||||
import('#/views/demos/access/frontend/access-test-3.vue'),
|
||||
import('#/views/demos/access/frontend/user-visible.vue'),
|
||||
meta: {
|
||||
authority: ['user'],
|
||||
icon: 'mdi:button-cursor',
|
||||
title: $t('page.demos.access.access-test-3'),
|
||||
title: $t('page.demos.access.userVisible'),
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -95,7 +95,7 @@ const routes: RouteRecordRaw[] = [
|
||||
component: () => import('#/views/demos/access/backend/index.vue'),
|
||||
meta: {
|
||||
icon: 'mdi:cloud-key-outline',
|
||||
title: $t('page.demos.access.backend-control'),
|
||||
title: $t('page.demos.access.backendControl'),
|
||||
},
|
||||
children: [
|
||||
{
|
||||
@@ -105,7 +105,7 @@ const routes: RouteRecordRaw[] = [
|
||||
import('#/views/demos/access/frontend/index.vue'),
|
||||
meta: {
|
||||
icon: 'mdi:page-previous-outline',
|
||||
title: $t('page.demos.access.page'),
|
||||
title: $t('page.demos.access.pageAccess'),
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -209,7 +209,7 @@ const routes: RouteRecordRaw[] = [
|
||||
path: 'external-link',
|
||||
meta: {
|
||||
icon: 'mdi:newspaper-variant-multiple-outline',
|
||||
title: $t('page.demos.outside.external-link'),
|
||||
title: $t('page.demos.outside.externalLink'),
|
||||
},
|
||||
redirect: '/outside/external-link/vite',
|
||||
children: [
|
||||
@@ -273,7 +273,7 @@ const routes: RouteRecordRaw[] = [
|
||||
meta: {
|
||||
icon: 'ic:round-menu',
|
||||
keepAlive: true,
|
||||
title: $t('page.demos.nested.menu21'),
|
||||
title: $t('page.demos.nested.menu2_1'),
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -294,7 +294,7 @@ const routes: RouteRecordRaw[] = [
|
||||
meta: {
|
||||
icon: 'ic:round-menu',
|
||||
keepAlive: true,
|
||||
title: $t('page.demos.nested.menu31'),
|
||||
title: $t('page.demos.nested.menu3_1'),
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -302,7 +302,7 @@ const routes: RouteRecordRaw[] = [
|
||||
path: 'menu3-2',
|
||||
meta: {
|
||||
icon: 'ic:round-menu',
|
||||
title: $t('page.demos.nested.menu32'),
|
||||
title: $t('page.demos.nested.menu3_2'),
|
||||
},
|
||||
redirect: '/nested/menu3/menu3-2/menu3-2-1',
|
||||
children: [
|
||||
@@ -314,7 +314,7 @@ const routes: RouteRecordRaw[] = [
|
||||
meta: {
|
||||
icon: 'ic:round-menu',
|
||||
keepAlive: true,
|
||||
title: $t('page.demos.nested.menu321'),
|
||||
title: $t('page.demos.nested.menu3_2_1'),
|
||||
},
|
||||
},
|
||||
],
|
||||
|
@@ -20,9 +20,9 @@ async function handleLogin(params: LoginAndRegisterParams) {
|
||||
const { userInfo } = await accessStore.authLogin(params);
|
||||
if (userInfo?.realName) {
|
||||
notification.success({
|
||||
description: `${$t('authentication.login-success-desc')}:${userInfo?.realName}`,
|
||||
description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`,
|
||||
duration: 3,
|
||||
message: $t('authentication.login-success'),
|
||||
message: $t('authentication.loginSuccess'),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user