mirror of
				https://gitee.com/dromara/mayfly-go
				synced 2025-11-04 08:20:25 +08:00 
			
		
		
		
	feat: 新增系统样式配置,支持改logo图标与标题
This commit is contained in:
		@@ -1,6 +1,12 @@
 | 
			
		||||
import { defineStore } from 'pinia';
 | 
			
		||||
import { dateFormat2 } from '@/common/utils/date';
 | 
			
		||||
import { useUserInfo } from '@/store/userInfo';
 | 
			
		||||
import { getSysStyleConfig } from '@/common/sysconfig';
 | 
			
		||||
import { getLocal, getThemeConfig } from '@/common/utils/storage';
 | 
			
		||||
 | 
			
		||||
// 系统默认logo图标,对应于@/assets/image/logo.svg
 | 
			
		||||
const logoIcon =
 | 
			
		||||
    'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjIxODU5MDA5NjA1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijk3MDkiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNODIwLjIwMzkyMiA4MTIuMTcyNTQ5SDY4NC42NzQ1MXYtNDUuMTc2NDcxaDExMi40MzkyMTVWMjc5LjA5MDE5Nkg2MzMuNDc0NTFsLTg1LjMzMzMzNCAyNzcuMDgyMzUzYy0zLjAxMTc2NSAxMC4wMzkyMTYtMTIuMDQ3MDU5IDE2LjA2Mjc0NS0yMi4wODYyNzQgMTYuMDYyNzQ1LTEwLjAzOTIxNiAwLTE5LjA3NDUxLTcuMDI3NDUxLTIxLjA4MjM1My0xNy4wNjY2NjdsLTcxLjI3ODQzMS0yODAuMDk0MTE3aC0xODAuNzA1ODgzVjc2Mi45ODAzOTJoMTIwLjQ3MDU4OXY0NS4xNzY0NzFIMjI5Ljg5ODAzOWMtMTIuMDQ3MDU5IDAtMjIuMDg2Mjc1LTEwLjAzOTIxNi0yMi4wODYyNzQtMjIuMDg2Mjc1VjI1Mi45ODgyMzVjMC0xMi4wNDcwNTkgMTAuMDM5MjE2LTIyLjA4NjI3NSAyMi4wODYyNzQtMjIuMDg2Mjc0SDQ1MS43NjQ3MDZjMTAuMDM5MjE2IDAgMTkuMDc0NTEgNy4wMjc0NTEgMjIuMDg2Mjc0IDE3LjA2NjY2Nmw1NS4yMTU2ODcgMjE4Ljg1NDkwMkw1OTUuMzI1NDkgMjUwLjk4MDM5MmMzLjAxMTc2NS05LjAzNTI5NCAxMi4wNDcwNTktMTYuMDYyNzQ1IDIxLjA4MjM1My0xNi4wNjI3NDVoMjAyLjc5MjE1N2MxMi4wNDcwNTkgMCAyMi4wODYyNzUgMTAuMDM5MjE2IDIyLjA4NjI3NSAyMi4wODYyNzV2NTMzLjA4MjM1M2MxLjAwMzkyMiAxMi4wNDcwNTktOS4wMzUyOTQgMjIuMDg2Mjc1LTIxLjA4MjM1MyAyMi4wODYyNzR6IG0wIDAiIGZpbGw9IiNlMjU4MTMiIHAtaWQ9Ijk3MTAiPjwvcGF0aD48cGF0aCBkPSJNNzMxLjg1ODgyNCA0MjUuNjYyNzQ1YzQuMDE1Njg2LTEyLjA0NzA1OS0yLjAwNzg0My0yNS4wOTgwMzktMTQuMDU0OTAyLTI5LjExMzcyNS0xMi4wNDcwNTktNC4wMTU2ODYtMjUuMDk4MDM5IDIuMDA3ODQzLTI5LjExMzcyNiAxNC4wNTQ5MDJMNTYzLjIgNzY2Ljk5NjA3OGgtNzMuMjg2Mjc1TDM3MS40NTA5OCA0MTAuNjAzOTIyYy00LjAxNTY4Ni0xMi4wNDcwNTktMTcuMDY2NjY3LTE4LjA3MDU4OC0yOC4xMDk4MDQtMTQuMDU0OTAyLTEyLjA0NzA1OSA0LjAxNTY4Ni0xOC4wNzA1ODggMTcuMDY2NjY3LTE0LjA1NDkwMSAyOC4xMDk4MDRsMTIzLjQ4MjM1MiAzNzEuNDUwOThjMy4wMTE3NjUgOS4wMzUyOTQgMTIuMDQ3MDU5IDE1LjA1ODgyNCAyMS4wODIzNTMgMTUuMDU4ODIzaDcyLjI4MjM1M2wtNTMuMjA3ODQzIDE2MC42Mjc0NTEgNDYuMTgwMzkyIDIuMDA3ODQ0IDE5Mi43NTI5NDItNTQ4LjE0MTE3N3oiIGZpbGw9IiMyYzJjMmMiIHAtaWQ9Ijk3MTEiPjwvcGF0aD48L3N2Zz4=';
 | 
			
		||||
 | 
			
		||||
