日志仓删除功能

This commit is contained in:
gotoeasy 2022-07-07 21:54:17 +08:00
parent 2f0efbf5ec
commit 99b13f0769
5 changed files with 46 additions and 10 deletions

View File

@ -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)
}
})

View File

@ -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)
}

View File

@ -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()
}

View File

@ -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 })
// },

View File

@ -25,11 +25,11 @@
<el-table-column prop="indexCount" label="已建索引数量" />
<el-table-column prop="fileCount" label="文件数量" />
<el-table-column prop="totalSize" label="空间占用" />
<!-- <el-table-column fixed="right" prop="operation" label="操作" width="100">
<el-table-column fixed="right" label="操作" width="100">
<template #default="scope">
<el-link @click="deleteRow(scope.row)" type="danger">删除</el-link>
<el-link @click="remove(scope.row)" type="danger">删除</el-link>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
@ -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; //
}