diff --git a/发版/2025/20250614-Lazada联调对接发布.md b/发版/2025/20250614-Lazada联调对接发布.md
index b3df449..a72f1b6 100644
--- a/发版/2025/20250614-Lazada联调对接发布.md
+++ b/发版/2025/20250614-Lazada联调对接发布.md
@@ -27,9 +27,9 @@
### 涉及项目
-| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
-|------------------|------------------------------------|------|-----------------------|-------------------------|-----|----------------------------|
-| qifu-saas-eg | master | 5 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
+| 项目 | 分支 | 发布顺序 | 数据库变更 | 配置变更 | 负责人 | 备注 |
+|--------------|--------|------|-----------------------|-------------------------|-----|----------------------------|
+| qifu-saas-eg | master | 5 | [数据库脚本DDL](#数据库脚本DDL) | [Nacos配置文件](#Nacos配置文件) | 刘晓华 | 注意配置文件中需要修改的部分需要修改为对应环境的数据 |
### 附件
@@ -38,7 +38,8 @@
##### qifu-saas-eg数据库DDL
```sql
-
+ALTER TABLE `eg_order_order`
+ ADD COLUMN `region` varchar(25) NOT NULL DEFAULT '' COMMENT '信息来源,参考 XXXRegionEnum' AFTER `id`;
```
##### qifu-saas-eg数据库DML
@@ -48,10 +49,43 @@
```
-#### Nacos配置文件 (开发测试)
+#### Nacos配置文件
```yaml
+yuanmeng:
+ web:
+ filter:
+ external-url-list:
+ - "/order/oauth/accessToken"
+ - "/order/oauth/status"
+ - "/order/sync"
+ - "/order/sync/get"
+ - "/wework/authorize-url-resend"
+ oss:
+ # minio 配置,需要修改为对应环境的
+ endpoint: http://10.168.2.236:9000
+ region: cn-shenzhen
+ access-key: nJ6zxA2tJdnXEgOl
+ secret-key: h5ahuWxxa5dQyCwrr6is3gJKbgFx0mrk
+ bucket-name: automation
+ path-style-access: true
+qifu:
+ eg:
+ wework-map:
+ keyfil:
+ oauth-redirect-uri: https://qifu.uat-api.keyfil.com/qifu-saas-eg/wework/oauth/texous
+ oauth-success-redirect-url:
+ webhook-map:
+ onboarding-message: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=51ab2ee2-8610-4066-a32e-a4e84011103d
+ order-sync-error: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=5121784f-9366-4afc-8033-55f30ada5d6c
+ iam:
+ # keycloak 配置,需要修改为对应环境的
+ server-url: http://172.17.229.32:18080
+ realm: master
+ username: admin
+ password: admin
+ work-realm: keyfil
```
### 其余配置
@@ -61,8 +95,13 @@
----
## 开发说明
+
> 开发分支:feat/20250611-orderfix
### 功能列表
+- 派送翼优化
+- lazada联调问题修复
+- 新员工入职信息发送
+
diff --git a/文档/新人培养/00-新员工入职指引.md b/文档/新人培养/00-新员工入职指引.md
new file mode 100644
index 0000000..b3dc4f5
--- /dev/null
+++ b/文档/新人培养/00-新员工入职指引.md
@@ -0,0 +1,11 @@
+### 新员工入职指引
+
+#### 授权域账号(必须操作)
+> 授权必须在企微里面进行,浏览器无效
+> 点击 [授权链接](授权链接占位符) 进行授权
+
+
+#### WIFI 账号密码
+> wifi: `yuanmeng`, 密码: `YmQf1223`
+> wifi: `RC-soft5`, 密码: `YmQf1223`(打卡需要连该WiFi)
+> wifi: `RC-SOFT5`, 密码: `YmQf1223`(打卡需要连该WiFi)
\ No newline at end of file
diff --git a/方案/20250619-Mock平台调研.md b/方案/20250619-Mock平台调研.md
new file mode 100644
index 0000000..3cadf73
--- /dev/null
+++ b/方案/20250619-Mock平台调研.md
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Mock平台调研
+
+
+## 参考
+- [WireMock](https://github.com/wiremock/wiremock)
+- [hoverfly](https://github.com/SpectoLabs/hoverfly)
\ No newline at end of file
diff --git a/杂项/00-三方对接信息.md b/杂项/00-三方对接信息.md
index 1a02554..67c30f0 100644
--- a/杂项/00-三方对接信息.md
+++ b/杂项/00-三方对接信息.md
@@ -23,4 +23,17 @@ https://member.track123.com/login
## UPS
https://developer.ups.com/apiDashboard?loc=zh_CN
zhoumei@keyfil.com
-YmQf1223YmQf1223
\ No newline at end of file
+YmQf1223YmQf1223
+
+## 对公账号:
+### TRACK123.
+https://member.track123.com/order
+账号:17681809216
+密码:123456aA.
+密钥:51065074e6dc43aa995bf3d7db53374e
+
+### 17track
+https://admin.17track.net/api/settings
+账号:zhangxinxin@keyfil.com
+密码:00uBYf31
+密钥:AB905010AF804EE4CA84009BBBB4A4EC
\ No newline at end of file
diff --git a/杂项/result.txt b/杂项/result.txt
index 97f1331..a0cafcf 100644
--- a/杂项/result.txt
+++ b/杂项/result.txt
@@ -1,18 +1,79 @@
-ebayܺͽӿڶӦ
-ebay
-̶彻
-ebayȨӿڶԽ
-ebayӿڶԽ
-ebayʱ
-ebayͬ½ӿڣҪȷûУ
-ebayصӿڶԽ
-ebay״̬شӿڶԽ
-ⲿϢֶӳ
-ȨRPCӿ
-Ȩ״̬ѯ
-̶бӿ
-̶״̬ͬӿ
-̶صӿ
-״̬شӿ
-
-Բ
\ No newline at end of file
+2025-06-24 10:42:42,079 ERROR [mysql-connector-to-etm|task-0] Encountered change event 'Event{header=EventHeaderV4{timestamp=1750728336000, eventType=TABLE_MAP, serverId=1, headerLength=19, dataLength=162, nextPosition=998903090, flags=0}, data=TableMapEventData{tableId=10742, database='qifu_saas_owms', table='outbound_order', columnTypes=8, 8, 8, 8, 8, 15, 15, 15, 3, -10, 8, 15, 15, 3, 1, 15, 8, 15, 15, 8, 15, 15, 15, 3, 15, 15, 15, 1, 3, 8, 8, 8, -10, 8, 8, 8, -10, 15, 15, 15, 8, 3, 8, 3, 3, 15, 3, 8, 8, 3, 3, 15, 8, 15, 8, 8, 15, 8, 8, 3, columnMetadata=0, 0, 0, 0, 0, 384, 512, 512, 0, 1556, 0, 384, 512, 0, 0, 512, 0, 512, 512, 0, 512, 512, 800, 0, 200, 800, 800, 0, 0, 0, 0, 0, 788, 0, 0, 0, 532, 900, 1020, 1020, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 0, 1020, 0, 128, 0, 0, 128, 0, 0, 0, columnNullability={2, 3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 55, 56, 57, 59}, eventMetadata=null}}' at offset {transaction_id=6f54a8d9-71a4-11ef-bfb2-00163e105ad2:85818558, file=mysql-bin.000113, pos=998902025, gtids=6f54a8d9-71a4-11ef-bfb2-00163e105ad2:1-85818557, server_id=1, event=2} for table qifu_saas_owms.outbound_order whose schema isn't known to this connector. One possible cause is an incomplete database schema history topic. Take a new snapshot in this case.
+
+ Use the mysqlbinlog tool to view the problematic event: mysqlbinlog --start-position=998902909 --stop-position=998903090 --verbose mysql-bin.000113 (io.debezium.connector.binlog.BinlogStreamingChangeEventSource) [blc-mysql.qifu.svc.cluster.local:3306]
+
+ 2025-06-24 10:42:42,081 ERROR [mysql-connector-to-etm|task-0] Error during binlog processing. Last offset stored = {transaction_id=6f54a8d9-71a4-11ef-bfb2-00163e105ad2:85818558, file=mysql-bin.000113, pos=998902025, gtids=6f54a8d9-71a4-11ef-bfb2-00163e105ad2:1-85818557, server_id=1, event=2}, binlog reader near position = mysql-bin.000113/998902909 (io.debezium.connector.binlog.BinlogStreamingChangeEventSource) [blc-mysql.qifu.svc.cluster.local:3306]
+
+ 2025-06-24 10:42:42,082 ERROR [mysql-connector-to-etm|task-0] Producer failure (io.debezium.pipeline.ErrorHandler) [blc-mysql.qifu.svc.cluster.local:3306]
+
+ io.debezium.DebeziumException: Error processing binlog event
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:591)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1281)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1103)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:657)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:959)
+
+ at java.base/java.lang.Thread.run(Thread.java:840)
+
+ Caused by: io.debezium.DebeziumException: Encountered change event for table qifu_saas_owms.outbound_order whose schema isn't known to this connector
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:996)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:1048)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleUpdateTableMetadata(BinlogStreamingChangeEventSource.java:797)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$4(BinlogStreamingChangeEventSource.java:178)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:571)
+
+ ... 6 more
+
+ 2025-06-24 10:42:42,086 INFO [mysql-connector-to-etm|task-0] Error processing binlog event, and propagating to Kafka Connect so it stops this connector. Future binlog events read before connector is shutdown will be ignored. (io.debezium.connector.binlog.BinlogStreamingChangeEventSource) [blc-mysql.qifu.svc.cluster.local:3306]
+
+ 2025-06-24 10:42:43,135 INFO [mysql-connector-to-etm|task-0] WorkerSourceTask{id=mysql-connector-to-etm-0} Committing offsets for 6144 acknowledged messages (org.apache.kafka.connect.runtime.WorkerSourceTask) [task-thread-mysql-connector-to-etm-0]
+
+ 2025-06-24 10:42:43,147 ERROR [mysql-connector-to-etm|task-0] WorkerSourceTask{id=mysql-connector-to-etm-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask) [task-thread-mysql-connector-to-etm-0]
+
+ org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
+
+ at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:67)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:591)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$17(BinlogStreamingChangeEventSource.java:209)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.notifyEventListeners(BinaryLogClient.java:1281)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.listenForEventPackets(BinaryLogClient.java:1103)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:657)
+
+ at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:959)
+
+ at java.base/java.lang.Thread.run(Thread.java:840)
+
+ Caused by: io.debezium.DebeziumException: Error processing binlog event
+
+ ... 7 more
+
+ Caused by: io.debezium.DebeziumException: Encountered change event for table qifu_saas_owms.outbound_order whose schema isn't known to this connector
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:996)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.informAboutUnknownTableIfRequired(BinlogStreamingChangeEventSource.java:1048)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleUpdateTableMetadata(BinlogStreamingChangeEventSource.java:797)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.lambda$execute$4(BinlogStreamingChangeEventSource.java:178)
+
+ at io.debezium.connector.binlog.BinlogStreamingChangeEventSource.handleEvent(BinlogStreamingChangeEventSource.java:571)
+
+ ... 6 more
diff --git a/杂项/test.json b/杂项/test.json
index 7d02523..7e8fbe8 100644
--- a/杂项/test.json
+++ b/杂项/test.json
@@ -1,82 +1,14 @@
{
- "project": {
- "actions": "",
- "description": "",
- "keepDependencies": false,
- "properties": {
- "com.coravy.hudson.plugins.github.GithubProjectProperty": {
- "plugin": "github@1.37.2",
- "projectUrl": "http://git.keyfil.com/saas-back-end/gitlab-tinybee/",
- "displayName": ""
- },
- "jenkins.model.BuildDiscarderProperty": {
- "strategy": {
- "class": "hudson.tasks.LogRotator",
- "daysToKeep": 7,
- "numToKeep": 10,
- "artifactDaysToKeep": -1,
- "artifactNumToKeep": -1
- }
- },
- "hudson.model.ParametersDefinitionProperty": {
- "parameterDefinitions": {
- "net.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterDefinition": {
- "plugin": "git-parameter@0.9.19",
- "name": "branch",
- "description": "打包分支",
- "uuid": "7066989e-1654-4bc1-8688-df99f290fc5a",
- "type": "PT_BRANCH",
- "branch": "",
- "tagFilter": "*",
- "branchFilter": ".*",
- "sortMode": "NONE",
- "defaultValue": "origin/master",
- "selectedValue": "NONE",
- "quickFilterEnabled": false,
- "listSize": 5,
- "requiredParameter": false
- }
- }
- }
- },
- "scm": {
- "class": "hudson.plugins.git.GitSCM",
- "plugin": "git@5.0.2",
- "configVersion": 2,
- "userRemoteConfigs": {
- "hudson.plugins.git.UserRemoteConfig": {
- "url": "http://git.keyfil.com/saas-back-end/gitlab-tinybee.git",
- "credentialsId": "gitlab"
- }
- },
- "branches": {
- "hudson.plugins.git.BranchSpec": {
- "name": "${branch}"
- }
- },
- "doGenerateSubmoduleConfigurations": false,
- "browser": {
- "class": "hudson.plugins.git.browser.GithubWeb",
- "url": "http://git.keyfil.com/saas-back-end/gitlab-tinybee"
- },
- "submoduleCfg": {
- "class": "empty-list"
- },
- "extensions": ""
- },
- "canRoam": true,
- "disabled": false,
- "blockBuildWhenDownstreamBuilding": false,
- "blockBuildWhenUpstreamBuilding": false,
- "triggers": "",
- "concurrentBuild": false,
- "builders": {
- "hudson.tasks.Shell": {
- "command": "source /etc/profile\n# mvn clean package -DskipTests\nmvn clean install -Dmaven.test.skip=true\njar_name=$(ls target/ | grep \".jar\" | grep -v \"original\" | head -n 1)\ncat > Dockerfile < \\n item.metric_name === 'pod_net_bytes_transmitted'\\n);\\nif (netUsageResult?.data?.result?.[0]?.value?.[1]) {\\n const value = parseFloat(netUsageResult.data.result[0].value[1]); \\n if (isNaN(value)) return null;\\n const inKbps = value / 128;\\n return Number(inKbps.toFixed(2));\\n}\\nreturn null;\",\"fieldOption\":[{\"label\":\"内存使用量\",\"text\":\"内存使用量\",\"value\":\"memory_usage\"},{\"label\":\"CPU使用量\",\"text\":\"CPU使用量\",\"value\":\"cpu_usage\"},{\"label\":\"出站流量(Kbps)\",\"text\":\"出站流量(Kbps)\",\"value\":\"net_bytes_transmitted\"},{\"label\":\"入站流量(Kbps)\",\"text\":\"入站流量(Kbps)\",\"value\":\"net_bytes_received\"}],\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataMapping\":[{\"mapping\":\"net_bytes_transmitted\",\"filed\":\"数值\"}],\"dataType\":2,\"query\":[],\"h\":60,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/namespace_param/pods/pod_param?env=develop&method=GET&env=${env}&namespace_param=${namespace_param}&pod_param=${pod_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"size\":{\"height\":60},\"dataSetId\":\"1095953990541275136\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":170,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"url\",\"linkageConfig\":[],\"dataSetIzAgent\":\"0\",\"option\":{\"openUrl\":\"\",\"isLink\":false,\"body\":{\"color\":\"#FFFFFF\",\"textAlign\":\"center\",\"letterSpacing\":0,\"text\":\"\",\"fontWeight\":\"normal\",\"marginTop\":0,\"marginLeft\":0},\"card\":{\"rightHref\":\"\",\"size\":\"default\",\"extra\":\"\",\"title\":\"\"},\"openType\":\"_blank\"}},\"key\":\"6f8fbb38-b528-4b9e-a023-6568eb68ea97\"},{\"component\":\"JText\",\"visible\":true,\"w\":170,\"x\":1231,\"h\":60,\"i\":\"ef78ed49-9afc-42fa-a1d2-7c50621401b7\",\"y\":727,\"orderNum\":0,\"componentName\":\"入站流量api\",\"pageCompId\":\"1097669608185147392\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"qifu-saas-owms-application-7f6f5c69d5-vl22k\",\"label\":\"pod_param\",\"text\":\"pod_param\",\"type\":\"string\",\"value\":\"pod_param\"},{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"k8s资源监控\",\"chartData\":\"{\\\"value\\\":\\\"我是展示文本\\\"}\",\"dataFilter\":\"const netUsageResult = data.results.find(item => \\n item.metric_name === 'pod_net_bytes_received'\\n);\\nif (netUsageResult?.data?.result?.[0]?.value?.[1]) {\\n const value = parseFloat(netUsageResult.data.result[0].value[1]); \\n if (isNaN(value)) return null;\\n const inKbps = value / 128;\\n return Number(inKbps.toFixed(2));\\n}\\nreturn null;\",\"fieldOption\":[{\"label\":\"内存使用量\",\"text\":\"内存使用量\",\"value\":\"memory_usage\"},{\"label\":\"CPU使用量\",\"text\":\"CPU使用量\",\"value\":\"cpu_usage\"},{\"label\":\"出站流量(Kbps)\",\"text\":\"出站流量(Kbps)\",\"value\":\"net_bytes_transmitted\"},{\"label\":\"入站流量(Kbps)\",\"text\":\"入站流量(Kbps)\",\"value\":\"net_bytes_received\"}],\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataMapping\":[{\"mapping\":\"net_bytes_received\",\"filed\":\"数值\"}],\"dataType\":2,\"query\":[],\"h\":60,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/namespace_param/pods/pod_param?env=develop&method=GET&env=${env}&namespace_param=${namespace_param}&pod_param=${pod_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"size\":{\"height\":60},\"dataSetId\":\"1095953990541275136\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":170,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"url\",\"linkageConfig\":[],\"dataSetIzAgent\":\"0\",\"option\":{\"openUrl\":\"\",\"isLink\":false,\"body\":{\"color\":\"#FFFFFF\",\"textAlign\":\"center\",\"letterSpacing\":0,\"text\":\"\",\"fontWeight\":\"normal\",\"marginTop\":0,\"marginLeft\":0},\"card\":{\"rightHref\":\"\",\"size\":\"default\",\"extra\":\"\",\"title\":\"\"},\"openType\":\"_blank\"}},\"key\":\"f21c369b-97f8-45fb-84f3-e6e8459cb7d0\"},{\"component\":\"JText\",\"visible\":true,\"w\":170,\"x\":605,\"h\":60,\"i\":\"e32a319f-7f17-468f-992a-9d610299dcb2\",\"y\":727,\"orderNum\":0,\"componentName\":\"CPU使用量api\",\"pageCompId\":\"1097669608197730304\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"qifu-saas-owms-application-7f6f5c69d5-vl22k\",\"label\":\"pod_param\",\"text\":\"pod_param\",\"type\":\"string\",\"value\":\"pod_param\"},{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"k8s资源监控\",\"chartData\":\"{\\\"value\\\":\\\"我是展示文本\\\"}\",\"dataFilter\":\"const cpuUsageResult = data.results.find(item => \\n item.metric_name === 'pod_cpu_usage'\\n);\\n\\nif (cpuUsageResult && \\n cpuUsageResult.data?.result?.[0]?.value?.[1]) {\\n return cpuUsageResult.data.result[0].value[1];\\n}\\n\\nreturn null; \",\"fieldOption\":[{\"label\":\"内存使用量\",\"text\":\"内存使用量\",\"value\":\"memory_usage\"},{\"label\":\"CPU使用量\",\"text\":\"CPU使用量\",\"value\":\"cpu_usage\"},{\"label\":\"出站流量(Kbps)\",\"text\":\"出站流量(Kbps)\",\"value\":\"net_bytes_transmitted\"},{\"label\":\"入站流量(Kbps)\",\"text\":\"入站流量(Kbps)\",\"value\":\"net_bytes_received\"}],\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataMapping\":[{\"mapping\":\"cpu_usage\",\"filed\":\"数值\"}],\"dataType\":2,\"query\":[],\"h\":60,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/namespace_param/pods/pod_param?env=develop&method=GET&env=${env}&namespace_param=${namespace_param}&pod_param=${pod_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"size\":{\"height\":60},\"dataSetId\":\"1095953990541275136\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":170,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"url\",\"linkageConfig\":[],\"dataSetIzAgent\":\"0\",\"option\":{\"openUrl\":\"\",\"isLink\":false,\"body\":{\"color\":\"#FFFFFF\",\"textAlign\":\"center\",\"letterSpacing\":0,\"text\":\"\",\"fontWeight\":\"normal\",\"marginTop\":0,\"marginLeft\":0},\"card\":{\"rightHref\":\"\",\"size\":\"default\",\"extra\":\"\",\"title\":\"\"},\"openType\":\"_blank\"}},\"key\":\"668b5bec-dfec-4d31-8571-d262b57c153c\"},{\"component\":\"JText\",\"visible\":true,\"w\":170,\"x\":605,\"h\":60,\"i\":\"d372f0ac-eb55-4c53-a3c5-3a3d970b4e7d\",\"y\":634,\"orderNum\":0,\"componentName\":\"内存使用量api\",\"pageCompId\":\"1097669608248061952\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"qifu-saas-owms-application-7f6f5c69d5-vl22k\",\"label\":\"pod_param\",\"text\":\"pod_param\",\"type\":\"string\",\"value\":\"pod_param\"},{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"k8s资源监控\",\"chartData\":\"{\\\"value\\\":\\\"我是展示文本\\\"}\",\"dataFilter\":\"// 找到 metric_name 为 'pod_memory_usage_wo_cache' 的结果项\\nconst memoryUsageResult = data.results.find(item => \\n item.metric_name === 'pod_memory_usage_wo_cache'\\n);\\n\\n// 提取值并计算\\nif (memoryUsageResult?.data?.result?.[0]?.value?.[1]) {\\n const value = parseFloat(memoryUsageResult.data.result[0].value[1]);\\n \\n if (isNaN(value)) return null;\\n \\n // 直接除以1024三次(转换为GB)\\n const inGB = value / (1024 * 1024 * 1024);\\n \\n // 保留2位小数\\n return Number(inGB.toFixed(2));\\n}\\n\\nreturn null;\",\"fieldOption\":[{\"label\":\"内存使用量\",\"text\":\"内存使用量\",\"value\":\"memory_usage\"},{\"label\":\"CPU使用量\",\"text\":\"CPU使用量\",\"value\":\"cpu_usage\"},{\"label\":\"出站流量(Kbps)\",\"text\":\"出站流量(Kbps)\",\"value\":\"net_bytes_transmitted\"},{\"label\":\"入站流量(Kbps)\",\"text\":\"入站流量(Kbps)\",\"value\":\"net_bytes_received\"}],\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataMapping\":[{\"mapping\":\"memory_usage\",\"filed\":\"数值\"}],\"dataType\":2,\"query\":[],\"h\":60,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/namespace_param/pods/pod_param?env=develop&method=GET&env=${env}&namespace_param=${namespace_param}&pod_param=${pod_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"size\":{\"width\":170,\"height\":60},\"dataSetId\":\"1095953990541275136\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":170,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"url\",\"linkageConfig\":[],\"dataSetIzAgent\":\"0\",\"option\":{\"openUrl\":\"\",\"isLink\":false,\"body\":{\"color\":\"#FFFFFF\",\"textAlign\":\"center\",\"letterSpacing\":0,\"text\":\"\",\"fontWeight\":\"normal\",\"marginTop\":0,\"marginLeft\":0},\"card\":{\"rightHref\":\"\",\"size\":\"default\",\"extra\":\"\",\"title\":\"\"},\"openType\":\"_blank\"}},\"key\":\"54629ee9-c5ad-4d8d-8f69-618ec5649b02\"},{\"component\":\"JScrollTable\",\"visible\":true,\"w\":1443,\"x\":450,\"h\":277,\"i\":\"670cd0b6-afa0-427d-a2a8-be382e65fc52\",\"y\":306,\"orderNum\":0,\"componentName\":\"pod列表\",\"pageCompId\":\"1097669608264839168\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"qifu-saas-bc\",\"label\":\"deploy_param\",\"text\":\"deploy_param\",\"type\":\"string\",\"value\":\"deploy_param\"},{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"k8s Endpoints详细信息\",\"chartData\":\"[{\\\"name\\\":\\\"张三\\\",\\\"age\\\":18,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"李四\\\",\\\"age\\\":20,\\\"gender\\\":\\\"女\\\"},{\\\"name\\\":\\\"王五\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"赵六\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"王思聪\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"王健林\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马云\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马化腾\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马1\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马2\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马3\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马4\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马5\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"}]\",\"dataFilter\":\"return data.subsets.flatMap(subset => {\\n // 获取该子集的所有端口\\n const ports = subset.ports?.map(p => p.port) || [];\\n \\n // 处理地址并添加端口信息\\n return (subset.addresses || []).map(addr => {\\n // 根据 IP 地址确定环境\\n let envValue;\\n if (addr?.ip?.startsWith('10.244')) {\\n envValue = 'prod';\\n } else if (addr?.ip?.startsWith('10.233')) {\\n envValue = 'develop';\\n } else {\\n // 默认值或未匹配时的值\\n envValue = 'unknown'; \\n }\\n \\n return {\\n nodeName: addr.nodeName,\\n podname: addr.targetRef?.name,\\n namespace_param: addr.targetRef?.namespace,\\n ip: addr.ip,\\n env: envValue, // 新增 env 字段\\n ports: ports.join(', '),\\n };\\n });\\n});\\n\",\"fieldOption\":[{\"label\":\"\",\"text\":\"\",\"value\":\"podname\"},{\"label\":\"\",\"text\":\"\",\"value\":\"ip\"},{\"label\":\"\",\"text\":\"\",\"value\":\"ports\"},{\"label\":\"\",\"text\":\"\",\"value\":\"nodeName\"}],\"syncColumn\":false,\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataType\":2,\"query\":[],\"h\":300,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/api/v1/namespaces/namespace_param/endpoints/deploy_param?sortBy=createTime&limit=1000&method=GET&env=${env}&namespace_param=${namespace_param}&deploy_param=${deploy_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/33/chart\",\"timeOut\":0,\"size\":{\"width\":1443,\"height\":277},\"dataSetId\":\"1095930618734342144\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":450,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"comp\",\"linkageConfig\":[{\"linkageId\":\"70f875df-d5fa-471f-87cb-4760102a6bf9\",\"linkage\":[{\"source\":\"podname\",\"target\":\"pod_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]},{\"linkageId\":\"d372f0ac-eb55-4c53-a3c5-3a3d970b4e7d\",\"linkage\":[{\"source\":\"podname\",\"target\":\"pod_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]},{\"linkageId\":\"e32a319f-7f17-468f-992a-9d610299dcb2\",\"linkage\":[{\"source\":\"namespace_param\",\"target\":\"namespace_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"podname\",\"target\":\"pod_param\"}]},{\"linkageId\":\"ef78ed49-9afc-42fa-a1d2-7c50621401b7\",\"linkage\":[{\"source\":\"namespace_param\",\"target\":\"namespace_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"podname\",\"target\":\"pod_param\"}]},{\"linkageId\":\"3466cde7-867b-400a-8d99-846dbf671cbc\",\"linkage\":[{\"source\":\"namespace_param\",\"target\":\"namespace_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"podname\",\"target\":\"pod_param\"}]}],\"dataSetIzAgent\":\"0\",\"option\":{\"headerBgColor\":\"#0A73FF\",\"borderColor\":\"#FFFFFF\",\"textPosition\":\"left\",\"scroll\":false,\"scrollTime\":50,\"bodyFontSize\":24,\"bodyFontColor\":\"#FFFFFF\",\"rankingTitle\":\"#\",\"showBorder\":false,\"oddColor\":\"#0A2732\",\"evenColor\":\"#003B51\",\"fieldMapping\":[{\"name\":\"podname\",\"id\":0,\"key\":\"podname\"},{\"name\":\"ip\",\"id\":1,\"key\":\"ip\"},{\"name\":\"ports\",\"id\":2,\"key\":\"ports\"},{\"name\":\"nodeName\",\"id\":3,\"key\":\"nodeName\"},{\"name\":\"name_param\",\"key\":\"name_param\"}],\"showHead\":false,\"borderWidth\":1,\"ranking\":false,\"lineHeight\":50,\"fontSize\":20,\"borderStyle\":\"solid\",\"headerFontColor\":\"#FFFFFF\"},\"jsConfig\":\"window.open(\\\"https://www.baidu.com\\\")\\nreturn false;\"},\"key\":\"9f7fff7c-d5b7-4991-9b18-bb2702a886bd\"},{\"component\":\"JText\",\"visible\":true,\"w\":357,\"x\":458,\"h\":60,\"i\":\"c11f64db-2193-498b-8952-8c499e025a97\",\"y\":183,\"orderNum\":0,\"componentName\":\"应用名副\",\"pageCompId\":\"1097669608281616384\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"qifu-saas-bc\",\"label\":\"deploy_param\",\"text\":\"deploy_param\",\"type\":\"string\",\"value\":\"deploy_param\"},{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"应用详情\",\"chartData\":\"{\\\"value\\\":\\\"我是展示文本\\\"}\",\"dataFilter\":\"return data.metadata.name;\",\"fieldOption\":[{\"label\":\"应用名称\",\"text\":\"应用名称\",\"value\":\"name\"}],\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataMapping\":[{\"mapping\":\"name\",\"filed\":\"数值\"}],\"dataType\":2,\"query\":[],\"h\":60,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/api/v1/namespaces/namespace_param/endpoints/deploy_param?sortBy=createTime&limit=1000&method=GET&env=${env}&namespace_param=${namespace_param}&deploy_param=${deploy_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"size\":{\"width\":357,\"height\":60},\"dataSetId\":\"1095628585384964096\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":170,\"dataNum\":\"\",\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"url\",\"linkageConfig\":[],\"dataSetIzAgent\":\"0\",\"option\":{\"openUrl\":\"\",\"isLink\":false,\"horseLamp\":false,\"body\":{\"color\":\"#FFFFFF\",\"textAlign\":\"left\",\"letterSpacing\":0,\"fontSize\":32,\"text\":\"\",\"fontWeight\":\"normal\",\"marginTop\":0,\"marginLeft\":0},\"card\":{\"rightHref\":\"\",\"size\":\"default\",\"extra\":\"\",\"title\":\"\"},\"openType\":\"_blank\"},\"jsConfig\":\"window.open(\\\"https://www.baidu.com\\\")\\nreturn false;\"},\"key\":\"3bc41f55-9cd0-47be-9078-076f9a1131ef\"},{\"visible\":true,\"h\":633,\"i\":\"282b4140-58c1-41ec-9172-4e1a3b1c2a6d\",\"orderNum\":0,\"component\":\"JScrollTable\",\"w\":341,\"x\":48,\"y\":182,\"angle\":0,\"componentName\":\"应用名全\",\"pageCompId\":\"1097669608298393600\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"paramOption\":[{\"defaultVal\":\"develop\",\"label\":\"env\",\"text\":\"env\",\"type\":\"string\",\"value\":\"env\"},{\"defaultVal\":\"qifu-develop\",\"label\":\"namespace_param\",\"text\":\"namespace_param\",\"type\":\"string\",\"value\":\"namespace_param\"}],\"dataSetName\":\"k8s Endpoints信息\",\"chartData\":\"[{\\\"name\\\":\\\"张三\\\",\\\"age\\\":18,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"李四\\\",\\\"age\\\":20,\\\"gender\\\":\\\"女\\\"},{\\\"name\\\":\\\"王五\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"赵六\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"王思聪\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"王健林\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马云\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马化腾\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马1\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马2\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马3\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马4\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"},{\\\"name\\\":\\\"马5\\\",\\\"age\\\":22,\\\"gender\\\":\\\"男\\\"}]\",\"dataFilter\":\"return Array.from(\\n data.items.flatMap(item => {\\n const name = item.metadata?.name;\\n \\n // 复杂条件判断\\n if (!(\\n name?.startsWith('qifu-') || \\n name?.startsWith('tenant') || \\n name === 'keyfil-website' || \\n name === 'oversea-client' ||\\n name === 'infrastructure'\\n )) return [];\\n \\n return item.subsets?.flatMap(subset => \\n subset.addresses?.map(addr => {\\n // 根据 IP 地址确定环境\\n let envValue;\\n if (addr?.ip?.startsWith('10.244')) {\\n envValue = 'prod';\\n } else if (addr?.ip?.startsWith('10.233')) {\\n envValue = 'develop';\\n } else {\\n envValue = 'unknown';\\n }\\n \\n return {\\n name,\\n env: envValue,\\n namespace_param: addr.targetRef?.namespace,\\n podname: addr.targetRef?.name\\n };\\n }) || []\\n ) || [];\\n })\\n // 使用 Map 对象去重\\n .reduce((acc, current) => {\\n // 如果这个 name 还没有被记录\\n if (!acc.has(current.name)) {\\n // 记录这个 name 的第一个条目\\n acc.set(current.name, current);\\n }\\n return acc;\\n }, new Map())\\n // 从 Map 中提取值\\n .values()\\n);\",\"fieldOption\":[{\"label\":\"应用名\",\"text\":\"应用名\",\"value\":\"name\"}],\"syncColumn\":false,\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"seriesType\":[],\"dataType\":2,\"query\":[],\"h\":300,\"dataSetApi\":\"http://jeecg.qifu.com/jeecgboot/yuanmeng/kubesphere/proxy/api/v1/namespaces/namespace_param/endpoints?sortBy=createTime&limit=1000&method=GET&env=${env}&namespace_param=${namespace_param}\",\"drillData\":[],\"url\":\"http://api.jeecg.com/mock/33/chart\",\"timeOut\":0,\"size\":{\"width\":341,\"height\":633},\"dataSetId\":\"1095580337416859648\",\"dataSetType\":\"api\",\"background\":\"#FFFFFF00\",\"w\":450,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"comp\",\"linkageConfig\":[{\"linkageId\":\"c11f64db-2193-498b-8952-8c499e025a97\",\"linkage\":[{\"source\":\"name\",\"target\":\"deploy_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]},{\"linkageId\":\"c816d2d7-7ef6-458f-97c7-0539f83b400c\",\"linkage\":[{\"source\":\"name\",\"target\":\"deploy_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]},{\"linkageId\":\"670cd0b6-afa0-427d-a2a8-be382e65fc52\",\"linkage\":[{\"source\":\"name\",\"target\":\"deploy_param\"},{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]}],\"dataSetIzAgent\":\"0\",\"option\":{\"headerBgColor\":\"#0A73FF\",\"borderColor\":\"#FFFFFF\",\"textPosition\":\"center\",\"scroll\":true,\"scrollTime\":50,\"bodyFontSize\":24,\"bodyFontColor\":\"#FFFFFF\",\"rankingTitle\":\"#\",\"showBorder\":false,\"oddColor\":\"#0A2732\",\"evenColor\":\"#003B51\",\"fieldMapping\":[{\"name\":\"应用名\",\"width\":0,\"id\":0,\"key\":\"name\"}],\"showHead\":true,\"borderWidth\":1,\"ranking\":false,\"lineHeight\":50,\"fontSize\":24,\"borderStyle\":\"solid\",\"headerFontColor\":\"#FFFFFF\"},\"jsConfig\":\"\"},\"key\":\"cba38da4-c15f-42d3-bb78-b4a5c34860b0\"},{\"component\":\"JSelectRadio\",\"visible\":true,\"w\":1867,\"x\":24,\"h\":80,\"i\":\"43f0aedb-4c94-49f2-852b-fec0adbd575e\",\"y\":74,\"orderNum\":0,\"componentName\":\"选项卡\",\"pageCompId\":\"1097669608323559424\",\"config\":{\"compShowConfig\":[{\"compVals\":[\"eab32c8d-8ed4-41da-8032-c5215bb8d7a8\"],\"selectVal\":\"qifu-test\"},{\"compVals\":[\"c6348216-d92c-41c3-95c4-2f4dba5e4bc9\"],\"selectVal\":\"qifu-uat\"},{\"compVals\":[\"00046a8c-b2e7-4595-bfdc-8b6114931578\"],\"selectVal\":\"qifu\"}],\"borderColor\":\"#FFFFFF00\",\"dataMapping\":[{\"mapping\":\"\",\"filed\":\"文本\"},{\"mapping\":\"\",\"filed\":\"数值\"}],\"dataType\":1,\"h\":80,\"url\":\"http://api.jeecg.com/mock/42/nav\",\"timeOut\":0,\"chartData\":\"[\\n {\\n \\\"label\\\": \\\"开发\\\",\\n \\\"value\\\": \\\"qifu-develop\\\",\\n \\\"env\\\": \\\"develop\\\",\\n \\\"namespace_param\\\": \\\"qifu-develop\\\"\\n },\\n {\\n \\\"label\\\": \\\"测试\\\",\\n \\\"value\\\": \\\"qifu-test\\\",\\n \\\"env\\\": \\\"develop\\\",\\n \\\"namespace_param\\\": \\\"qifu\\\"\\n },\\n {\\n \\\"label\\\": \\\"预发布\\\",\\n \\\"value\\\": \\\"qifu-uat\\\",\\n \\\"env\\\": \\\"prod\\\",\\n \\\"namespace_param\\\": \\\"qifu-uat\\\"\\n },\\n {\\n \\\"label\\\": \\\"生产\\\",\\n \\\"value\\\": \\\"qifu\\\",\\n \\\"env\\\": \\\"prod\\\",\\n \\\"namespace_param\\\": \\\"qifu\\\"\\n }\\n]\",\"size\":{\"width\":1867,\"height\":80},\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"background\":\"#FFFFFF00\",\"w\":400,\"turnConfig\":{\"type\":\"_blank\",\"url\":\"\"},\"linkType\":\"comp\",\"linkageConfig\":[{\"linkageId\":\"282b4140-58c1-41ec-9172-4e1a3b1c2a6d\",\"linkage\":[{\"source\":\"env\",\"target\":\"env\"},{\"source\":\"namespace_param\",\"target\":\"namespace_param\"}]}],\"option\":{\"padding\":6,\"backgroundColor\":\"#3D3C3C\",\"borderColor\":\"#000000\",\"color\":\"#FFFFFF\",\"backgroundImage\":\"\",\"type\":\"radio\",\"activeBackgroundImage\":\"\",\"activeBorderWidth\":0,\"customColor\":[{\"color1\":\"#0780cf\",\"color\":\"#0780cf\"},{\"color1\":\"#765005\",\"color\":\"#765005\"},{\"color1\":\"#fa6d1d\",\"color\":\"#fa6d1d\"},{\"color1\":\"#0e2c82\",\"color\":\"#0e2c82\"},{\"color1\":\"#b6b51f\",\"color\":\"#b6b51f\"},{\"color1\":\"#da1f18\",\"color\":\"#da1f18\"},{\"color1\":\"#701866\",\"color\":\"#701866\"},{\"color1\":\"#f47a75\",\"color\":\"#f47a75\"},{\"color1\":\"#009db2\",\"color\":\"#009db2\"}],\"activeColor\":\"#FFFFFF\",\"activeBorderColor\":\"#FF0000\",\"borderWidth\":0,\"activeBackgroundColor\":\"#0A73FF\",\"fontSize\":32}},\"key\":\"a345a6e8-2a37-4e95-8ca1-6e2dbf97e1f4\"},{\"component\":\"JDragBorder\",\"visible\":true,\"w\":1924,\"x\":1,\"h\":1940,\"i\":\"dca189f7-fcba-476e-a611-278b91c7724b\",\"y\":-7,\"orderNum\":0,\"componentName\":\"边框总\",\"pageCompId\":\"1097669608336142336\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"size\":{\"width\":1924,\"height\":1940},\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"background\":\"#FFFFFF00\",\"w\":450,\"dataType\":1,\"h\":300,\"option\":{\"dur\":3,\"backgroundColor\":\"#ffffff00\",\"mainColor\":\"#83BFF6\",\"titleWidth\":250,\"type\":\"11\",\"title\":\"资源监控\",\"subColor\":\"#00CED1\",\"reverse\":false}},\"key\":\"e4454c01-70b6-49a3-8cf6-4586b4463af1\"},{\"component\":\"JDragBorder\",\"visible\":true,\"w\":390,\"x\":436,\"h\":67,\"i\":\"4046cb08-f7d6-4bb5-82af-fc79566a207b\",\"y\":182,\"orderNum\":0,\"componentName\":\"应用名边框\",\"pageCompId\":\"1097669608352919552\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"size\":{\"width\":390,\"height\":67.00000000000003},\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"background\":\"#FFFFFF00\",\"w\":450,\"dataType\":1,\"h\":300,\"option\":{\"dur\":3,\"backgroundColor\":\"#ffffff00\",\"mainColor\":\"#83BFF6\",\"titleWidth\":250,\"type\":\"7\",\"title\":\"边框\",\"subColor\":\"#00CED1\",\"reverse\":false}},\"key\":\"b7accb5b-b1ad-46a7-890b-0e3dc150a565\"},{\"component\":\"JDragBorder\",\"visible\":true,\"w\":1462,\"x\":436,\"h\":300,\"i\":\"3a453db2-753a-472a-a1d0-9018406687c1\",\"y\":293,\"orderNum\":918,\"componentName\":\"pod列表边框\",\"pageCompId\":\"1097669608373891072\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"size\":{\"width\":1462,\"height\":300},\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"background\":\"#FFFFFF00\",\"w\":450,\"dataType\":1,\"h\":300,\"option\":{\"dur\":3,\"backgroundColor\":\"#ffffff00\",\"mainColor\":\"#83bff6\",\"titleWidth\":250,\"type\":\"7\",\"title\":\"边框\",\"subColor\":\"#00CED1\",\"reverse\":false}},\"key\":\"dafdfe05-524c-4249-85f0-489273df1a94\"},{\"component\":\"JDragBorder\",\"visible\":true,\"w\":1457,\"x\":436,\"h\":197,\"i\":\"be406061-b65c-4723-998f-4bbd86ee9d09\",\"y\":615,\"orderNum\":918,\"componentName\":\"资源使用边框\",\"pageCompId\":\"1097669608386473984\",\"config\":{\"borderColor\":\"#FFFFFF00\",\"size\":{\"width\":1457,\"height\":197},\"actionConfig\":{\"operateType\":\"modal\",\"modalName\":\"\",\"url\":\"\"},\"background\":\"#FFFFFF00\",\"w\":450,\"dataType\":1,\"h\":300,\"option\":{\"dur\":3,\"backgroundColor\":\"#ffffff00\",\"mainColor\":\"#83bff6\",\"titleWidth\":250,\"type\":\"7\",\"title\":\"边框\",\"subColor\":\"#00CED1\",\"reverse\":false}},\"key\":\"9d8276b0-5184-4253-9250-e1b8953b4f7d\"}]",
+ "updateCount": null,
+ "sign": "E19D6243CB1945AB4F7202A1B00F77D5"
}
\ No newline at end of file
diff --git a/绘图/低代码平台说明.excalidraw b/绘图/低代码平台说明.excalidraw
new file mode 100644
index 0000000..1a33f13
--- /dev/null
+++ b/绘图/低代码平台说明.excalidraw
@@ -0,0 +1,48 @@
+{
+ "type": "excalidraw",
+ "version": 2,
+ "source": "https://excalidraw-jetbrains-plugin",
+ "elements": [
+ {
+ "id": "Xo-lR6rbRSLxlttflMnq1",
+ "type": "text",
+ "x": 874,
+ "y": 239,
+ "width": 314.05078125,
+ "height": 41.4,
+ "angle": 0,
+ "strokeColor": "#1e1e1e",
+ "backgroundColor": "transparent",
+ "fillStyle": "solid",
+ "strokeWidth": 2,
+ "strokeStyle": "solid",
+ "roughness": 1,
+ "opacity": 100,
+ "groupIds": [],
+ "frameId": null,
+ "roundness": null,
+ "seed": 378856173,
+ "version": 60,
+ "versionNonce": 199762093,
+ "isDeleted": false,
+ "boundElements": null,
+ "updated": 1750241857766,
+ "link": null,
+ "locked": false,
+ "text": "KEYFIL 低代码平台",
+ "fontSize": 36,
+ "fontFamily": 2,
+ "textAlign": "left",
+ "verticalAlign": "top",
+ "baseline": 33,
+ "containerId": null,
+ "originalText": "KEYFIL 低代码平台",
+ "lineHeight": 1.15
+ }
+ ],
+ "appState": {
+ "gridSize": null,
+ "viewBackgroundColor": "#ffffff"
+ },
+ "files": {}
+}
\ No newline at end of file