feat(login): 添加登录页面品牌标识和导航功能
- 在忘记密码和重置密码页面添加中国移動图标和AI-RAG标题 - 集成ChinaMobileIcon组件并配置样式 - 添加响应式设计适配不同屏幕尺寸 - 在知识库列表中增加问题和命中测试导航选项 - 移除思维导图配置错误提示信息v3.2
parent
e84aaa1698
commit
3013efb93c
|
|
@ -251,6 +251,28 @@
|
|||
|
||||
{{ $t('views.document.generateQuestion.title') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
@click.stop="
|
||||
router.push({
|
||||
path: `/knowledge/${item.id}/${folder.currentFolder.id || 'shared'}/problem`,
|
||||
})
|
||||
"
|
||||
v-if="permissionPrecise.edit(item.id)"
|
||||
>
|
||||
<AppIcon iconName="app-problems" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.problem.title') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
@click.stop="
|
||||
router.push({
|
||||
path: `/knowledge/${item.id}/${folder.currentFolder.id || 'shared'}/hit-test`,
|
||||
})
|
||||
"
|
||||
v-if="permissionPrecise.edit(item.id)"
|
||||
>
|
||||
<AppIcon iconName="app-hit-test" class="color-secondary"></AppIcon>
|
||||
{{ $t('views.application.hitTest.title') }}
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
v-if="isSystemShare"
|
||||
@click.stop="openAuthorizedWorkspaceDialog(item)"
|
||||
|
|
|
|||
|
|
@ -3,6 +3,12 @@
|
|||
<LoginContainer
|
||||
:subTitle="theme.themeInfo?.slogan ? theme.themeInfo?.slogan : $t('theme.defaultSlogan')"
|
||||
>
|
||||
<template #logo>
|
||||
<div class="login-brand">
|
||||
<ChinaMobileIcon class="login-brand-icon" />
|
||||
<h1 class="login-brand-title">AI-RAG</h1>
|
||||
</div>
|
||||
</template>
|
||||
<h2 class="mb-24">{{ $t('views.login.forgotPassword') }}</h2>
|
||||
<el-form
|
||||
class="register-form"
|
||||
|
|
@ -77,6 +83,7 @@ import UserApi from '@/api/user/user'
|
|||
import {MsgSuccess} from '@/utils/message'
|
||||
import {t} from '@/locales'
|
||||
import useStore from '@/stores'
|
||||
import ChinaMobileIcon from '@/components/china-mobile-icon/index.vue';
|
||||
|
||||
const router = useRouter()
|
||||
const {theme, user} = useStore()
|
||||
|
|
@ -151,4 +158,56 @@ onBeforeMount(() => {
|
|||
})
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.login-brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 48px;
|
||||
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 268px;
|
||||
--china-mobile-icon-height: 34px;
|
||||
--china-mobile-icon-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.8px;
|
||||
background: linear-gradient(90deg, #6b47e5, #1e71c7);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
@media (max-width: 1400px) {
|
||||
.login-brand {
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 236px;
|
||||
--china-mobile-icon-height: 30px;
|
||||
--china-mobile-icon-gap: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
font-size: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.login-brand {
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 210px;
|
||||
--china-mobile-icon-height: 28px;
|
||||
--china-mobile-icon-gap: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,12 @@
|
|||
<template>
|
||||
<login-layout>
|
||||
<LoginContainer :subTitle="$t('theme.defaultSlogan')">
|
||||
<template #logo>
|
||||
<div class="login-brand">
|
||||
<ChinaMobileIcon class="login-brand-icon" />
|
||||
<h1 class="login-brand-title">AI-RAG</h1>
|
||||
</div>
|
||||
</template>
|
||||
<h2 class="mb-24">{{ $t('views.login.resetPassword') }}</h2>
|
||||
<el-form
|
||||
class="reset-password-form"
|
||||
|
|
@ -63,6 +69,7 @@ import { MsgSuccess } from '@/utils/message'
|
|||
import type { FormInstance, FormRules } from 'element-plus'
|
||||
import UserApi from '@/api/user/user'
|
||||
import { t } from '@/locales'
|
||||
import ChinaMobileIcon from '@/components/china-mobile-icon/index.vue';
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const {
|
||||
|
|
@ -134,4 +141,56 @@ const resetPassword = () => {
|
|||
})
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.login-brand {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 48px;
|
||||
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 268px;
|
||||
--china-mobile-icon-height: 34px;
|
||||
--china-mobile-icon-gap: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
font-weight: 800;
|
||||
letter-spacing: 0.8px;
|
||||
background: linear-gradient(90deg, #6b47e5, #1e71c7);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
@media (max-width: 1400px) {
|
||||
.login-brand {
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 236px;
|
||||
--china-mobile-icon-height: 30px;
|
||||
--china-mobile-icon-gap: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
font-size: 34px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.login-brand {
|
||||
:deep(.china-mobile-icon) {
|
||||
--china-mobile-icon-width: 210px;
|
||||
--china-mobile-icon-height: 28px;
|
||||
--china-mobile-icon-gap: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-brand-title {
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -3,9 +3,6 @@
|
|||
<div v-if="loading" class="loading">
|
||||
加载中...
|
||||
</div>
|
||||
<div v-else-if="!mindmapUrl" class="error">
|
||||
思维导图配置未设置,请联系管理员
|
||||
</div>
|
||||
<div v-else class="mindmap-content">
|
||||
<iframe
|
||||
:src="mindmapUrl"
|
||||
|
|
|
|||
Loading…
Reference in New Issue