diff --git a/ui/src/layout/AppLayout.vue b/ui/src/layout/AppLayout.vue index 668fcc6b38c..a4db5e9fac9 100644 --- a/ui/src/layout/AppLayout.vue +++ b/ui/src/layout/AppLayout.vue @@ -7,16 +7,19 @@ import LayoutSidebar from './LayoutSidebar.vue' const route = useRoute() +withDefaults(defineProps<{ preview?: boolean }>(), { preview: false }) + const mode = computed(() => route.meta.scope ?? 'workspace')

高级智能体

-

使用低代码拖拉拽方式,灵活编排复杂逻辑、功能丰富的智能体

+

使用低代码拖拉拽方式,灵活编排复杂逻辑、功能丰富的智能体

diff --git a/ui/src/views/login/LoginView.vue b/ui/src/views/login/LoginView.vue index fc21fcfc423..3d284fbdacb 100644 --- a/ui/src/views/login/LoginView.vue +++ b/ui/src/views/login/LoginView.vue @@ -15,16 +15,24 @@ const isLoading = ref(true) const loginConfig = ref({ default_value: LOGIN_METHOD.LOCAL, login_methods: [LOGIN_METHOD.LOCAL], max_attempts: 1 }) const loginMode = ref<'account' | 'qr-code'>('account') -const qrCodeProviders = computed(() => (loginConfig.value.login_methods ?? []).filter((method): method is QrCodeProvider => qrCodeLoginMethods.includes(method as QrCodeProvider))) -const accountLoginMethods = computed(() => (loginConfig.value.login_methods ?? []).filter((method) => !qrCodeLoginMethods.includes(method as QrCodeProvider))) +const qrCodeProviders = computed(() => + (loginConfig.value.login_methods ?? []).filter((method): method is QrCodeProvider => qrCodeLoginMethods.includes(method as QrCodeProvider)), +) +const accountLoginMethods = computed(() => + (loginConfig.value.login_methods ?? []).filter((method) => !qrCodeLoginMethods.includes(method as QrCodeProvider)), +) const accountLoginConfig = computed(() => ({ ...loginConfig.value, - default_value: qrCodeLoginMethods.includes(loginConfig.value.default_value as QrCodeProvider) ? LOGIN_METHOD.LOCAL : loginConfig.value.default_value, + default_value: qrCodeLoginMethods.includes(loginConfig.value.default_value as QrCodeProvider) + ? LOGIN_METHOD.LOCAL + : loginConfig.value.default_value, login_methods: accountLoginMethods.value, })) const qrCodeLoginConfig = computed(() => ({ ...loginConfig.value, - default_value: qrCodeLoginMethods.includes(loginConfig.value.default_value as QrCodeProvider) ? loginConfig.value.default_value : LOGIN_METHOD.WECOM, + default_value: qrCodeLoginMethods.includes(loginConfig.value.default_value as QrCodeProvider) + ? loginConfig.value.default_value + : LOGIN_METHOD.WECOM, login_methods: qrCodeProviders.value, })) const showLoginModeSwitch = computed(() => accountLoginMethods.value.length > 0 && qrCodeProviders.value.length > 0) diff --git a/ui/src/views/login/components/LoginLayout.vue b/ui/src/views/login/components/LoginLayout.vue index 3fbf4928316..28a5028d09f 100644 --- a/ui/src/views/login/components/LoginLayout.vue +++ b/ui/src/views/login/components/LoginLayout.vue @@ -1,32 +1,36 @@ + diff --git a/ui/src/views/system/identity/users/dialog/ImportUsersDialog.vue b/ui/src/views/system/identity/users/dialog/ImportUsersDialog.vue new file mode 100644 index 00000000000..166ff5e6cfd --- /dev/null +++ b/ui/src/views/system/identity/users/dialog/ImportUsersDialog.vue @@ -0,0 +1,208 @@ + + + diff --git a/ui/src/views/system/settings/theme/ThemeSettingView.vue b/ui/src/views/system/settings/theme/ThemeSettingView.vue index d05882beb6f..8a5af37807e 100644 --- a/ui/src/views/system/settings/theme/ThemeSettingView.vue +++ b/ui/src/views/system/settings/theme/ThemeSettingView.vue @@ -194,7 +194,7 @@ onBeforeUnmount(() => theme.setTheme(toThemeInfo(savedThemeSetting.value)))
平台登录设置
- 恢复默认 + 恢复默认
@@ -216,10 +216,10 @@ onBeforeUnmount(() => theme.setTheme(toThemeInfo(savedThemeSetting.value)))
-

