Skip to content

Commit 5c94d18

Browse files
Feat: Enhance service method retrieval and invocation features (#1429)
* feat: add endpoint to retrieve service method names and corresponding request model * feat: add endpoint and logic to retrieve service method details * feat: trim whitespace from service name, mesh, group, version, and provider app name in ServiceMethodsReq * feat: enhance service method handling with overload support and signature retrieval * feat: add generic service invocation support * feat: refactor triple RPC instance selection to use a dedicated target struct * feat: remove obsolete service methods test file * feat: improve error handling in generic service invocation and add parameter count validation * feat: remove unnecessary variable and directly call service.InvokeServiceGeneric in ServiceGenericInvoke * feat: improve query validation by using strutil for blank checks and enhance service provider metadata indexing * feat: add endpoint to retrieve service provider instances and enhance request validation * feat: update service provider instance handling and improve request validation * feat: enhance generic service invocation with protocol and serialization support * feat: add normalization functions for JSON values in generic service invocation * feat: add normalization functions for JSON values in generic service invocation * feat: refine retry logic for service invocation failures * feat(ui-vue3): 添加 mock 数据支持,优化请求配置 - 添加环境变量 `VITE_MOCK_ENABLED` 用于启用 mock 数据模式 - 更新 `package.json` 脚本以添加 `dev:mock` 用于 mock 数据开发环境 - 新增 `mockLogin.ts` 文件,提供 mock 登录和登出接口 - 修改 `request.ts`,根据环境变量切换请求的 `baseURL` - 优化 `main.ts`,根据 mock 模式自动导入 mock API 并更新认证状态 * feat(ui-vue3): 新增 Axios 依赖和 mock 数据接口 - 新增 axios 作为 HTTP 客户端依赖 - 优化 mock 数据接口,包括应用指标、流量权重、灰度配置等 - 更新 package.json 文件以添加 axios 依赖 - 修改多个 mock 接口以适应新的架构和数据结构 * feat(api): 新增 mock 服务方法列表、详情及泛化调用接口 * feat(api): add front func * feat(ui-vue3): improve func empty description * feat(ui-vue3): code format * feat(api): update mock interface * feat(ui-vue3): add elapsed time display for service debug invoke * refactor: replace mockjs with MSW for API mocking Migrate from mockjs to Mock Service Worker (MSW) for a more realistic mock setup that intercepts at the network level. This eliminates the need for a separate mock baseURL and simplifies the mock architecture. - Remove mockjs dependency and all src/api/mock/* files - Add msw with browser worker and handler-based mock definitions - Move mock data to src/mocks/ with per-domain handler organization - Add shared API type definitions in src/types/api.ts - Simplify request.ts baseURL (always /api/v1, MSW handles interception) - Update main.ts mock initialization to use MSW worker * feat(api): refactor service request handling to use BaseServiceReq * feat(api): simplify service provider metadata lookup logic * feat(api): streamline service method resolution and metadata handling * feat(api): enhance ServiceGenericInvokeReq structure and streamline metadata handling * style(debug): format icon imports for improved readability * refactor(api): simplify splitGenericArrayType function by removing redundant checks * chore(deps): downgrade msw and related dependencies to version 2.11.6 * style(debug): improve debug tab UI with typography components and refined styles * style(debug): refine button and typography styles for improved consistency --------- Co-authored-by: 劳资蜀道山 <1493170339@qq.com>
1 parent 9de1ee0 commit 5c94d18

52 files changed

Lines changed: 5781 additions & 1923 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.licenserc.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ header:
8383
- '**/docs/**'
8484
- '**/.husky/pre-commit'
8585
- '**/.nvmrc'
86+
- '**/public/mockServiceWorker.js'
8687
- '**/**.txtar'
8788
- '**/**gen.go'
8889
- '**/api/**'

go.mod

Lines changed: 87 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ go 1.24.0
2020
toolchain go1.24.11
2121

2222
require (
23-
dubbo.apache.org/dubbo-go/v3 v3.3.0
24-
github.com/dubbogo/go-zookeeper v1.0.4
23+
dubbo.apache.org/dubbo-go/v3 v3.0.0-20260210015753-35ea886421f9
24+
github.com/apache/dubbo-go-hessian2 v1.12.5
25+
github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5
2526
github.com/duke-git/lancet/v2 v2.3.6
2627
github.com/envoyproxy/go-control-plane/envoy v1.32.4
2728
github.com/fullstorydev/grpcurl v1.9.1
@@ -86,7 +87,6 @@ require (
8687
github.com/clbanning/mxj/v2 v2.5.5 // indirect
8788
github.com/deckarep/golang-set v1.7.1 // indirect
8889
github.com/golang/mock v1.6.0 // indirect
89-
github.com/jinzhu/copier v0.3.5 // indirect
9090
github.com/jmespath/go-jmespath v0.4.0 // indirect
9191
github.com/natefinch/lumberjack v2.0.0+incompatible // indirect
9292
github.com/orcaman/concurrent-map v0.0.0-20210501183033-44dafcb38ecc // indirect
@@ -98,38 +98,67 @@ require (
9898
require (
9999
filippo.io/edwards25519 v1.1.0 // indirect
100100
github.com/BurntSushi/toml v1.3.2 // indirect
101+
github.com/RoaringBitmap/roaring v1.2.3 // indirect
102+
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 // indirect
103+
github.com/alibaba/sentinel-golang v1.0.4 // indirect
104+
github.com/apache/dubbo-getty v1.4.10 // indirect
105+
github.com/apolloconfig/agollo/v4 v4.4.0 // indirect
101106
github.com/beorn7/perks v1.0.1 // indirect
107+
github.com/bits-and-blooms/bitset v1.2.0 // indirect
102108
github.com/bufbuild/protocompile v0.10.0 // indirect
103109
github.com/bytedance/sonic v1.13.2 // indirect
104110
github.com/bytedance/sonic/loader v0.2.4 // indirect
111+
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
105112
github.com/cespare/xxhash/v2 v2.3.0 // indirect
106113
github.com/cloudwego/base64x v0.1.5 // indirect
107114
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f // indirect
115+
github.com/coreos/go-semver v0.3.0 // indirect
116+
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
117+
github.com/creasty/defaults v1.5.2 // indirect
108118
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
109-
github.com/dubbogo/gost v1.14.0 // indirect
119+
github.com/dlclark/regexp2 v1.7.0 // indirect
120+
github.com/dop251/goja v0.0.0-20240220182346-e401ed450204 // indirect
121+
github.com/dubbogo/gost v1.14.3 // indirect
122+
github.com/dubbogo/grpc-go v1.42.10 // indirect
123+
github.com/dubbogo/triple v1.2.2-rc4 // indirect
124+
github.com/dustin/go-humanize v1.0.1 // indirect
110125
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
111126
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
127+
github.com/fsnotify/fsnotify v1.7.0 // indirect
112128
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
113129
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
114130
github.com/gin-contrib/sse v1.1.0 // indirect
115131
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
132+
github.com/go-logr/stdr v1.2.2 // indirect
133+
github.com/go-ole/go-ole v1.2.6 // indirect
116134
github.com/go-openapi/jsonpointer v0.21.0 // indirect
117135
github.com/go-openapi/jsonreference v0.21.0 // indirect
118136
github.com/go-openapi/swag v0.23.0 // indirect
119137
github.com/go-playground/locales v0.14.1 // indirect
120138
github.com/go-playground/universal-translator v0.18.1 // indirect
121139
github.com/go-playground/validator/v10 v10.26.0 // indirect
140+
github.com/go-resty/resty/v2 v2.7.0 // indirect
141+
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
122142
github.com/go-sql-driver/mysql v1.8.1 // indirect
123143
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
124144
github.com/goccy/go-json v0.10.5 // indirect
125145
github.com/gogo/protobuf v1.3.2 // indirect
146+
github.com/golang/snappy v1.0.0 // indirect
126147
github.com/google/gnostic-models v0.7.0 // indirect
127148
github.com/google/go-cmp v0.7.0 // indirect
128149
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect
129150
github.com/gorilla/context v1.1.2 // indirect
130151
github.com/gorilla/securecookie v1.1.2 // indirect
131152
github.com/gorilla/sessions v1.4.0 // indirect
153+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
154+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
155+
github.com/hashicorp/errwrap v1.1.0 // indirect
156+
github.com/hashicorp/go-multierror v1.1.1 // indirect
157+
github.com/hashicorp/golang-lru v0.5.4 // indirect
158+
github.com/hashicorp/hcl v1.0.0 // indirect
159+
github.com/hashicorp/vault/sdk v0.7.0 // indirect
132160
github.com/inconshreveable/mousetrap v1.1.0 // indirect
161+
github.com/influxdata/tdigest v0.0.1 // indirect
133162
github.com/jackc/pgpassfile v1.0.0 // indirect
134163
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
135164
github.com/jackc/pgx/v5 v5.6.0 // indirect
@@ -138,42 +167,96 @@ require (
138167
github.com/jinzhu/now v1.1.5 // indirect
139168
github.com/josharian/intern v1.0.0 // indirect
140169
github.com/json-iterator/go v1.1.12 // indirect
170+
github.com/k0kubun/pp v3.0.1+incompatible // indirect
171+
github.com/klauspost/compress v1.18.0 // indirect
141172
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
173+
github.com/knadh/koanf v1.5.0 // indirect
142174
github.com/leodido/go-urn v1.4.0 // indirect
175+
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
176+
github.com/magiconair/properties v1.8.5 // indirect
143177
github.com/mailru/easyjson v0.7.7 // indirect
178+
github.com/mattn/go-colorable v0.1.13 // indirect
144179
github.com/mattn/go-isatty v0.0.20 // indirect
145180
github.com/mattn/go-sqlite3 v1.14.22 // indirect
181+
github.com/mitchellh/copystructure v1.2.0 // indirect
182+
github.com/mitchellh/go-homedir v1.1.0 // indirect
183+
github.com/mitchellh/mapstructure v1.5.0 // indirect
184+
github.com/mitchellh/reflectwalk v1.0.2 // indirect
146185
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
147186
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
187+
github.com/mschoch/smat v0.2.0 // indirect
148188
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
189+
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852 // indirect
190+
github.com/opentracing/opentracing-go v1.2.0 // indirect
191+
github.com/openzipkin/zipkin-go v0.4.2 // indirect
192+
github.com/pelletier/go-toml v1.9.3 // indirect
149193
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
194+
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
150195
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
151196
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
197+
github.com/polarismesh/polaris-go v1.3.0 // indirect
198+
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
152199
github.com/prometheus/client_golang v1.20.5 // indirect
153200
github.com/prometheus/client_model v0.6.1 // indirect
154201
github.com/prometheus/common v0.57.0 // indirect
155202
github.com/prometheus/procfs v0.15.1 // indirect
203+
github.com/quic-go/qpack v0.5.1 // indirect
204+
github.com/quic-go/quic-go v0.52.0 // indirect
205+
github.com/shirou/gopsutil/v3 v3.22.2 // indirect
206+
github.com/sirupsen/logrus v1.9.3 // indirect
207+
github.com/spaolacci/murmur3 v1.1.0 // indirect
208+
github.com/spf13/afero v1.10.0 // indirect
209+
github.com/spf13/cast v1.3.1 // indirect
210+
github.com/spf13/jwalterweatherman v1.1.0 // indirect
156211
github.com/spf13/pflag v1.0.6 // indirect
212+
github.com/spf13/viper v1.8.1 // indirect
157213
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
214+
github.com/subosito/gotenv v1.2.0 // indirect
215+
github.com/tklauser/go-sysconf v0.3.10 // indirect
216+
github.com/tklauser/numcpus v0.4.0 // indirect
158217
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
218+
github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect
219+
github.com/uber/jaeger-lib v2.4.1+incompatible // indirect
159220
github.com/ugorji/go/codec v1.2.12 // indirect
160221
github.com/x448/float16 v0.8.4 // indirect
222+
github.com/yusufpapurcu/wmi v1.2.2 // indirect
161223
github.com/zeebo/errs v1.4.0 // indirect
224+
go.etcd.io/etcd/api/v3 v3.5.7 // indirect
225+
go.etcd.io/etcd/client/pkg/v3 v3.5.7 // indirect
226+
go.etcd.io/etcd/client/v3 v3.5.7 // indirect
227+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
228+
go.opentelemetry.io/contrib/propagators/b3 v1.10.0 // indirect
229+
go.opentelemetry.io/otel v1.35.0 // indirect
230+
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
231+
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect
232+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect
233+
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.21.0 // indirect
234+
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.21.0 // indirect
235+
go.opentelemetry.io/otel/exporters/zipkin v1.21.0 // indirect
236+
go.opentelemetry.io/otel/metric v1.35.0 // indirect
237+
go.opentelemetry.io/otel/sdk v1.35.0 // indirect
238+
go.opentelemetry.io/otel/trace v1.35.0 // indirect
239+
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
240+
go.uber.org/atomic v1.10.0 // indirect
241+
go.uber.org/mock v0.5.0 // indirect
162242
go.yaml.in/yaml/v2 v2.4.2 // indirect
163243
go.yaml.in/yaml/v3 v3.0.4 // indirect
164244
golang.org/x/arch v0.16.0 // indirect
165245
golang.org/x/crypto v0.45.0 // indirect
166246
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect
247+
golang.org/x/mod v0.29.0 // indirect
167248
golang.org/x/net v0.47.0 // indirect
168249
golang.org/x/oauth2 v0.28.0 // indirect
169250
golang.org/x/sync v0.18.0 // indirect
170251
golang.org/x/sys v0.38.0 // indirect
171252
golang.org/x/term v0.37.0 // indirect
172253
golang.org/x/time v0.9.0 // indirect
173254
golang.org/x/tools v0.38.0 // indirect
255+
google.golang.org/genproto/googleapis/api v0.0.0-20250324211829-b45e905df463 // indirect
174256
google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect
175257
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
176258
gopkg.in/inf.v0 v0.9.1 // indirect
259+
gopkg.in/yaml.v2 v2.4.0 // indirect
177260
gopkg.in/yaml.v3 v3.0.1 // indirect
178261
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
179262
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect

0 commit comments

Comments
 (0)