diff --git a/internal/web/actions/default/settings/database/clean.go b/internal/web/actions/default/settings/database/clean.go index 281fa16b..e582dad3 100644 --- a/internal/web/actions/default/settings/database/clean.go +++ b/internal/web/actions/default/settings/database/clean.go @@ -6,6 +6,7 @@ import ( "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" + "sort" ) type CleanAction struct { @@ -16,11 +17,20 @@ func (this *CleanAction) Init() { this.Nav("", "", "clean") } -func (this *CleanAction) RunGet(params struct{}) { +func (this *CleanAction) RunGet(params struct { + OrderTable string + OrderSize string +}) { + this.Data["orderTable"] = params.OrderTable + this.Data["orderSize"] = params.OrderSize + this.Show() } func (this *CleanAction) RunPost(params struct { + OrderTable string + OrderSize string + Must *actions.Must }) { tablesResp, err := this.RPC().DBRPC().FindAllDBTables(this.AdminContext(), &pb.FindAllDBTablesRequest{}) @@ -28,9 +38,33 @@ func (this *CleanAction) RunPost(params struct { this.ErrorPage(err) return } + var tables = tablesResp.DbTables - tableMaps := []maps.Map{} - for _, table := range tablesResp.DbTables { + // 排序 + switch params.OrderTable { + case "asc": + sort.Slice(tables, func(i, j int) bool { + return tables[i].Name < tables[j].Name + }) + case "desc": + sort.Slice(tables, func(i, j int) bool { + return tables[i].Name > tables[j].Name + }) + } + + switch params.OrderSize { + case "asc": + sort.Slice(tables, func(i, j int) bool { + return tables[i].DataLength+tables[i].IndexLength < tables[j].DataLength+tables[j].IndexLength + }) + case "desc": + sort.Slice(tables, func(i, j int) bool { + return tables[i].DataLength+tables[i].IndexLength > tables[j].DataLength+tables[j].IndexLength + }) + } + + var tableMaps = []maps.Map{} + for _, table := range tables { if !table.IsBaseTable || (!table.CanClean && !table.CanDelete) { continue } diff --git a/web/views/@default/settings/database/@menu.html b/web/views/@default/settings/database/@menu.html index 8057ba83..c2fb829f 100644 --- a/web/views/@default/settings/database/@menu.html +++ b/web/views/@default/settings/database/@menu.html @@ -1,9 +1,10 @@ - 详情 - 修改 + 配置模板 + 修改模板 + | 手动清理 自动清理设置 - | + |
\ No newline at end of file diff --git a/web/views/@default/settings/database/clean.html b/web/views/@default/settings/database/clean.html index 2589c158..c03f863c 100644 --- a/web/views/@default/settings/database/clean.html +++ b/web/views/@default/settings/database/clean.html @@ -3,11 +3,15 @@
正在加载中...
- +
+

请确认数据表用途后再执行相关操作。

+
+ +
- - + + diff --git a/web/views/@default/settings/database/clean.js b/web/views/@default/settings/database/clean.js index 7de0838e..df7282d8 100644 --- a/web/views/@default/settings/database/clean.js +++ b/web/views/@default/settings/database/clean.js @@ -9,6 +9,10 @@ Tea.context(function () { this.reload = function () { this.isLoading = true this.$post("$") + .params({ + orderTable: this.orderTable, + orderSize: this.orderSize + }) .success(function (resp) { this.tables = resp.data.tables; }) diff --git a/web/views/@default/settings/database/update.html b/web/views/@default/settings/database/update.html index 68bd7c73..818c22e0 100644 --- a/web/views/@default/settings/database/update.html +++ b/web/views/@default/settings/database/update.html @@ -1,6 +1,10 @@ {$layout} {$template "menu"} +
+

这里只能修改配置模板文件里的配置信息,并不能直接修改数据库的用户名、密码等信息。

+
+
表名占用空间数据表名占用空间 用途 操作
@@ -37,8 +41,4 @@
- - -
-

修改数据库配置后需要重新配置API节点。

-
+ \ No newline at end of file