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