mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	实现实时展示访问日志
This commit is contained in:
		@@ -2,5 +2,12 @@
 | 
			
		||||
 | 
			
		||||
{$template "/left_menu"}
 | 
			
		||||
<div class="right-box">
 | 
			
		||||
	<div class="ui message">此功能暂未开放,敬请期待。</div>
 | 
			
		||||
	<p class="comment" v-if="isLoaded && accessLogs.length == 0">今天暂时还没有访问日志。</p>
 | 
			
		||||
 | 
			
		||||
	<table class="ui table selectable" v-if="accessLogs.length > 0">
 | 
			
		||||
		<!-- 这里之所以需要添加 :key,是因为要不然不会刷新显示 -->
 | 
			
		||||
		<tr v-for="accessLog in accessLogs" :key="accessLog.requestId">
 | 
			
		||||
			<td><http-access-log-box :v-access-log="accessLog"></http-access-log-box></td>
 | 
			
		||||
		</tr>
 | 
			
		||||
	</table>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										38
									
								
								web/views/@default/servers/server/log/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								web/views/@default/servers/server/log/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
Tea.context(function () {
 | 
			
		||||
	this.$delay(function () {
 | 
			
		||||
		this.load()
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	this.hasMore = false
 | 
			
		||||
	this.accessLogs = []
 | 
			
		||||
	this.isLoaded = false
 | 
			
		||||
 | 
			
		||||
	this.load = function () {
 | 
			
		||||
		this.$post("$")
 | 
			
		||||
			.params({
 | 
			
		||||
				serverId: this.serverId,
 | 
			
		||||
				requestId: this.requestId
 | 
			
		||||
			})
 | 
			
		||||
			.success(function (resp) {
 | 
			
		||||
				this.accessLogs = resp.data.accessLogs.concat(this.accessLogs)
 | 
			
		||||
				let max = 100
 | 
			
		||||
				if (this.accessLogs.length > max) {
 | 
			
		||||
					this.accessLogs = this.accessLogs.slice(0, max)
 | 
			
		||||
				}
 | 
			
		||||
				this.hasMore = resp.data.hasMore
 | 
			
		||||
				this.requestId = resp.data.requestId
 | 
			
		||||
			})
 | 
			
		||||
			.done(function () {
 | 
			
		||||
				if (!this.isLoaded) {
 | 
			
		||||
					this.$delay(function () {
 | 
			
		||||
						this.isLoaded = true
 | 
			
		||||
					})
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				// 自动刷新
 | 
			
		||||
				this.$delay(function () {
 | 
			
		||||
					this.load()
 | 
			
		||||
				}, 5000)
 | 
			
		||||
			})
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
		Reference in New Issue
	
	Block a user