export const useThemeConfig = defineStore('themeConfig', {
 | 
			
		||||
    state: (): ThemeConfigState => ({
 | 
			
		||||
@@ -130,7 +136,9 @@ export const useThemeConfig = defineStore('themeConfig', {
 | 
			
		||||
            // 网站主标题(菜单导航、浏览器当前网页标题)
 | 
			
		||||
            globalTitle: 'mayfly',
 | 
			
		||||
            // 网站副标题(登录页顶部文字)
 | 
			
		||||
            globalViceTitle: 'mayfly',
 | 
			
		||||
            globalViceTitle: 'mayfly-go',
 | 
			
		||||
            // 网站logo icon, base64编码内容
 | 
			
		||||
            logoIcon: logoIcon,
 | 
			
		||||
            // 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
 | 
			
		||||
            globalI18n: 'zh-cn',
 | 
			
		||||
            // 默认全局组件大小,可选值"<|large|default|small>",默认 ''
 | 
			
		||||
@@ -142,19 +150,34 @@ export const useThemeConfig = defineStore('themeConfig', {
 | 
			
		||||
        },
 | 
			
		||||
    }),
 | 
			
		||||
    actions: {
 | 
			
		||||
        // 设置布局配置
 | 
			
		||||
        setThemeConfig(data: ThemeConfigState) {
 | 
			
		||||
            this.themeConfig = data.themeConfig;
 | 
			
		||||
        },
 | 
			
		||||
        // 设置水印配置信息
 | 
			
		||||
        setWatermarkConfig(useWatermarkConfig: any) {
 | 
			
		||||
            this.themeConfig.watermarkText = [];
 | 
			
		||||
            this.themeConfig.isWatermark = useWatermarkConfig.isUse;
 | 
			
		||||
            if (!useWatermarkConfig.isUse) {
 | 
			
		||||
                return;
 | 
			
		||||
        initThemeConfig() {
 | 
			
		||||
            // 获取缓存中的布局配置
 | 
			
		||||
            const tc = getThemeConfig();
 | 
			
		||||
            if (tc) {
 | 
			
		||||
                this.themeConfig = tc;
 | 
			
		||||
                document.documentElement.style.cssText = getLocal('themeConfigStyle');
 | 
			
		||||
            }
 | 
			
		||||
            // 索引2为用户自定义水印信息
 | 
			
		||||
            this.themeConfig.watermarkText[2] = useWatermarkConfig.content;
 | 
			
		||||
 | 
			
		||||
            // 根据后台系统配置初始化
 | 
			
		||||
            getSysStyleConfig().then((res) => {
 | 
			
		||||
                if (res?.title) {
 | 
			
		||||
                    this.themeConfig.globalTitle = res.title;
 | 
			
		||||
                }
 | 
			
		||||
                if (res?.viceTitle) {
 | 
			
		||||
                    this.themeConfig.globalViceTitle = res.viceTitle;
 | 
			
		||||
                }
 | 
			
		||||
                if (res?.logoIcon) {
 | 
			
		||||
                    this.themeConfig.logoIcon = res.logoIcon;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                this.themeConfig.watermarkText = [];
 | 
			
		||||
                this.themeConfig.isWatermark = res?.useWatermark;
 | 
			
		||||
                if (!res?.useWatermark) {
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                // 索引2为用户自定义水印信息
 | 
			
		||||
                this.themeConfig.watermarkText[2] = res.watermarkContent;
 | 
			
		||||
            });
 | 
			
		||||
        },
 | 
			
		||||
        // 设置水印用户信息
 | 
			
		||||
        setWatermarkUser(del: boolean = false) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user