mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 04:22:33 +08:00
feat: logo 自定义
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
<script lang="ts" setup>
|
||||
import logo from '@/assets/images/logo.png'
|
||||
import logoImg from '@/assets/images/logo.png'
|
||||
import { useThemeStore } from '@/store'
|
||||
|
||||
const themeStore = useThemeStore()
|
||||
const logo = computed(() => themeStore.logo || logoImg)
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -76,6 +76,9 @@ const menus = computed<TreeSelectOption[]>(() => {
|
||||
<n-form>
|
||||
<n-flex vertical>
|
||||
<n-alert type="info"> 设置保存在浏览器,清空浏览器缓存后将会重置 </n-alert>
|
||||
<n-form-item label="自定义 Logo">
|
||||
<n-input v-model:value="themeStore.logo" />
|
||||
</n-form-item>
|
||||
<n-form-item label="隐藏菜单">
|
||||
<n-tree-select
|
||||
multiple
|
||||
|
||||
@@ -32,7 +32,8 @@ export function defaultSettings(): Theme.Setting {
|
||||
}
|
||||
const locale = themeSetting.locale || 'zh_CN'
|
||||
const name = themeSetting.name || import.meta.env.VITE_APP_TITLE
|
||||
return { isMobile, darkMode, sider, header, tab, primaryColor, otherColor, locale, name }
|
||||
const logo = ''
|
||||
return { isMobile, darkMode, sider, header, tab, primaryColor, otherColor, locale, name, logo }
|
||||
}
|
||||
|
||||
/** 获取naive的主题颜色 */
|
||||
|
||||
@@ -96,6 +96,7 @@ watch(
|
||||
<n-input
|
||||
v-model:value="createModel.password"
|
||||
type="password"
|
||||
show-password-on="click"
|
||||
@keydown.enter.prevent
|
||||
placeholder="输入密码"
|
||||
/>
|
||||
|
||||
@@ -101,6 +101,7 @@ const handleCreate = () => {
|
||||
<n-input
|
||||
v-model:value="createModel.password"
|
||||
type="password"
|
||||
show-password-on="click"
|
||||
@keydown.enter.prevent
|
||||
placeholder="输入数据库服务器密码"
|
||||
/>
|
||||
|
||||
@@ -77,6 +77,7 @@ watch(
|
||||
<n-input
|
||||
v-model:value="createModel.password"
|
||||
type="password"
|
||||
show-password-on="click"
|
||||
@keydown.enter.prevent
|
||||
placeholder="输入密码"
|
||||
/>
|
||||
|
||||
@@ -41,13 +41,13 @@ const createServerModalShow = ref(false)
|
||||
<n-flex vertical>
|
||||
<n-tabs v-model:value="currentTab" type="line" animated>
|
||||
<n-tab-pane name="database" tab="数据库">
|
||||
<database-list v-model:type="currentTab" />
|
||||
<database-list />
|
||||
</n-tab-pane>
|
||||
<n-tab-pane name="user" tab="用户">
|
||||
<user-list v-model:type="currentTab" />
|
||||
<user-list />
|
||||
</n-tab-pane>
|
||||
<n-tab-pane name="server" tab="服务器">
|
||||
<server-list v-model:type="currentTab" />
|
||||
<server-list />
|
||||
</n-tab-pane>
|
||||
</n-tabs>
|
||||
</n-flex>
|
||||
|
||||
@@ -93,6 +93,7 @@ watch(
|
||||
<n-input
|
||||
v-model:value="updateModel.password"
|
||||
type="password"
|
||||
show-password-on="click"
|
||||
@keydown.enter.prevent
|
||||
placeholder="输入数据库服务器密码"
|
||||
/>
|
||||
|
||||
@@ -48,6 +48,7 @@ watch(
|
||||
<n-input
|
||||
v-model:value="updateModel.password"
|
||||
type="password"
|
||||
show-password-on="click"
|
||||
@keydown.enter.prevent
|
||||
placeholder="输入密码"
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script lang="ts" setup>
|
||||
import user from '@/api/panel/user'
|
||||
import bgImg from '@/assets/images/login_bg.webp'
|
||||
import logoImg from '@/assets/images/logo.png'
|
||||
import { addDynamicRoutes } from '@/router'
|
||||
import { useThemeStore, useUserStore } from '@/store'
|
||||
import { getLocal, removeLocal, setLocal } from '@/utils'
|
||||
@@ -35,6 +36,8 @@ const themeStore = useThemeStore()
|
||||
const loging = ref<boolean>(false)
|
||||
const isRemember = useStorage('isRemember', false)
|
||||
|
||||
const logo = computed(() => themeStore.logo || logoImg)
|
||||
|
||||
async function handleLogin() {
|
||||
const { username, password, safe_login } = loginInfo.value
|
||||
if (!username || !password) {
|
||||
@@ -105,7 +108,7 @@ watch(
|
||||
<div m-auto min-w-345 f-c-c rounded-10 bg-white bg-opacity-60 p-15 card-shadow dark:bg-dark>
|
||||
<div w-480 flex-col px-20 py-35>
|
||||
<h5 color="#6a6a6a" f-c-c text-24 font-normal>
|
||||
<img class="mr-10" height="50" src="@/assets/images/logo.png" />{{ themeStore.name }}
|
||||
<n-image :src="logo" height="50" preview-disabled mr-10 />{{ themeStore.name }}
|
||||
</h5>
|
||||
<div mt-30>
|
||||
<n-input
|
||||
|
||||
2
web/types/theme.d.ts
vendored
2
web/types/theme.d.ts
vendored
@@ -48,5 +48,7 @@ declare namespace Theme {
|
||||
locale: string
|
||||
/** 名称 */
|
||||
name: string
|
||||
/** Logo */
|
||||
logo: string
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user