From 95242410d5ed02ab088029d39772f52dc288537c Mon Sep 17 00:00:00 2001 From: engigu Date: Tue, 23 Dec 2025 23:14:51 +0800 Subject: [PATCH] feat: add deps page --- internal/controllers/dependency_controller.go | 2 ++ web/src/api/index.ts | 2 +- web/src/views/dependencies/Dependencies.vue | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/internal/controllers/dependency_controller.go b/internal/controllers/dependency_controller.go index d992798..88ad3d3 100644 --- a/internal/controllers/dependency_controller.go +++ b/internal/controllers/dependency_controller.go @@ -87,6 +87,7 @@ func (c *DependencyController) Install(ctx *gin.Context) { Name string `json:"name" binding:"required"` Version string `json:"version"` Type string `json:"type" binding:"required"` + Remark string `json:"remark"` } if err := ctx.ShouldBindJSON(&req); err != nil { @@ -98,6 +99,7 @@ func (c *DependencyController) Install(ctx *gin.Context) { Name: req.Name, Version: req.Version, Type: req.Type, + Remark: req.Remark, } if err := c.service.Install(dep); err != nil { diff --git a/web/src/api/index.ts b/web/src/api/index.ts index 2a56130..efa975b 100644 --- a/web/src/api/index.ts +++ b/web/src/api/index.ts @@ -200,7 +200,7 @@ export const api = { create: (data: { name: string; version?: string; type: string; remark?: string }) => request('/deps', { method: 'POST', body: JSON.stringify(data) }), delete: (id: number) => request(`/deps/${id}`, { method: 'DELETE' }), - install: (data: { name: string; version?: string; type: string }) => + install: (data: { name: string; version?: string; type: string; remark?: string }) => request('/deps/install', { method: 'POST', body: JSON.stringify(data) }), uninstall: (id: number) => request(`/deps/uninstall/${id}`, { method: 'POST' }), getInstalled: (type: string) => request(`/deps/installed?type=${type}`) diff --git a/web/src/views/dependencies/Dependencies.vue b/web/src/views/dependencies/Dependencies.vue index 2d9c668..2d92a05 100644 --- a/web/src/views/dependencies/Dependencies.vue +++ b/web/src/views/dependencies/Dependencies.vue @@ -20,6 +20,7 @@ const installing = ref(false) const showInstallDialog = ref(false) const newPkgName = ref('') const newPkgVersion = ref('') +const newPkgRemark = ref('') // 删除确认 const showDeleteDialog = ref(false) @@ -54,6 +55,7 @@ async function loadDeps() { function openInstallDialog() { newPkgName.value = '' newPkgVersion.value = '' + newPkgRemark.value = '' showInstallDialog.value = true } @@ -67,7 +69,8 @@ async function installPackage() { await api.deps.install({ name: newPkgName.value.trim(), version: newPkgVersion.value.trim() || undefined, - type: activeTab.value + type: activeTab.value, + remark: newPkgRemark.value.trim() || undefined }) toast.success('安装成功') showInstallDialog.value = false @@ -203,6 +206,10 @@ onMounted(loadDeps) +
+ + +