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