Переглянути джерело

feat(header): add welcome module

gemercheung 4 роки тому
батько
коміт
d8fe670b42

+ 1 - 1
src/enums/pageEnum.ts

@@ -2,7 +2,7 @@ export enum PageEnum {
   // basic login path
   BASE_LOGIN = '/login',
   // basic home path
-  BASE_HOME = '/dashboard',
+  BASE_HOME = '/welcome',
   // error page path
   ERROR_PAGE = '/exception',
   // error log page path

+ 2 - 0
src/locales/lang/en/routes/basic.ts

@@ -1,4 +1,6 @@
 export default {
   login: 'Login',
+  welcome: 'Welcome',
+  welcomeLogin: 'Welcome Login',
   errorLogList: 'Error Log',
 };

+ 3 - 0
src/locales/lang/zh-CN/routes/basic.ts

@@ -1,4 +1,7 @@
 export default {
   login: '登录',
+  welcome: '欢迎',
+  welcomeLogin: '欢迎登录',
+  welcomeUser: '欢迎用户:{0}',
   errorLogList: '错误日志列表',
 };

+ 24 - 1
src/router/routes/index.ts

@@ -5,7 +5,7 @@ import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic';
 import { mainOutRoutes } from './mainOut';
 import { PageEnum } from '/@/enums/pageEnum';
 import { t } from '/@/hooks/web/useI18n';
-
+import { LAYOUT } from '/@/router/constant';
 const modules = import.meta.globEager('./modules/**/*.ts');
 
 const routeModuleList: AppRouteModule[] = [];
@@ -36,9 +36,32 @@ export const LoginRoute: AppRouteRecordRaw = {
   },
 };
 
+export const WelcomeRoute: AppRouteRecordRaw = {
+  path: '/welcome',
+  name: 'Welcome',
+  component: LAYOUT,
+  redirect: '/welcome/index',
+  // component: () => import('/@/views/welcome/index.vue'),
+  meta: {
+    title: t('routes.basic.welcome'),
+  },
+  children: [
+    {
+      path: 'index',
+      name: 'welcome',
+      component: () => import('/@/views/welcome/index.vue'),
+      meta: {
+        title: t('routes.basic.welcomeLogin'),
+        hideMenu: true,
+      },
+    },
+  ],
+};
+
 // Basic routing without permission
 export const basicRoutes = [
   LoginRoute,
+  WelcomeRoute,
   RootRoute,
   ...mainOutRoutes,
   REDIRECT_ROUTE,

+ 1 - 1
src/store/modules/lock.ts

@@ -38,7 +38,7 @@ export const useLockStore = defineStore({
       }
       const tryLogin = async () => {
         try {
-          const username = userStore.getUserInfo?.username;
+          const username = userStore.getUserInfo?.userName;
           const res = await userStore.login({
             username,
             password: password!,

+ 33 - 0
src/views/welcome/index.vue

@@ -0,0 +1,33 @@
+<template>
+  <div class="p-4">
+    <Card :title="t('routes.basic.welcomeUser', [username])" :loading="loading">
+      <div class="welcome"> {{ t('routes.basic.welcomeLogin') }} </div>
+    </Card>
+  </div>
+</template>
+<script lang="ts">
+  import { defineComponent, ref } from 'vue';
+  import { useI18n } from '/@/hooks/web/useI18n';
+  import { Card } from 'ant-design-vue';
+  import { useUserStore } from '/@/store/modules/user';
+
+  export default defineComponent({
+    components: { Card },
+    setup() {
+      const { t } = useI18n();
+      const userStore = useUserStore();
+      const loading = ref(true);
+      const username = ref('');
+      username.value = userStore.getUserInfo?.userName;
+      setTimeout(() => {
+        loading.value = false;
+      }, 1000);
+      return {
+        t,
+        loading,
+        username,
+      };
+    },
+  });
+</script>
+<style></style>