From 9bde28fd5d6250b7adf1c7b2e5a426d652a26d3c Mon Sep 17 00:00:00 2001 From: AlkaidChen <362774405@qq.com> Date: Tue, 10 Sep 2024 21:07:35 +0800 Subject: [PATCH 1/6] fix: invalid path (#3512) --- bcs-services/bcs-bscp/pkg/criteria/validator/file.go | 5 ----- 1 file changed, 5 deletions(-) diff --git a/bcs-services/bcs-bscp/pkg/criteria/validator/file.go b/bcs-services/bcs-bscp/pkg/criteria/validator/file.go index eafa82ac19..c9fdc3bc18 100644 --- a/bcs-services/bcs-bscp/pkg/criteria/validator/file.go +++ b/bcs-services/bcs-bscp/pkg/criteria/validator/file.go @@ -46,11 +46,6 @@ func ValidateUnixFilePath(kit *kit.Kit, path string) error { "cannot contain consecutive '/'", path)) } - // 3. 检查是否以 '/' 结尾(除非是根路径) - if len(path) > 1 && strings.HasSuffix(path, "/") { - return errf.Errorf(errf.InvalidArgument, i18n.T(kit, "invalid path %s, the path cannot end with '/'", path)) - } - return nil } From f5e3f693d9afbe5189c986c863836b91f7afe256 Mon Sep 17 00:00:00 2001 From: Yuikill <105910874+Yuikill@users.noreply.github.com> Date: Wed, 11 Sep 2024 10:19:49 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=88=87=E6=8D=A2=E5=A4=B1=E8=B4=A5=20(#3513?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 创建服务类型切换失败 * fix: 配置客户端引导新开页面 * fix: 批量导入字体大小调整 --- .../components/modify-group-publish.vue | 6 +++++- .../components/publish-version/index.vue | 6 +++++- .../config-table-list/config-form.vue | 7 ++++++- .../import-file/import-from-local-file.vue | 19 +++++++++++++++++-- .../service/list/components/service-form.vue | 1 + 5 files changed, 34 insertions(+), 5 deletions(-) diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue index ae0a207216..fe35f69695 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/modify-group-publish.vue @@ -314,7 +314,11 @@ confirmText: t('配置客户端'), cancelText: t('稍后再说'), onConfirm: () => { - router.push({ name: 'configuration-example' }); + const routeData = router.resolve({ + name: 'configuration-example', + params: { spaceId: props.bkBizId, appId: props.appId }, + }); + window.open(routeData.href, '_blank'); }, }); } diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/publish-version/index.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/publish-version/index.vue index 65a006aaf4..2414c4ce09 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/publish-version/index.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/components/publish-version/index.vue @@ -258,7 +258,11 @@ confirmText: t('配置客户端'), cancelText: t('稍后再说'), onConfirm: () => { - router.push({ name: 'configuration-example' }); + const routeData = router.resolve({ + name: 'configuration-example', + params: { spaceId: props.bkBizId, appId: props.appId }, + }); + window.open(routeData.href, '_blank'); }, }); } diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue index 7cac0cd4c9..28703d767e 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/config-form.vue @@ -41,7 +41,9 @@ @@ -578,6 +580,9 @@ justify-content: space-between; :deep(.bk-form-item) { margin-bottom: 0px; + .bk-form-error { + position: inherit; + } } } .user-tips { diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/import-from-local-file.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/import-from-local-file.vue index 83b636fad7..d343524ab4 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/import-from-local-file.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/detail/config/config-list/config-table-list/create-config/import-file/import-from-local-file.vue @@ -2,7 +2,7 @@
{{ $t('上传配置项') }}
- {{ $t('压缩包自动解压') }} + {{ $t('压缩包自动解压') }}
{{ uploadTips }}
@@ -15,7 +15,7 @@ :custom-request="handleFileUpload"> @@ -345,4 +345,19 @@ } } } + + .upload-button { + .icon { + font-size: 16px; + color: #63656e; + } + .text { + font-size: 12px; + margin-left: 7px; + } + } + + .decompression { + font-size: 12px !important; + } diff --git a/bcs-services/bcs-bscp/ui/src/views/space/service/list/components/service-form.vue b/bcs-services/bcs-bscp/ui/src/views/space/service/list/components/service-form.vue index 87fed63943..561cfa84b1 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/service/list/components/service-form.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/service/list/components/service-form.vue @@ -113,6 +113,7 @@ } else { localData.value.data_type = ''; } + handleChange(); }; const handleChange = () => { From b06ef37d1efa9e9fe6040a90afd100da470a770f Mon Sep 17 00:00:00 2001 From: ambition <39669748+Ambition9186@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:43:27 +0800 Subject: [PATCH 3/6] =?UTF-8?q?fix:=20=E5=A4=84=E7=90=86zip=E8=A7=A3?= =?UTF-8?q?=E5=8E=8B=E4=B9=B1=E7=A0=81=E9=97=AE=E9=A2=98=20(#3515)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bcs-services/bcs-bscp/go.mod | 16 ++++---- bcs-services/bcs-bscp/go.sum | 34 ++++++++--------- .../bcs-bscp/pkg/runtime/archive/zip.go | 37 +++++++------------ 3 files changed, 35 insertions(+), 52 deletions(-) diff --git a/bcs-services/bcs-bscp/go.mod b/bcs-services/bcs-bscp/go.mod index ab770829f9..7925d6459c 100644 --- a/bcs-services/bcs-bscp/go.mod +++ b/bcs-services/bcs-bscp/go.mod @@ -7,7 +7,6 @@ replace github.com/go-resty/resty/v2 => github.com/ifooth/resty/v2 v2.0.0-202302 require ( github.com/Tencent/bk-bcs/bcs-common v0.0.0-20240418123107-72b120390195 github.com/TencentBlueKing/iam-go-sdk v0.1.6 - github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 github.com/bluele/gcache v0.0.2 github.com/dustin/go-humanize v1.0.1 github.com/go-chi/chi/v5 v5.0.10 @@ -33,7 +32,6 @@ require ( github.com/panjf2000/ants/v2 v2.8.2 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.19.0 - github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d github.com/samber/lo v1.39.0 github.com/shimingyah/pool v1.0.0 github.com/sirupsen/logrus v1.9.3 @@ -53,8 +51,8 @@ require ( go.etcd.io/etcd/client/v3 v3.5.9 go.uber.org/atomic v1.11.0 go.uber.org/automaxprocs v1.5.3 - golang.org/x/sync v0.6.0 - golang.org/x/text v0.14.0 + golang.org/x/sync v0.8.0 + golang.org/x/text v0.18.0 golang.org/x/time v0.5.0 google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 @@ -199,12 +197,12 @@ require ( go.opentelemetry.io/otel/trace v1.18.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.21.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect - golang.org/x/mod v0.14.0 // indirect - golang.org/x/net v0.23.0 - golang.org/x/sys v0.18.0 // indirect - golang.org/x/tools v0.16.1 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.25.0 + golang.org/x/sys v0.20.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/bcs-services/bcs-bscp/go.sum b/bcs-services/bcs-bscp/go.sum index 5f6477c17b..cb716400b1 100644 --- a/bcs-services/bcs-bscp/go.sum +++ b/bcs-services/bcs-bscp/go.sum @@ -74,8 +74,6 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 h1:OYA+5W64v3OgClL+IrOD63t4i/RW7RqrAVl9LTZ9UqQ= -github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394/go.mod h1:Q8n74mJTIgjX4RBBcHnJ05h//6/k6foqmgE45jTQtxg= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -584,8 +582,6 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d h1:hrujxIzL1woJ7AwssoOcM/tq5JjjG2yYOc8odClEiXA= -github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d/go.mod h1:uugorj2VCxiV1x+LzaIdVa9b4S4qGAcH6cbhh4qVxOU= github.com/samber/lo v1.39.0 h1:4gTz1wUhNYLhFSKl6O+8peW0v2F4BCY034GRpU9WnuA= github.com/samber/lo v1.39.0/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= @@ -736,8 +732,8 @@ golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -778,8 +774,8 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -832,8 +828,8 @@ golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -861,8 +857,8 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -934,8 +930,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -943,7 +939,7 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -957,8 +953,8 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1021,8 +1017,8 @@ golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA= -golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/bcs-services/bcs-bscp/pkg/runtime/archive/zip.go b/bcs-services/bcs-bscp/pkg/runtime/archive/zip.go index c9f4a1df8b..de726bbaa9 100644 --- a/bcs-services/bcs-bscp/pkg/runtime/archive/zip.go +++ b/bcs-services/bcs-bscp/pkg/runtime/archive/zip.go @@ -14,14 +14,15 @@ package archive import ( "archive/zip" + "bytes" "fmt" "io" "os" "path/filepath" "time" - "github.com/axgle/mahonia" - "github.com/saintfish/chardet" + "golang.org/x/text/encoding/simplifiedchinese" + "golang.org/x/text/transform" "github.com/TencentBlueKing/bk-bcs/bcs-services/bcs-bscp/pkg/criteria/errf" ) @@ -40,23 +41,6 @@ func NewZipArchive(destPath string, limitFileSize int64) ZipArchive { } } -// 检测源字符集 转换成utf-8 -func checkCharacterSets(src string) (string, error) { - - // 创建字符集检测器 - detector := chardet.NewTextDetector() - - // 检测字符集 - result, err := detector.DetectBest([]byte(src)) - if err != nil { - return "", err - } - - decoder := mahonia.NewDecoder(result.Charset) - - return decoder.ConvertString(src), nil -} - // UnZipPack decompresses the zip package and receives the parameter io.Reader func (z ZipArchive) UnZipPack(reader io.Reader) error { // 将请求体内容写入临时文件 @@ -117,12 +101,17 @@ func (z ZipArchive) unpackZip(zr *zip.Reader) error { } func (z ZipArchive) unzipFile(f *zip.File) error { - fileName, err := checkCharacterSets(f.Name) - if err != nil { - return err + var decodeName string + if f.Flags == 0 { + decoder := transform.NewReader(bytes.NewReader([]byte(f.Name)), simplifiedchinese.GB18030.NewDecoder()) + content, _ := io.ReadAll(decoder) + decodeName = string(content) + } else { + decodeName = f.Name } + if f.FileInfo().IsDir() { - if err = os.MkdirAll(filepath.Join(z.destPath, fileName), f.Mode().Perm()); err != nil { + if err := os.MkdirAll(filepath.Join(z.destPath, decodeName), f.Mode().Perm()); err != nil { return err } return nil @@ -135,7 +124,7 @@ func (z ZipArchive) unzipFile(f *zip.File) error { // NOCC:gas/error(ignore) _ = rc.Close() }() - filePath := sanitize(fileName) + filePath := sanitize(decodeName) z.destPath = filepath.Join(z.destPath, filePath) fileDir := filepath.Dir(z.destPath) From ca718aee88918579890d7a0dc20c107103d04e47 Mon Sep 17 00:00:00 2001 From: q15971095971 <764419406@qq.com> Date: Wed, 11 Sep 2024 11:53:01 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20=E9=85=8D=E7=BD=AE=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B=E7=9C=9F=E5=AE=9E=E8=B7=AF=E5=BE=84=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=BC=80=E6=94=BE=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD--story=3D115998324=20(#3516)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 配置示例真实路径样式调整,开放复制功能--story=115998324 * feat: 复制路径改为真实路径--story==115998324 --- bcs-services/bcs-bscp/ui/src/i18n/en-us.ts | 1 + bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts | 1 + .../client/example/components/form-option.vue | 68 ++++++++++++------- 3 files changed, 47 insertions(+), 23 deletions(-) diff --git a/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts b/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts index 008c327b5a..b4b5ff62c8 100644 --- a/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts +++ b/bcs-services/bcs-bscp/ui/src/i18n/en-us.ts @@ -867,6 +867,7 @@ export default { 'HTTP(S)接口调用': 'HTTP(S) interface invocation', '请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例': 'Please enter the BCS cluster ID, replace the example code below, and then try copying the example', 'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字': 'The BCS cluster ID must follow the format: BCS-K8S-xxxxx, where xxxxx is a five-digit numbe', + 一键复制: 'Copy', // 公共组件 页面不存在: 'Page does not exist', diff --git a/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts b/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts index 8123888219..12f266c1b5 100644 --- a/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts +++ b/bcs-services/bcs-bscp/ui/src/i18n/zh-cn.ts @@ -870,6 +870,7 @@ export default { 'HTTP(S)接口调用': 'HTTP(S)接口调用', '请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例': '请输入BCS 集群 ID,替换下方示例代码后,再尝试复制示例', 'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字': 'BCS集群ID须符合以下格式:BCS-K8S-xxxxx,其中xxxxx为5位数字', + 一键复制: '一键复制', // 公共组件 页面不存在: '页面不存在', diff --git a/bcs-services/bcs-bscp/ui/src/views/space/client/example/components/form-option.vue b/bcs-services/bcs-bscp/ui/src/views/space/client/example/components/form-option.vue index 542f26dc25..4a09107f03 100644 --- a/bcs-services/bcs-bscp/ui/src/views/space/client/example/components/form-option.vue +++ b/bcs-services/bcs-bscp/ui/src/views/space/client/example/components/form-option.vue @@ -26,13 +26,17 @@ -
+
{{ t('客户端下载配置文件后,会将其保存在') }} - +  {{ `${formData.tempDir}/${spaceId}/${basicInfo?.serviceName.value}/files` }}  - -
@@ -76,7 +80,7 @@