From 1f32ea02c1910c417f159cba81a296e66ae7484c Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周一, 28 4月 2025 17:38:15 +0800
Subject: [PATCH] 初次提交修改

---
 HIAWms/web/vite.lib.config.ts |   46 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 36 insertions(+), 10 deletions(-)

diff --git a/WMS/web/vite.lib.config.ts b/HIAWms/web/vite.lib.config.ts
similarity index 75%
rename from WMS/web/vite.lib.config.ts
rename to HIAWms/web/vite.lib.config.ts
index 9da427c..00b95dd 100644
--- a/WMS/web/vite.lib.config.ts
+++ b/HIAWms/web/vite.lib.config.ts
@@ -14,21 +14,33 @@
 import VueTypeImports from 'vite-plugin-vue-type-imports'
 const execa = require('execa')
 const isWin = process.platform === 'win32'
-const argvPath: string = './script/.argv'
-const isSingleBuild = existsSync(argvPath)
-const nodeIndex = process.env.NODE_INDEX
-const baseBuildFile = './node_modules/.cache/widgets.json'
 let getWidgetNames: Array<string> = []
+const argvPath: string = './script/.argv'
+const isAllBuild = existsSync(argvPath)
 
-if (isSingleBuild) {
+function getGitHash() {
+  return execa('git', ['rev-parse', '--short', 'HEAD'])
+}
+
+function getGitBranch() {
+  return execa('git', ['rev-parse', '--abbrev-ref', 'HEAD'])
+}
+
+function getGitUserName() {
+  return execa('git', ['config', 'user.name'])
+}
+
+if (isAllBuild) {
   const widgetName = readFileSync(argvPath, { encoding: 'utf8' })
   getWidgetNames.push(widgetName)
 } else {
-  // 鎵ц澶氭牳鍛戒护鎵撳寘
-  if (nodeIndex) {
-    const widgetNameMap = require(path.resolve(process.cwd(), baseBuildFile))
-    getWidgetNames = widgetNameMap[nodeIndex]
-  }
+  const widgetsPath = globSync(`./src/widgets/*/index.ts`)
+  getWidgetNames = widgetsPath.map((file) => {
+    const parts = isWin
+      ? path.resolve(file).split('\\')
+      : path.resolve(file).split('/')
+    return parts[parts.length - 2]
+  })
 }
 
 const library: any = getWidgetNames.map((name) => {
@@ -57,10 +69,24 @@
 
 //@ts-ignore
 export default defineConfig(async ({ mode }) => {
+  let commit
+  let branch
+  let userName
+  try {
+    commit = await getGitHash()
+    branch = await getGitBranch()
+    userName = await getGitUserName()
+  } catch (e) {
+    console.log(e)
+  }
+
   return {
     define: {
       'process.env': process.env,
       'window.__BUILD_TIME__': `"${dayjs().format('YYYY-MM-DD HH:mm:ss')}"`,
+      'window.__COMMIT__': `"${commit?.stdout}"`,
+      'window.__BRANCH__': `"${branch?.stdout}"`,
+      'window.__USER_NAME__': `"${userName?.stdout}"`,
     },
     resolve: {
       alias: {

--
Gitblit v1.9.3