From a241b66efcc41e973290a6722fb7a4d79b833ea1 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 13 十月 2026 09:54:32 +0800
Subject: [PATCH] feat(bi): 为图表配置接口添加名称字段

---
 vite.config.ts |   48 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 44 insertions(+), 4 deletions(-)

diff --git a/vite.config.ts b/vite.config.ts
index 5a07335..9382ae0 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,14 +1,52 @@
+import { resolve } from "node:path";
+import { loadEnv } from "vite";
 import { defineConfig } from "./internal/vite-config/src";
+import { companies } from "./company.config";
 
-export default defineConfig(async () => {
+export default defineConfig(async ({ mode }) => {
+  const env = loadEnv(mode, process.cwd(), 'VITE_');
+  // deploy.bat 閫氳繃 set "VITE_COMPANY=xx" 浼犲叆锛屾槸杩涚▼鐜鍙橀噺锛宭oadEnv 璇讳笉鍒帮紝闇�浼樺厛鍙� process.env
+  const companyKey = process.env.VITE_COMPANY || env.VITE_COMPANY || '';
+  const company = companies[companyKey];
+  const appLogo = company?.logo ?? '';
+  const appFavicon = company?.favicon ?? '';
+  const appApiUrl = company?.apiUrl ?? '';
+  const appName = company?.name ?? '';
+  const isDev = mode === 'development';
+  // 杩欓噷涓嶈鍐嶆妸 appName 鍐欒繘 VITE_APP_TITLE銆�
+  // 棣栧睆鏍囬銆佸姞杞介〉鏂囨宸插浐瀹氫负涓�ф枃妗堬紝鍝佺墝缁熶竴鐢辫繍琛屾椂銆屽叕鍙镐俊鎭�嶄笅鍙戯紱
+  // 涓�鏃﹀湪杩欓噷瑕嗙洊锛屾煇涓鎴风殑鍚嶇О灏变細琚紪璇戣繘 index.html / 鍔犺浇椤碉紝鎹釜鐜閮ㄧ讲灏�"涓插搧鐗�"銆�
+  console.log('[company]', companyKey, '-> name:', appName, 'logo:', appLogo, 'api:', appApiUrl || '(from env)');
+
+  const defineVars: Record<string, string> = {
+    __APP_LOGO__: JSON.stringify(appLogo),
+    __APP_FAVICON__: JSON.stringify(appFavicon),
+    __APP_NAME__: JSON.stringify(appName),
+  };
+  if (!isDev && appApiUrl) {
+    process.env.VITE_GLOB_API_URL = appApiUrl;
+    defineVars['import.meta.env.VITE_GLOB_API_URL'] = JSON.stringify(appApiUrl);
+    defineVars['import.meta.env.VITE_BASE_URL'] = JSON.stringify(new URL(appApiUrl).origin);
+  }
+
   return {
     application: {},
     vite: {
+      define: defineVars,
+      resolve: {
+        alias: {
+          '@vue-office/pdf': resolve(__dirname, 'node_modules/@vue-office/pdf/lib/v3/vue-office-pdf.mjs'),
+          '@vue-office/docx': resolve(__dirname, 'node_modules/@vue-office/docx/lib/v3/vue-office-docx.mjs'),
+          '@vue-office/excel': resolve(__dirname, 'node_modules/@vue-office/excel/lib/v3/vue-office-excel.mjs'),
+          '@vue-office/excel-css': resolve(__dirname, 'node_modules/@vue-office/excel/lib/v3/index.css'),
+          '@vue-office/pptx': resolve(__dirname, 'node_modules/@vue-office/pptx/lib/v3/vue-office-pptx.mjs'),
+        },
+      },
       oxc: {
         enable: false,
       },
       optimizeDeps: {
-        include: ["vue", "vue-router", "pinia", "ant-design-vue", "dayjs", "@vueuse/core", "axios"],
+        include: ["vue", "vue-router", "pinia", "ant-design-vue", "dayjs", "@vueuse/core", "axios", "@vue-office/pdf", "@vue-office/docx", "@vue-office/excel", "@vue-office/pptx"],
         exclude: ["dhtmlx-gantt", "tinymce", "bpmn-js", "bpmn-js-properties-panel", "video.js"],
       },
       build: {
@@ -28,6 +66,9 @@
                 if (["tinymce", "@tinymce/tinymce-vue", "@form-create/ant-design-vue"].some(dep => id.includes(dep))) {
                   return "vendor-editor";
                 }
+                if (["@vue-office"].some(dep => id.includes(dep))) {
+                  return "vendor-office-preview";
+                }
               }
             },
           },
@@ -41,8 +82,7 @@
         proxy: {
           "/admin-api": {
             changeOrigin: true,
-            rewrite: path => path.replace(/^\/admin-api/, ""),
-            target: "http://192.168.0.226:48080/admin-api",
+            target: "http://localhost:48080",
             ws: true,
           },
         },

--
Gitblit v1.9.3