Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
e20fd47
chore: 在App.vue中添加注释标记
sohandsomejie Jan 24, 2026
d4397cc
feat(graph): add service graph visualization and related data structures
ambiguous-pointer Feb 8, 2026
13f7855
feat(service): enhance SearchServiceAsCrossLinkedList to merge duplic…
ambiguous-pointer Feb 10, 2026
c9e76b5
fix(license): restore license header in graph.go
ambiguous-pointer Feb 10, 2026
605e63e
Merge branch 'develop' into develop
ambiguous-pointer Feb 10, 2026
82474b6
Apply suggestion from @Copilot
ambiguous-pointer Feb 12, 2026
82e2512
rm: remove useless files (#1416)
robocanic Mar 1, 2026
7b1550d
feat(ui): 新增应用与服务拓扑图功能并引入图标字体
sohandsomejie Mar 8, 2026
a570632
Merge branch 'develop' of https://github.com/sohandsomejie/dubbo-admi…
sohandsomejie Mar 8, 2026
14a9f70
Merge branch 'apache:develop' into develop
sohandsomejie Mar 8, 2026
7820521
chore: 移除 App.vue 中遗留的注释标记
sohandsomejie Mar 8, 2026
9adece0
feat(service): add service detail and interfaces endpoints with reque…
ambiguous-pointer Mar 8, 2026
705adf1
Merge branch 'develop' of https://github.com/ambiguous-pointer/dubbo-…
ambiguous-pointer Mar 8, 2026
c91ca09
Potential fix for pull request finding
sohandsomejie Mar 15, 2026
4906c48
feat:Update the list interface and detail interface
sohandsomejie Mar 15, 2026
6d6a353
Merge pull request #1 from ambiguous-pointer/develop
sohandsomejie Mar 15, 2026
3295434
feat:update baseURL
sohandsomejie Mar 15, 2026
2d44a99
refactor(api): Unify interface naming and adjust service topology par…
sohandsomejie Mar 15, 2026
4d17607
refactor(router): Temporarily comment out the application topology ro…
sohandsomejie Mar 15, 2026
ec894a1
refactor(api): Optimize service and application details interface par…
sohandsomejie Mar 15, 2026
6fb340d
feat(service topology): Support application details display and enhan…
sohandsomejie Mar 22, 2026
1efdb31
refactor(ui): Optimize the topology detail display logic and remove d…
sohandsomejie Mar 26, 2026
07d3027
feat(application graph): Add endpoint and model for application graph…
ambiguous-pointer Mar 29, 2026
8ee5b0d
feat: enhance service management with detailed service graph and deta…
mochengqian Mar 29, 2026
862778a
Merge remote-tracking branch 'origin-yj/topology-chengqian' into feat…
ambiguous-pointer Mar 29, 2026
d66cf0a
feat(service): refactor service detail and graph retrieval functions;…
ambiguous-pointer Mar 29, 2026
cdfef00
feat(graph): enhance application graph generation by initializing sel…
ambiguous-pointer Mar 30, 2026
4eee43b
refactor(service): remove providerAppName from service pages and use …
mochengqian Apr 1, 2026
89d38ca
fix(service): infer language when provider metadata omits it
mochengqian Apr 4, 2026
6d6f5ce
chore(test): remove language inference unit test
mochengqian Apr 4, 2026
5ed12b5
feat(router): Enable application domain topology view routing
sohandsomejie Apr 4, 2026
76c9443
Merge branch 'feat/topology' of https://github.com/sohandsomejie/dubb…
sohandsomejie Apr 4, 2026
4f0b9f6
refactor(topology): Remove the blacklist filtering logic for detailed…
sohandsomejie Apr 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ui-vue3/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@
},
"dependencies": {
"@antv/g2": "^5.1.12",
"@antv/g6": "^5.0.51",
"@iconify/json": "^2.2.157",
"@iconify/vue": "^4.1.1",
"@types/lodash": "^4.14.202",
"@types/lodash-es": "^4.17.12",
"@types/nprogress": "^0.2.3",
"ant-design-vue": "4.x",
"dayjs": "^1.11.13",
"g6-extension-vue": "^0.1.0",
"gsap": "^3.12.7",
"js-cookie": "^3.0.5",
"js-yaml": "^4.1.0",
Expand Down
1 change: 0 additions & 1 deletion ui-vue3/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<script setup lang="ts">
import { RouterView, useRouter } from 'vue-router'
import enUS from 'ant-design-vue/es/locale/en_US'
Expand Down
1 change: 1 addition & 0 deletions ui-vue3/src/Login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ function loginHandle() {
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
display: flex;
justify-content: center;
min-width: 350px;
width: 22vw;
//height: 30vh;

Expand Down
47 changes: 47 additions & 0 deletions ui-vue3/src/api/mock/mockApp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,53 @@
import Mock from 'mockjs'
import devTool from '@/utils/DevToolUtil'

Mock.mock(devTool.mockUrl('/interface/graph'), 'get', () => {
return {
code: 'Success',
message: 'success',
data: {
nodes: [
{
id: 'dubbo-springboot-demo-provider10.83.120.105:50051',
label: 'dubbo-springboot-demo-provider10.83.120.105:50051',
data: {
appName: 'dubbo-springboot-demo-provider',
ip: '10.83.120.105',
name: 'dubbo-springboot-demo-provider10.83.120.105:50051',
protocol: 'tri',
qosPort: 0,
rpcPort: 50051,
tags: {
'meta-v': '2.0.0'
}
}
},
{
id: 'dubbo-springboot-demo-consumer10.83.120.106:50052',
label: 'dubbo-springboot-demo-consumer10.83.120.106:50052',
data: {
appName: 'dubbo-springboot-demo-consumer',
ip: '10.83.120.106',
name: 'dubbo-springboot-demo-consumer10.83.120.106:50052',
protocol: 'tri',
qosPort: 0,
rpcPort: 50052,
tags: {
'meta-v': '2.0.0'
}
}
}
],
edges: [
{
source: 'dubbo-springboot-demo-consumer10.83.120.106:50052',
target: 'dubbo-springboot-demo-provider10.83.120.105:50051'
}
]
}
}
})

Mock.mock('/mock/application/metrics', 'get', () => {
return {
code: 200,
Expand Down
59 changes: 59 additions & 0 deletions ui-vue3/src/api/mock/mockService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,65 @@
import Mock from 'mockjs'
import devTool from '@/utils/DevToolUtil'

Mock.mock(devTool.mockUrl('/service/graph'), 'get', () => {
return {
code: 'Success',
message: 'success',
data: {
nodes: [
{
id: 'provider-01',
label: 'provider-01',
type: 'application',
rule: 'provider'
},
{
id: 'provider-02',
label: 'provider-02',
type: 'application',
rule: 'provider'
},
{
id: 'serviceName:version:group',
label: 'serviceName:version:group',
type: 'service',
rule: ''
},
{
id: 'consumer-01',
label: 'consumer-01',
type: 'application',
rule: 'consumer'
},
{
id: 'consumer-02',
label: 'consumer-02',
type: 'application',
rule: 'consumer'
}
],
edges: [
{
source: 'serviceName:version:group',
target: 'provider-01'
},
{
source: 'serviceName:version:group',
target: 'provider-02'
},
{
source: 'consumer-01',
target: 'serviceName:version:group'
},
{
source: 'consumer-02',
target: 'serviceName:version:group'
}
]
}
}
})

Mock.mock(devTool.mockUrl('/mock/service/search'), 'get', {
code: 200,
msg: 'success',
Expand Down
8 changes: 8 additions & 0 deletions ui-vue3/src/api/service/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -174,3 +174,11 @@ export const updateAppGrayIsolation = (appName: string, graySets: Array<any>): P
}
})
}

export const getInterfaceGraph = (serviceName: string): Promise<any> => {
return request({
url: '/interface/graph',
method: 'get',
params: { serviceName }
Comment on lines +180 to +184

Copilot AI Apr 7, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

getApplicationGraph is calling /application/graph with query param serviceName, but the backend request model binds appName (form:"appName"). This mismatch will result in empty/incorrect graphs. Align the param name (and function argument naming) to appName.

Suggested change
export const getApplicationGraph = (serviceName: string): Promise<any> => {
return request({
url: '/application/graph',
method: 'get',
params: { serviceName }
export const getApplicationGraph = (appName: string): Promise<any> => {
return request({
url: '/application/graph',
method: 'get',
params: { appName }

Copilot uses AI. Check for mistakes.
})
}
9 changes: 8 additions & 1 deletion ui-vue3/src/api/service/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export const searchService = (params: any): Promise<any> => {
}

export const getServiceDetail = (params: any): Promise<any> => {
return request({
return request({
url: '/service/detail',
method: 'get',
params
Expand Down Expand Up @@ -136,3 +136,10 @@ export const updateParamRouteAPI = (data: {
data
})
}

export const getServiceGraph = (): Promise<any> => {
return request({
url: '/service/graph',
method: 'get'
})
}
Loading
Loading