| | |
| | | VITE_COMPANY=TEST |
| | | |
| | | VITE_BASE=/ |
| | | |
| | | # 请æ±è·¯å¾ |
| | |
| | | echo [STEP 1/3] Building project for %COMPANY%... |
| | | echo [INFO] Running: pnpm run build |
| | | echo. |
| | | set COMPANY=%COMPANY% && call pnpm run build |
| | | set "COMPANY=!COMPANY!" && call pnpm run build |
| | | if !errorlevel! neq 0 ( |
| | | echo [ERROR] Build failed! Check your project configuration. |
| | | goto :error_exit |
| | |
| | | |
| | | import { $t } from '#/locales'; |
| | | |
| | | declare const __APP_LOGO__: string; |
| | | |
| | | const appName = computed(() => preferences.app.name); |
| | | const logo = computed(() => preferences.logo.source); |
| | | const logo = computed(() => __APP_LOGO__ || preferences.logo.source); |
| | | const logoDark = computed(() => preferences.logo.sourceDark); |
| | | </script> |
| | | |
| | |
| | | |
| | | import { overridesPreferences, preferencesExtension } from './preferences'; |
| | | |
| | | declare const __APP_LOGO__: string; |
| | | declare const __APP_FAVICON__: string; |
| | | |
| | | /** |
| | | * åºç¨åå§å宿ä¹ååè¿è¡é¡µé¢å 载渲æ |
| | | */ |
| | |
| | | overrides: overridesPreferences, |
| | | }); |
| | | |
| | | // éè¿ç¯å¢åé强å¶è¦çå
¬å¸ logo å faviconï¼ç»è¿ç¼å |
| | | const envLogo = import.meta.env.VITE_APP_LOGO; |
| | | const envFavicon = import.meta.env.VITE_APP_FAVICON; |
| | | if (envLogo) { |
| | | preferencesManager.updatePreferences({ logo: { source: envLogo } }); |
| | | // 强å¶è¦çå
¬å¸ logo å faviconï¼ç»è¿ localStorage ç¼å |
| | | if (__APP_LOGO__) { |
| | | preferencesManager.updatePreferences({ logo: { source: __APP_LOGO__ } }); |
| | | } |
| | | if (envFavicon) { |
| | | if (__APP_FAVICON__) { |
| | | const link = document.querySelector('link[rel="icon"]'); |
| | | if (link) { |
| | | link.setAttribute('href', envFavicon); |
| | | link.setAttribute('href', __APP_FAVICON__); |
| | | } |
| | | } |
| | | |
| | |
| | | definePreferencesExtension, |
| | | } from './packages/preferences/src'; |
| | | |
| | | declare const __APP_LOGO__: string; |
| | | |
| | | interface WebAntdPreferencesExtension { |
| | | defaultTableSize: number; |
| | | enableFormFullscreen: boolean; |
| | |
| | | companySiteLink: 'https://gitee.com/yudaocode/yudao-ui-admin-vben', |
| | | }, |
| | | logo: { |
| | | source: import.meta.env.VITE_APP_LOGO || undefined, |
| | | source: __APP_LOGO__ || undefined, |
| | | }, |
| | | tabbar: { |
| | | /** å·æ°æµè§å¨ååªä¿çå½å页é¢ï¼ä¸æä¹
åæææ ç¾é¡µ */ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | declare const __APP_LOGO__: string; |
| | | declare const __APP_FAVICON__: string; |
| | |
| | | import { resolve } from "node:path"; |
| | | import { loadEnv } from "vite"; |
| | | import { defineConfig } from "./internal/vite-config/src"; |
| | | import { companies } from "./company.config"; |
| | | |
| | | const company = companies[process.env.COMPANY || '']; |
| | | if (company) { |
| | | process.env.VITE_APP_LOGO = company.logo; |
| | | process.env.VITE_APP_FAVICON = company.favicon; |
| | | } |
| | | /** å
¬å¸é
ç½®ï¼æ°å¢å
¬å¸åªéå ä¸è¡ï¼logo å¾çæ¾ public/logos/ ç®å½ */ |
| | | const companyConfigs: Record<string, { favicon: string; logo: string; name: string }> = { |
| | | TEST: { name: 'æµè¯å
¬å¸', logo: '/logos/TEST.png', favicon: '/logos/TEST.ico' }, |
| | | }; |
| | | |
| | | export default defineConfig(async () => { |
| | | export default defineConfig(async ({ mode }) => { |
| | | const env = loadEnv(mode, process.cwd(), 'VITE_'); |
| | | const companyKey = env.VITE_COMPANY || ''; |
| | | const company = companyConfigs[companyKey]; |
| | | const appLogo = company?.logo ?? ''; |
| | | const appFavicon = company?.favicon ?? ''; |
| | | console.log('[company]', companyKey, '-> logo:', appLogo, 'favicon:', appFavicon); |
| | | |
| | | return { |
| | | application: {}, |
| | | vite: { |
| | | define: { |
| | | __APP_LOGO__: JSON.stringify(appLogo), |
| | | __APP_FAVICON__: JSON.stringify(appFavicon), |
| | | }, |
| | | resolve: { |
| | | alias: { |
| | | '@vue-office/pdf': resolve(__dirname, 'node_modules/@vue-office/pdf/lib/v3/vue-office-pdf.mjs'), |