diff --git a/glc/gweb/http_server.go b/glc/gweb/http_server.go
index 83a9622..dfd55d2 100644
--- a/glc/gweb/http_server.go
+++ b/glc/gweb/http_server.go
@@ -34,7 +34,7 @@ func Run() {
for _, fnFilter := range filters {
rs := fnFilter(req)
if rs != nil {
- c.JSON(rs.Code, rs) // 过滤器返回有内容时直接返回处理结果,结束
+ c.JSON(200, rs) // 过滤器返回有内容时直接返回处理结果,结束
return
}
}
@@ -63,7 +63,7 @@ func Run() {
rs := handle.Controller(req)
if rs != nil {
- c.JSON(rs.Code, rs)
+ c.JSON(200, rs)
}
})
diff --git a/glc/ldb/sysmnt/storage_data.go b/glc/ldb/sysmnt/storage_data.go
index bf801bc..0679aa0 100644
--- a/glc/ldb/sysmnt/storage_data.go
+++ b/glc/ldb/sysmnt/storage_data.go
@@ -59,5 +59,12 @@ func GetStorageList() *StorageResult {
// 删除指定日志仓目录
func DeleteStorage(name string) error {
- return os.RemoveAll(conf.GetStorageRoot() + cmn.PathSeparator() + name)
+ // 先尝试目录改名,改成功后再删除
+ oldPath := conf.GetStorageRoot() + cmn.PathSeparator() + name
+ newPath := conf.GetStorageRoot() + cmn.PathSeparator() + "_x_" + name
+ err := os.Rename(oldPath, newPath)
+ if err != nil {
+ return err
+ }
+ return os.RemoveAll(newPath)
}
diff --git a/glc/www/controller/storage_mnt_controller.go b/glc/www/controller/storage_mnt_controller.go
index e577728..121c532 100644
--- a/glc/www/controller/storage_mnt_controller.go
+++ b/glc/www/controller/storage_mnt_controller.go
@@ -14,11 +14,12 @@ func StorageListController(req *gweb.HttpRequest) *gweb.HttpResult {
// 删除指定日志仓
func StorageDeleteController(req *gweb.HttpRequest) *gweb.HttpResult {
- name := req.GetFormParameter("name")
+ name := req.GetFormParameter("storeName")
err := sysmnt.DeleteStorage(name)
if err != nil {
- log.Println("日志仓", name, "删除失败", err)
- return gweb.Error500("删除失败")
+ msg := err.Error()
+ log.Println("日志仓", name, "删除失败", msg)
+ return gweb.Error500("日志仓 " + name + " 正在使用中,无法删除")
}
return gweb.Ok()
}
diff --git a/glc/www/web/src/api.js b/glc/www/web/src/api.js
index 959979c..cb58dc9 100644
--- a/glc/www/web/src/api.js
+++ b/glc/www/web/src/api.js
@@ -36,6 +36,11 @@ export default {
}
return post(`${BASE_URL}/glc/v1/store/list`, formData)
},
+ deleteStorage(name) {
+ let formData = new FormData();
+ formData.append("storeName", name);
+ return post(`${BASE_URL}/glc/v1/store/delete`, formData)
+ },
// remove(db, id) {
// return request(`/remove?database=${db}`, 'post', { id })
// },
diff --git a/glc/www/web/src/views/storages.vue b/glc/www/web/src/views/storages.vue
index 1f91cbf..f3768f8 100644
--- a/glc/www/web/src/views/storages.vue
+++ b/glc/www/web/src/views/storages.vue
@@ -25,11 +25,11 @@
-
+
@@ -79,13 +79,36 @@ export default {
},
methods: {
+ remove(row) {
+
+ this.$confirm('确定删除吗?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(() => {
+ this.loading = true
+ api.deleteStorage(row.name).then(rs => {
+ let res = rs.data
+ if (res.success) {
+ this.$message({type: 'info', message: "已删除 " + row.name});
+ this.search();
+ }else{
+ this.$message({type: 'error', message: res.message});
+ }
+ }).finally(() => {
+ this.loading = false
+ })
+ }).catch(() => {
+ // ignore
+ })
+
+ },
search() {
this.loading = true
api.searchStorages(this.params).then(rs => {
let res = rs.data
if (res.success) {
- console.error(res)
this.data = res.result.data || [];
// document.querySelector('.el-scrollbar__wrap').scrollTop = 0; // 滚动到顶部
}