From 9bec4dcae002f36aa23231da11cb03a156b40110 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 30 4月 2025 16:24:16 +0800
Subject: [PATCH] 222

---
 PipeLineLems/web/src/libs/Base/Base.ts |   89 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 69 insertions(+), 20 deletions(-)

diff --git a/PipeLineLems/web/src/libs/Base/Base.ts b/PipeLineLems/web/src/libs/Base/Base.ts
index b3329ef..68f13be 100644
--- a/PipeLineLems/web/src/libs/Base/Base.ts
+++ b/PipeLineLems/web/src/libs/Base/Base.ts
@@ -1,26 +1,30 @@
 import sdk from 'sdk'
 import { ref, reactive, Ref, computed, onMounted, nextTick } from 'vue'
 import { Create } from '@/libs/Create/Create'
-import { globalState } from '../Store/Store'
+import { globalState } from '../Store/globalState'
 const { request } = sdk.utils
 // @ts-ignore
 import compose from 'koa-compose'
+import { ConfigureCodeMap, SwappedConfigureCodeMap } from '@/libs/system-enum'
+import { getSettings } from '@/api/common-enum'
+interface SettingType {
+  settings: {
+    name: string
+    value: string
+  }[]
+}
 
 let composeMiddleArray: any = []
 
 let flag = 0
 
-export class Base<
-  T extends {
-    [key: string]: any
-  } = {}
-> {
+export class Base<T extends {} = {}> {
   // 鐘舵��
   [key: string]: any
   constructor(initState?: T) {
     if (initState) {
       this.initState(initState)
-      // this.getVariable()
+      this.getVariable()
       this.onMounted && onMounted(this.onMounted.bind(this))
     }
   }
@@ -28,7 +32,7 @@
    * 鍏ㄥ眬鐘舵��
    */
   //@ts-ignore
-  static globalState: Record<string, any> = globalState
+  static globalState = globalState
   /**
    * 璇锋眰request锛宺equest.get request.post...
    */
@@ -68,6 +72,48 @@
     }
   }
   /**
+   * 鑾峰彇鐢ㄦ埛璁剧疆
+   */
+  async getFormDataBySettings() {
+    const { settings }: SettingType = (await getSettings()) || {
+      settings: [],
+    }
+    const formData: Record<string, any> = {}
+    settings.forEach((item: any) => {
+      const key = SwappedConfigureCodeMap[item.name]
+      if (key) {
+        if (typeof item.name === ConfigureCodeMap.ProductionLineSegment) {
+          try {
+            item.value = JSON.parse(item.value)
+            formData[key] = item.value
+          } catch (error) {
+            item.value = []
+          }
+        } else {
+          try {
+            if (this.isStringAnObject(item.value)) {
+              formData[key] = JSON.parse(item.value)
+            } else {
+              formData[key] = item.value
+            }
+          } catch (error) {
+            formData[key] = []
+            console.error(error)
+          }
+        }
+      }
+    })
+    console.log(settings, formData, 'settings')
+    return formData
+  }
+
+  /**
+   * 鍒濆鍖栫郴缁熼厤缃�
+   */
+  private async initSystemConfig() {
+    this.baseSystemConfig.value = await this.getFormDataBySettings()
+  }
+  /**
    * 鏍规嵁name鑾峰彇鍙橀噺ID
    * @param name
    * @returns
@@ -102,16 +148,17 @@
     this.clear()
     // 缂撳瓨涓�鍒嗛挓,濡傛灉涓嬫閲嶆柊璇锋眰锛屽垯鏇存柊
     if (size > 0 && Date.now() - t < Base.CACHE_TIME) return next && next()
-    try {
-      const vars = await request.get('/api/v1/variable/query')
-      const varMap = this.transformArrayToMap(vars.result)
-      this.setState(Base.CACHE_KEY, Date.now())
-      this.setState(Base.MAP_KEY, varMap)
-      next && next()
-    } catch (error) {
-      // next()
-      console.error(error, '鍙橀噺鏌ヨ鎺ュ彛鎶ラ敊锛屾殏鍋滆姹�')
-    }
+    // 鍘婚櫎鑾峰彇鍙橀噺
+    // try {
+    //   const vars = await request.get('/api/v1/variable/query')
+    //   const varMap = this.transformArrayToMap(vars.result)
+    //   this.setState(Base.CACHE_KEY, Date.now())
+    //   this.setState(Base.MAP_KEY, varMap)
+    //   next && next()
+    // } catch (error) {
+    //   // next()
+    //   console.error(error, '鍙橀噺鏌ヨ鎺ュ彛鎶ラ敊锛屾殏鍋滆姹�')
+    // }
   }
   /**
    * 娓呯悊鍏ㄥ眬鍙傛暟
@@ -154,7 +201,7 @@
    * @param key key
    * @returns any
    */
-  getState(key: string | any) {
+  getState(key: string | symbol) {
     return Base.globalState[key]
   }
   /**
@@ -163,7 +210,7 @@
    * @param value value
    * @returns void
    */
-  setState(key: string | any, value: any) {
+  setState(key: string | symbol, value: any) {
     return (Base.globalState[key] = ref(value))
   }
 
@@ -187,5 +234,7 @@
     return sdk.userInfo || {}
   }
 
+  static userInfo = sdk.userInfo || {}
+
   // useVModels
 }

--
Gitblit v1.9.3