域名服务增加访问日志

This commit is contained in:
刘祥超
2021-06-02 11:53:08 +08:00
parent 201c3e2f97
commit b6fd9aeb14
25 changed files with 577 additions and 35 deletions

View File

@@ -0,0 +1,5 @@
.access-log-row em {
font-style: italic !important;
font-size: 1em !important;
}
/*# sourceMappingURL=index.css.map */

View File

@@ -0,0 +1 @@
{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,eACC;EACC,6BAAA;EACA,yBAAA","file":"index.css"}

View File

@@ -0,0 +1,65 @@
{$layout}
{$var "header"}
<!-- datepicker -->
<script type="text/javascript" src="/js/moment.min.js"></script>
<script type="text/javascript" src="/js/pikaday.js"></script>
<link rel="stylesheet" href="/js/pikaday.css"/>
<link rel="stylesheet" href="/js/pikaday.theme.css"/>
<link rel="stylesheet" href="/js/pikaday.triangle.css"/>
{$end}
<first-menu>
<div class="item right">
<form method="get" class="ui form small" :action="path" autocomplete="off">
<div class="ui fields inline">
<div class="ui field">
<input type="text" name="day" maxlength="10" placeholder="选择日期" style="width:7.8em" id="day-input" v-model="day"/>
</div>
<div class="ui field">
<button class="ui button small" type="submit">查找</button>
</div>
</div>
</form>
</div>
</first-menu>
<p class="comment" v-if="accessLogs.length == 0">暂时还没有访问日志。</p>
<table class="ui table selectable" v-if="accessLogs.length > 0">
<thead>
<tr>
<th class="two wide">集群</th>
<th class="two wide">节点</th>
<th class="two wide">域名</th>
<th>概要</th>
</tr>
</thead>
<!-- 这里之所以需要添加 :key是因为要不然不会刷新显示 -->
<tr v-for="accessLog in accessLogs" :key="accessLog.requestId">
<td>
<div v-if="accessLog.node.cluster != null">
<link-icon :href="'/ns/clusters/cluster?clusterId=' + accessLog.node.cluster.id">{{accessLog.node.cluster.name}}</link-icon>
</div>
</td>
<td>
<div v-if="accessLog.node != null">
<link-icon :href="'/ns/clusters/cluster/node?clusterId=' + accessLog.node.cluster.id + '&nodeId=' + accessLog.node.id">{{accessLog.node.name}}</link-icon>
</div>
</td>
<td>
<div v-if="accessLog.domain != null">
<link-icon :href="'/ns/domains/domain?domainId=' + accessLog.domain.id">{{accessLog.domain.name}}</link-icon>
</div>
</td>
<td><ns-access-log-box :v-access-log="accessLog"></ns-access-log-box></td>
</tr>
</table>
<div v-if="accessLogs.length > 0">
<a :href="path + '?requestId=' + lastRequestId + '&day=' + day" v-if="hasPrev">上一页</a>
<span v-else class="disabled">上一页</span>
<span class="disabled">&nbsp; | &nbsp;</span>
<a :href="path + '?requestId=' + nextRequestId + '&day=' + day" v-if="hasMore">下一页</a>
<span v-else class="disabled">下一页</span>
</div>

View File

@@ -0,0 +1,32 @@
Tea.context(function () {
let that = this
this.accessLogs.forEach(function (accessLog) {
// 区域
if (typeof (that.regions[accessLog.remoteAddr]) == "string") {
accessLog.region = that.regions[accessLog.remoteAddr]
} else {
accessLog.region = ""
}
// 节点
if (typeof (that.nodes[accessLog.nsNodeId]) != "undefined") {
accessLog["node"] = that.nodes[accessLog.nsNodeId]
} else {
accessLog["node"] = null
}
// 域名
if (typeof (that.domains[accessLog.nsDomainId]) != "undefined") {
accessLog["domain"] = that.domains[accessLog.nsDomainId]
} else {
accessLog["domain"] = null
}
})
this.$delay(function () {
let that = this
teaweb.datepicker("day-input", function (v) {
that.day = v
})
})
})

View File

@@ -0,0 +1,6 @@
.access-log-row {
em {
font-style: italic !important;
font-size: 1em !important;
}
}

View File

@@ -0,0 +1,11 @@
{$layout}
{$template "/left_menu"}
<div class="right-box">
<form class="ui form" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<input type="hidden" name="clusterId" :value="clusterId"/>
<ns-access-log-ref-box :v-access-log-ref="accessLogRef"></ns-access-log-ref-box>
<submit-btn></submit-btn>
</form>
</div>

View File

@@ -0,0 +1,3 @@
Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
})