{{ imageSetting.description }}

+

{{ imageSetting.description }}

- + @@ -227,13 +227,13 @@ onBeforeUnmount(() => theme.setTheme(toThemeInfo(savedThemeSetting.value))) - 预览页默认为 MaxKB 登录界面,支持自定义设置 + 预览页默认为 MaxKB 登录界面,支持自定义设置
平台设置
- 恢复默认 + 恢复默认
@@ -273,7 +273,7 @@ onBeforeUnmount(() => theme.setTheme(toThemeInfo(savedThemeSetting.value))) />
- 预览页默认为 MaxKB 平台界面,支持自定义设置 + 预览页默认为 MaxKB 平台界面,支持自定义设置 diff --git a/ui/src/views/system/settings/theme/components/LoginPreview.vue b/ui/src/views/system/settings/theme/components/LoginPreview.vue index 52f3a3252a9..9057e0d8cf0 100644 --- a/ui/src/views/system/settings/theme/components/LoginPreview.vue +++ b/ui/src/views/system/settings/theme/components/LoginPreview.vue @@ -2,10 +2,12 @@ import { computed, onBeforeUnmount, ref, watch } from 'vue' import { Close } from '@element-plus/icons-vue' import type { ThemeInfo } from '@/api/admin/auth/types' -import LogoFull from '@/components/mk-logo/LogoFull.vue' +import { LOGIN_METHOD } from '@/api/enums' +import type { LoginConfig } from '@/api/types' import LogoIcon from '@/components/mk-logo/LogoIcon.vue' - import { getThemeImg } from '@/constants/theme' +import LoginLayout from '@/views/login/components/LoginLayout.vue' +import AccountLogin from '@/views/login/modes/AccountLogin.vue' type ThemeImageValue = File | string type ThemePreviewData = Omit & { @@ -17,6 +19,11 @@ type ThemePreviewData = Omit & { defineOptions({ name: 'ThemeLoginPreview' }) const props = defineProps<{ data: ThemePreviewData }>() +const previewLoginConfig: LoginConfig = { + default_value: LOGIN_METHOD.LOCAL, + login_methods: [LOGIN_METHOD.LOCAL, LOGIN_METHOD.LDAP, LOGIN_METHOD.CAS, LOGIN_METHOD.OAUTH2, LOGIN_METHOD.OIDC], + max_attempts: 1, +} function useImageSource(source: () => ThemeImageValue | undefined, fallback: () => string) { const imageSource = ref(fallback()) @@ -41,6 +48,10 @@ function useImageSource(source: () => ThemeImageValue | undefined, fallback: () const defaultLoginImage = computed(() => getThemeImg(props.data.theme)) +const websiteIcon = useImageSource( + () => props.data.icon, + () => '', +) const loginLogo = useImageSource( () => props.data.loginLogo, () => '', @@ -49,43 +60,40 @@ const loginImage = useImageSource( () => props.data.loginImage, () => defaultLoginImage.value, ) +const previewThemeInfo = computed(() => ({ + ...props.data, + icon: websiteIcon.value, + loginImage: loginImage.value, + loginLogo: loginLogo.value, +})) diff --git a/ui/src/views/system/settings/theme/components/PlatformPreview.vue b/ui/src/views/system/settings/theme/components/PlatformPreview.vue index 61bba54c265..ae1b29e12d2 100644 --- a/ui/src/views/system/settings/theme/components/PlatformPreview.vue +++ b/ui/src/views/system/settings/theme/components/PlatformPreview.vue @@ -1,9 +1,8 @@