<script lang="ts" setup>
|
import { computed, onMounted } from 'vue';
|
|
import { AuthPageLayout } from '@vben/layouts';
|
import { preferences } from '@vben/preferences';
|
|
import { $t } from '#/locales';
|
import { useCompanyConfigStore } from '#/store/company-config';
|
|
declare const __APP_LOGO__: string;
|
|
const companyConfigStore = useCompanyConfigStore();
|
|
onMounted(() => {
|
// 登录页展示 loginTitle:启动加载走的是纯函数(不填 store),进入登录页时拉取一次
|
companyConfigStore.loadFromServer();
|
});
|
|
const appName = computed(() => preferences.copyright.companyName);
|
// 登录页 logo 优先取数据库配置(preferences.logo.source),未配置时回退编译期默认 __APP_LOGO__
|
const logo = computed(() => preferences.logo.source || __APP_LOGO__);
|
const logoDark = computed(() => preferences.logo.sourceDark);
|
// 登录页标题/描述使用 i18n 固定文案,不随公司配置变化
|
const pageTitle = computed(() => $t('authentication.pageTitle'));
|
const pageDescription = computed(() => $t('authentication.pageDesc'));
|
</script>
|
|
<template>
|
<AuthPageLayout
|
:app-name="appName"
|
:logo="logo"
|
:logo-dark="logoDark"
|
:page-description="pageDescription"
|
:page-title="pageTitle"
|
>
|
<!-- 自定义工具栏 -->
|
<!-- <template #toolbar></template> -->
|
</AuthPageLayout>
|
</template>
|