gaoluyang
2026-08-03 8d4cd5f4a3c900587c668e7a50fd74b79e99cea4
银川
1.部署不同公司切换logo逻辑修改
已修改2个文件
24 ■■■■ 文件已修改
src/main.ts 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.ts 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.ts
@@ -1,4 +1,4 @@
import { initPreferences } from './packages/preferences/src';
import { initPreferences, preferencesManager } from './packages/preferences/src';
import { unmountGlobalLoading } from './packages/utils/src';
import { overridesPreferences, preferencesExtension } from './preferences';
@@ -20,6 +20,19 @@
    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 } });
  }
  if (envFavicon) {
    const link = document.querySelector('link[rel="icon"]');
    if (link) {
      link.setAttribute('href', envFavicon);
    }
  }
  // 启动应用并挂载
  // vue应用主要逻辑及视图
  const { bootstrap } = await import('./bootstrap');
vite.config.ts
@@ -2,15 +2,16 @@
import { defineConfig } from "./internal/vite-config/src";
import { companies } from "./company.config";
const appLogo = process.env.COMPANY ? companies[process.env.COMPANY]?.logo : undefined;
const company = companies[process.env.COMPANY || ''];
if (company) {
  process.env.VITE_APP_LOGO = company.logo;
  process.env.VITE_APP_FAVICON = company.favicon;
}
export default defineConfig(async () => {
  return {
    application: {},
    vite: {
      define: {
        'import.meta.env.VITE_APP_LOGO': JSON.stringify(appLogo ?? ''),
      },
      resolve: {
        alias: {
          '@vue-office/pdf': resolve(__dirname, 'node_modules/@vue-office/pdf/lib/v3/vue-office-pdf.mjs'),