多处访问日志增加单页显示条数选择

This commit is contained in:
刘祥超
2021-12-08 19:13:34 +08:00
parent 32ba919851
commit 8c95b4a9b9
8 changed files with 75 additions and 19 deletions

View File

@@ -29,6 +29,8 @@ func (this *IndexAction) RunGet(params struct {
RequestId string RequestId string
ServerId int64 ServerId int64
PageSize int64
}) { }) {
if len(params.Day) == 0 { if len(params.Day) == 0 {
params.Day = timeutil.Format("Y-m-d") params.Day = timeutil.Format("Y-m-d")
@@ -43,13 +45,17 @@ func (this *IndexAction) RunGet(params struct {
this.Data["accessLogs"] = []interface{}{} this.Data["accessLogs"] = []interface{}{}
this.Data["hasError"] = params.HasError this.Data["hasError"] = params.HasError
this.Data["hasWAF"] = params.HasWAF this.Data["hasWAF"] = params.HasWAF
this.Data["pageSize"] = params.PageSize
day := params.Day day := params.Day
ipList := []string{} ipList := []string{}
if len(day) > 0 && regexp.MustCompile(`\d{4}-\d{2}-\d{2}`).MatchString(day) { if len(day) > 0 && regexp.MustCompile(`\d{4}-\d{2}-\d{2}`).MatchString(day) {
day = strings.ReplaceAll(day, "-", "") day = strings.ReplaceAll(day, "-", "")
size := int64(20) size := params.PageSize
if size < 1 {
size = 20
}
this.Data["hasError"] = params.HasError this.Data["hasError"] = params.HasError

View File

@@ -28,6 +28,8 @@ func (this *HistoryAction) RunGet(params struct {
RequestId string RequestId string
HasError int HasError int
PageSize int
}) { }) {
if len(params.Day) == 0 { if len(params.Day) == 0 {
params.Day = timeutil.Format("Y-m-d") params.Day = timeutil.Format("Y-m-d")
@@ -41,13 +43,17 @@ func (this *HistoryAction) RunGet(params struct {
this.Data["accessLogs"] = []interface{}{} this.Data["accessLogs"] = []interface{}{}
this.Data["hasError"] = params.HasError this.Data["hasError"] = params.HasError
this.Data["hasWAF"] = params.HasWAF this.Data["hasWAF"] = params.HasWAF
this.Data["pageSize"] = params.PageSize
day := params.Day day := params.Day
ipList := []string{} ipList := []string{}
if len(day) > 0 && regexp.MustCompile(`\d{4}-\d{2}-\d{2}`).MatchString(day) { if len(day) > 0 && regexp.MustCompile(`\d{4}-\d{2}-\d{2}`).MatchString(day) {
day = strings.ReplaceAll(day, "-", "") day = strings.ReplaceAll(day, "-", "")
size := int64(20) size := int64(params.PageSize)
if size < 1 {
size = 20
}
this.Data["hasError"] = params.HasError this.Data["hasError"] = params.HasError

View File

@@ -24,8 +24,15 @@ func (this *TodayAction) RunGet(params struct {
Keyword string Keyword string
Ip string Ip string
Domain string Domain string
PageSize int
}) { }) {
size := int64(20) this.Data["pageSize"] = params.PageSize
size := int64(params.PageSize)
if size < 1 {
size = 20
}
this.Data["path"] = this.Request.URL.Path this.Data["path"] = this.Request.URL.Path
this.Data["hasError"] = params.HasError this.Data["hasError"] = params.HasError

View File

@@ -0,0 +1,33 @@
Vue.component("page-size-selector", {
data: function () {
let query = window.location.search
let pageSize = 10
if (query.length > 0) {
query = query.substr(1)
let params = query.split("&")
params.forEach(function (v) {
let pieces = v.split("=")
if (pieces.length == 2 && pieces[0] == "pageSize") {
let pageSizeString = pieces[1]
if (pageSizeString.match(/^\d+$/)) {
pageSize = parseInt(pageSizeString, 10)
if (isNaN(pageSize) || pageSize < 1) {
pageSize = 10
}
}
}
})
}
return {
pageSize: pageSize
}
},
watch: {
pageSize: function () {
window.ChangePageSize(this.pageSize)
}
},
template: `<select class="ui dropdown" style="height:34px;padding-top:0;padding-bottom:0;margin-left:1em;color:#666" v-model="pageSize">
\t<option value="10">[每页]</option><option value="10" selected="selected">10条</option><option value="20">20条</option><option value="30">30条</option><option value="40">40条</option><option value="50">50条</option><option value="60">60条</option><option value="70">70条</option><option value="80">80条</option><option value="90">90条</option><option value="100">100条</option>
</select>`
})

View File

@@ -54,7 +54,7 @@ Vue.component("http-expires-time-config-box", {
<tr v-show="expiresTime.isPrior && expiresTime.isOn"> <tr v-show="expiresTime.isPrior && expiresTime.isOn">
<td>自动计算时间</td> <td>自动计算时间</td>
<td><checkbox v-model="expiresTime.autoCalculate"></checkbox> <td><checkbox v-model="expiresTime.autoCalculate"></checkbox>
<p class="comment">根据当前页面中设置的缓存有效期进行计算。</p> <p class="comment">根据设置的缓存有效期进行计算。</p>
</td> </td>
</tr> </tr>
<tr v-show="expiresTime.isPrior && expiresTime.isOn && !expiresTime.autoCalculate"> <tr v-show="expiresTime.isPrior && expiresTime.isOn && !expiresTime.autoCalculate">

View File

@@ -2,9 +2,9 @@
{$template "/datepicker"} {$template "/datepicker"}
<first-menu> <first-menu>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError > 0">错误日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError > 0">错误日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasWAF > 0">WAF日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasWAF > 0">WAF日志</menu-item>
</first-menu> </first-menu>
<form method="get" class="ui form small" :action="path"> <form method="get" class="ui form small" :action="path">
@@ -28,9 +28,11 @@
</table> </table>
<div v-if="accessLogs.length > 0"> <div v-if="accessLogs.length > 0">
<a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasPrev">上一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasPrev">上一页</a>
<span v-else class="disabled">上一页</span> <span v-else class="disabled">上一页</span>
<span class="disabled">&nbsp; | &nbsp;</span> <span class="disabled">&nbsp; | &nbsp;</span>
<a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasMore">下一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasMore">下一页</a>
<span v-else class="disabled">下一页</span> <span v-else class="disabled">下一页</span>
<page-size-selector></page-size-selector>
</div> </div>

View File

@@ -5,9 +5,9 @@
<div class="right-box"> <div class="right-box">
<first-menu> <first-menu>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError > 0">错误日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError > 0">错误日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasWAF > 0">WAF日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&day=' + day + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasWAF > 0">WAF日志</menu-item>
</first-menu> </first-menu>
<form method="get" class="ui form small" :action="path"> <form method="get" class="ui form small" :action="path">
@@ -31,10 +31,11 @@
</table> </table>
<div v-if="accessLogs.length > 0"> <div v-if="accessLogs.length > 0">
<a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasPrev">上一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasPrev">上一页</a>
<span v-else class="disabled">上一页</span> <span v-else class="disabled">上一页</span>
<span class="disabled">&nbsp; | &nbsp;</span> <span class="disabled">&nbsp; | &nbsp;</span>
<a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasMore">下一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&day=' + day + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasMore">下一页</a>
<span v-else class="disabled">下一页</span> <span v-else class="disabled">下一页</span>
<page-size-selector></page-size-selector>
</div> </div>
</div> </div>

View File

@@ -3,9 +3,9 @@
{$template "/left_menu"} {$template "/left_menu"}
<div class="right-box"> <div class="right-box">
<first-menu> <first-menu>
<menu-item :href="path + '?serverId=' + serverId + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError == 0 && hasWAF == 0">所有日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasError > 0">错误日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&hasError=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasError > 0">错误日志</menu-item>
<menu-item :href="path + '?serverId=' + serverId + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" :active="hasWAF > 0">WAF日志</menu-item> <menu-item :href="path + '?serverId=' + serverId + '&hasWAF=1' + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" :active="hasWAF > 0">WAF日志</menu-item>
</first-menu> </first-menu>
<form method="get" class="ui form small" :action="path"> <form method="get" class="ui form small" :action="path">
@@ -25,10 +25,11 @@
</table> </table>
<div v-if="accessLogs.length > 0"> <div v-if="accessLogs.length > 0">
<a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasPrev">上一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + lastRequestId + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasPrev">上一页</a>
<span v-else class="disabled">上一页</span> <span v-else class="disabled">上一页</span>
<span class="disabled">&nbsp; | &nbsp;</span> <span class="disabled">&nbsp; | &nbsp;</span>
<a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain" v-if="hasMore">下一页</a> <a :href="path + '?serverId=' + serverId + '&requestId=' + nextRequestId + '&hasError=' + hasError + '&hasWAF=' + hasWAF + '&keyword=' + keyword + '&ip=' + ip + '&domain=' + domain + '&pageSize=' + pageSize" v-if="hasMore">下一页</a>
<span v-else class="disabled">下一页</span> <span v-else class="disabled">下一页</span>
<page-size-selector></page-size-selector>
</div> </div>
</div> </div>