mirror of
https://github.com/nezhahq/nezha.git
synced 2025-02-02 09:38:13 -05:00
Update all theme texts
This commit is contained in:
parent
cb107ab1e0
commit
363b8909a1
42
resource/l10n/zh-CN.toml
vendored
42
resource/l10n/zh-CN.toml
vendored
@ -417,3 +417,45 @@ other = "当前用量"
|
|||||||
|
|
||||||
[VerifyPassword]
|
[VerifyPassword]
|
||||||
other = "验证查看密码"
|
other = "验证查看密码"
|
||||||
|
|
||||||
|
[LightMode]
|
||||||
|
other = "白昼模式"
|
||||||
|
|
||||||
|
[DarkMode]
|
||||||
|
other = "暗黑模式"
|
||||||
|
|
||||||
|
[GridLayout]
|
||||||
|
other = "网格视图"
|
||||||
|
|
||||||
|
[ListLayout]
|
||||||
|
other = "列表视图"
|
||||||
|
|
||||||
|
[EnterPassword]
|
||||||
|
other = "输入密码"
|
||||||
|
|
||||||
|
[StatusTips]
|
||||||
|
other = """
|
||||||
|
状态更新和事件报告可能会延迟最多30秒
|
||||||
|
这取决于技术原因。请向下滚动查看过去的活动报告
|
||||||
|
"""
|
||||||
|
|
||||||
|
[Location]
|
||||||
|
other = "地区"
|
||||||
|
|
||||||
|
[Running]
|
||||||
|
other = "运行中"
|
||||||
|
|
||||||
|
[UpNetTransfer]
|
||||||
|
other = "上行"
|
||||||
|
|
||||||
|
[DownNetTransfer]
|
||||||
|
other = "下行"
|
||||||
|
|
||||||
|
[TotalUpNetTransfer]
|
||||||
|
other = "总上行"
|
||||||
|
|
||||||
|
[TotalDownNetTransfer]
|
||||||
|
other = "总下行"
|
||||||
|
|
||||||
|
[WrongPassword]
|
||||||
|
other = "密码错误"
|
||||||
|
28
resource/template/theme-daynight/home.html
vendored
28
resource/template/theme-daynight/home.html
vendored
@ -37,12 +37,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<nav class="nav-menu">
|
<nav class="nav-menu">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">首页</a></li>
|
<li><a href="/">{{tr "Home"}}</a></li>
|
||||||
<li><a href="/service">服务状态</a></li>
|
<li><a href="/service">{{tr "Services"}}</a></li>
|
||||||
{{if .Admin}}
|
{{if .Admin}}
|
||||||
<li><a href="/server">管理后台</a></li>
|
<li><a href="/server">{{tr "AdminPanel"}}</a></li>
|
||||||
{{else}}
|
{{else}}
|
||||||
<li><a href="/login">登录</a></li>
|
<li><a href="/login">{{tr Login}}</a></li>
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
@ -111,7 +111,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<div class="disk-bar">
|
<div class="disk-bar">
|
||||||
<div>
|
<div>
|
||||||
<h4>硬盘</h4>
|
<h4>{{tr "DiskUsed"}}</h4>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="server.State"
|
<div v-if="server.State"
|
||||||
:class="formatPercent(server.live,server.State.DiskUsed, server.Host.DiskTotal).class"
|
:class="formatPercent(server.live,server.State.DiskUsed, server.Host.DiskTotal).class"
|
||||||
@ -133,10 +133,10 @@
|
|||||||
|
|
||||||
<div class="sidebar-container">
|
<div class="sidebar-container">
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
|
<li><i class="fas fa-sun" title="白昼模式"></i><span>{{tr "LightMode"}}</span></li>
|
||||||
<li><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
|
<li><i class="fas fa-moon" title="暗黑模式"></i><span>{{tr "DarkMode"}}</span></li>
|
||||||
<li><i class="fas fa-th" title="网格视图"></i><span>网格视图</span></li>
|
<li><i class="fas fa-th" title="网格视图"></i><span>{{tr "GridLayout"}}</span></li>
|
||||||
<li><i class="fas fa-list-ul" title="列表视图"></i><span>列表视图</span></li>
|
<li><i class="fas fa-list-ul" title="列表视图"></i><span>{{tr "ListLayout"}}</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
@ -239,7 +239,7 @@
|
|||||||
secondToDate(s) {
|
secondToDate(s) {
|
||||||
var d = Math.floor(s / 3600 / 24);
|
var d = Math.floor(s / 3600 / 24);
|
||||||
if (d > 0) {
|
if (d > 0) {
|
||||||
return d + "天"
|
return d + "{{tr "Day"}}"
|
||||||
}
|
}
|
||||||
var h = Math.floor(s / 3600 % 24);
|
var h = Math.floor(s / 3600 % 24);
|
||||||
var m = Math.floor(s / 60 % 60);
|
var m = Math.floor(s / 60 % 60);
|
||||||
@ -261,8 +261,8 @@
|
|||||||
Swal.fire({
|
Swal.fire({
|
||||||
position: 'top',
|
position: 'top',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
title: '实时通道建立',
|
title: '{{tr "RealtimeChannelEstablished"}}',
|
||||||
text: '可以实时获取最新监控数据啦',
|
text: '{{tr "GetTheLatestMonitoringDataInRealTime"}}',
|
||||||
showConfirmButton: false,
|
showConfirmButton: false,
|
||||||
timer: 2000
|
timer: 2000
|
||||||
});
|
});
|
||||||
@ -288,8 +288,8 @@
|
|||||||
Swal.fire({
|
Swal.fire({
|
||||||
position: 'top',
|
position: 'top',
|
||||||
icon: 'error',
|
icon: 'error',
|
||||||
title: '实时通道断开',
|
title: '{{tr "RealtimeChannelDisconnect"}}',
|
||||||
text: '无法实时获取最新监控数据咯',
|
text: '{{tr "CanNotGetTheLatestMonitoringDataInRealTime"}}',
|
||||||
showConfirmButton: false,
|
showConfirmButton: false,
|
||||||
timer: 2000
|
timer: 2000
|
||||||
});
|
});
|
||||||
|
20
resource/template/theme-daynight/service.html
vendored
20
resource/template/theme-daynight/service.html
vendored
@ -41,12 +41,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<nav class="nav-menu">
|
<nav class="nav-menu">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="/">首页</a></li>
|
<li><a href="/">{{tr "Home"}}</a></li>
|
||||||
<li><a href="/service">服务状态</a></li>
|
<li><a href="/service">{{tr "Services"}}</a></li>
|
||||||
{{if .Admin}}
|
{{if .Admin}}
|
||||||
<li><a href="/server">管理后台</a></li>
|
<li><a href="/server">{{tr "AdminPanel"}}</a></li>
|
||||||
{{else}}
|
{{else}}
|
||||||
<li><a href="/login">登录</a></li>
|
<li><a href="/login">{{tr "Login"}}</a></li>
|
||||||
{{end}}
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
@ -55,8 +55,8 @@
|
|||||||
|
|
||||||
<main>
|
<main>
|
||||||
<section class="monitor-header">
|
<section class="monitor-header">
|
||||||
<h2>服务状态</h2>
|
<h2>{{tr "Status"}}</h2>
|
||||||
<h4>最近30天在线率</h4>
|
<h4>{{tr "30DaysOnline"}}</h4>
|
||||||
</section>
|
</section>
|
||||||
<section class="monitor-container">
|
<section class="monitor-container">
|
||||||
{{range $service := .Services}}
|
{{range $service := .Services}}
|
||||||
@ -86,10 +86,10 @@
|
|||||||
|
|
||||||
<div class="sidebar-container">
|
<div class="sidebar-container">
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
|
<li><i class="fas fa-sun" title="白昼模式"></i><span>{{tr "LightMode"}}</span></li>
|
||||||
<li><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
|
<li><i class="fas fa-moon" title="暗黑模式"></i><span>{{tr "DarkMode"}}</span></li>
|
||||||
<li><i class="fas fa-th" title="网格视图"></i><span>网格视图</span></li>
|
<li><i class="fas fa-th" title="网格视图"></i><span>{{tr "GridLayout"}}</span></li>
|
||||||
<li><i class="fas fa-list-ul" title="列表视图"></i><span>列表视图</span></li>
|
<li><i class="fas fa-list-ul" title="列表视图"></i><span>{{tr "ListLayout"}}</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -17,13 +17,13 @@
|
|||||||
<body>
|
<body>
|
||||||
<article>
|
<article>
|
||||||
<section class="passwd-container">
|
<section class="passwd-container">
|
||||||
<h2>登 录</h2>
|
<h2>{{tr "Login"}}</h2>
|
||||||
<form action="/view-password" method="POST">
|
<form action="/view-password" method="POST">
|
||||||
<h4>验证查看密码</h4>
|
<h4>{{tr "VerifyPassword"}}</h4>
|
||||||
<input type="password" name="Password" placeholder="输入密码 " required /><svg class="passwd-icon" viewBox="97 6 809 988" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
<input type="password" name="Password" placeholder="{{tr "EnterPassword"}}" required /><svg class="passwd-icon" viewBox="97 6 809 988" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<g><path d="M321.8,455.5h356.4V321.8c0-49.2-17.4-91.2-52.2-126c-34.8-34.8-76.8-52.2-126-52.2c-49.2,0-91.2,17.4-126,52.2c-34.8,34.8-52.2,76.8-52.2,126L321.8,455.5L321.8,455.5z M900.9,522.3v400.9c0,18.6-6.5,34.3-19.5,47.3c-13,13-28.8,19.5-47.3,19.5H165.9c-18.6,0-34.3-6.5-47.3-19.5c-13-13-19.5-28.8-19.5-47.3V522.3c0-18.6,6.5-34.3,19.5-47.3c13-13,28.8-19.5,47.3-19.5h22.3V321.8c0-85.4,30.6-158.7,91.9-219.9C341.3,40.7,414.7,10,500,10c85.3,0,158.7,30.6,219.9,91.9c61.3,61.3,91.9,134.6,91.9,219.9v133.6h22.3c18.6,0,34.3,6.5,47.3,19.5C894.4,488,900.9,503.7,900.9,522.3L900.9,522.3z" /></g>
|
<g><path d="M321.8,455.5h356.4V321.8c0-49.2-17.4-91.2-52.2-126c-34.8-34.8-76.8-52.2-126-52.2c-49.2,0-91.2,17.4-126,52.2c-34.8,34.8-52.2,76.8-52.2,126L321.8,455.5L321.8,455.5z M900.9,522.3v400.9c0,18.6-6.5,34.3-19.5,47.3c-13,13-28.8,19.5-47.3,19.5H165.9c-18.6,0-34.3-6.5-47.3-19.5c-13-13-19.5-28.8-19.5-47.3V522.3c0-18.6,6.5-34.3,19.5-47.3c13-13,28.8-19.5,47.3-19.5h22.3V321.8c0-85.4,30.6-158.7,91.9-219.9C341.3,40.7,414.7,10,500,10c85.3,0,158.7,30.6,219.9,91.9c61.3,61.3,91.9,134.6,91.9,219.9v133.6h22.3c18.6,0,34.3,6.5,47.3,19.5C894.4,488,900.9,503.7,900.9,522.3L900.9,522.3z" /></g>
|
||||||
</svg>
|
</svg>
|
||||||
<button type="submit">确认</button>
|
<button type="submit">{{tr "Confirm"}}</button>
|
||||||
</form>
|
</form>
|
||||||
<figure class="logo">
|
<figure class="logo">
|
||||||
<a href="/">
|
<a href="/">
|
||||||
|
40
resource/template/theme-hotaru/home.html
vendored
40
resource/template/theme-hotaru/home.html
vendored
@ -33,7 +33,7 @@
|
|||||||
</h1>
|
</h1>
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
<small>狀態更新和事件報告可能會延遲最多30秒鐘<br />具體取決於手頭的技術問題。請向下滾動查看過去的事件報告</small>
|
<small>{{tr "StatusTips"}}</small>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -44,16 +44,16 @@
|
|||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>运行状态</th>
|
<th>{{tr "Status"}}</th>
|
||||||
<th>节点名</th>
|
<th>{{tr "Name"}}</th>
|
||||||
<th>系统</th>
|
<th>{{tr "Platform"}}</th>
|
||||||
<th>位置</th>
|
<th>{{tr "Location"}}</th>
|
||||||
<th>在线</th>
|
<th>{{tr "Uptime"}}</th>
|
||||||
<th>网络(B/s) ↓|↑</th>
|
<th>{{tr "NetSpeed"}}(B/s) ↓|↑</th>
|
||||||
<th>流量(B) ↓|↑</th>
|
<th>{{tr "NetTransfer"}}(B) ↓|↑</th>
|
||||||
<th>CPU</th>
|
<th>CPU</th>
|
||||||
<th>RAM</th>
|
<th>RAM</th>
|
||||||
<th>硬盘</th>
|
<th>{{tr "DiskUsed"}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="servers" style="text-align:center;">
|
<tbody id="servers" style="text-align:center;">
|
||||||
@ -61,7 +61,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div :class="'state-'+ (server.live?'online':'offline')">
|
<div :class="'state-'+ (server.live?'online':'offline')">
|
||||||
<small>@#server.live?'运行中':'已离线'#@</small>
|
<small>@#server.live?'{{tr "Running"}}':'{{tr "Offline"}}'#@</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@ -123,7 +123,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="location-info list-styled">
|
<ul class="location-info list-styled">
|
||||||
<li><span class="list-label">网络:</span>
|
<li><span class="list-label">{{tr "NetSpeed"}}:</span>
|
||||||
@#server.State?formatByteSize(server.State.NetInSpeed)+'/s|'+formatByteSize(server.State.NetOutSpeed)+'/s':'-'#@
|
@#server.State?formatByteSize(server.State.NetInSpeed)+'/s|'+formatByteSize(server.State.NetOutSpeed)+'/s':'-'#@
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -135,15 +135,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="sidebar-container">
|
<div class="sidebar-container">
|
||||||
<ul>
|
<ul>
|
||||||
<li id='sun'><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
|
<li id='sun'><i class="fas fa-sun" title="白昼模式"></i><span>{{tr "LightMode"}}</span></li>
|
||||||
<li id='moon'><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
|
<li id='moon'><i class="fas fa-moon" title="暗黑模式"></i><span>{{tr "DarkMode"}}</span></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<p style="text-align:center;padding: 15px;">Powered by <a href="https://github.com/naiba/nezha">{{tr "nezhaMonitor"}}</a> build ·
|
<p style="text-align:center;padding: 15px;">Powered by <a href="https://github.com/naiba/nezha">{{tr "nezhaMonitor"}}</a> build ·
|
||||||
{{.Version}}
|
{{.Version}}
|
||||||
<a href="/service">服务状态</a>
|
<a href="/service">{{tr "Services"}}</a>
|
||||||
<a href="/server">管理后台</a>
|
<a href="/server">{{tr "AdminPanel"}}</a>
|
||||||
</p>
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="https://fastly.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
|
<script src="https://fastly.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
|
||||||
@ -224,7 +224,7 @@
|
|||||||
secondToDate(s) {
|
secondToDate(s) {
|
||||||
var d = Math.floor(s / 3600 / 24);
|
var d = Math.floor(s / 3600 / 24);
|
||||||
if (d > 0) {
|
if (d > 0) {
|
||||||
return d + "天"
|
return d + "{{tr "Day"}}"
|
||||||
}
|
}
|
||||||
var h = Math.floor(s / 3600 % 24);
|
var h = Math.floor(s / 3600 % 24);
|
||||||
var m = Math.floor(s / 60 % 60);
|
var m = Math.floor(s / 60 % 60);
|
||||||
@ -251,8 +251,8 @@
|
|||||||
const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
|
const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
|
||||||
ws.onopen = function (evt) {
|
ws.onopen = function (evt) {
|
||||||
$.suiAlert({
|
$.suiAlert({
|
||||||
title: '实时通道建立',
|
title: '{{tr "RealtimeChannelEstablished"}}',
|
||||||
description: '可以实时获取最新监控数据啦',
|
description: '{{tr "GetTheLatestMonitoringDataInRealTime"}}',
|
||||||
type: 'success',
|
type: 'success',
|
||||||
time: '2',
|
time: '2',
|
||||||
position: 'top-center',
|
position: 'top-center',
|
||||||
@ -276,8 +276,8 @@
|
|||||||
}
|
}
|
||||||
ws.onclose = function () {
|
ws.onclose = function () {
|
||||||
$.suiAlert({
|
$.suiAlert({
|
||||||
title: '实时通道断开',
|
title: '{{tr "RealtimeChannelDisconnect"}}',
|
||||||
description: '无法实时获取最新监控数据咯',
|
description: '{{tr "CanNotGetTheLatestMonitoringDataInRealTime"}}',
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
time: '2',
|
time: '2',
|
||||||
position: 'top-center',
|
position: 'top-center',
|
||||||
|
10
resource/template/theme-hotaru/service.html
vendored
10
resource/template/theme-hotaru/service.html
vendored
@ -11,10 +11,10 @@
|
|||||||
<table class="ui celled table">
|
<table class="ui celled table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="ui center aligned">名称</th>
|
<th class="ui center aligned">{{tr "Name"}}</th>
|
||||||
<th class="ui center aligned">30天在线率</th>
|
<th class="ui center aligned">{{tr "30DaysOnline"}}</th>
|
||||||
<th class="ui center aligned">详情</th>
|
<th class="ui center aligned">{{tr "Details"}}</th>
|
||||||
<th class="ui center aligned">状态</th>
|
<th class="ui center aligned">{{tr "Status"}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
</td>
|
</td>
|
||||||
<td class="ui center aligned">{{range $i,$d := $service.Delay}}
|
<td class="ui center aligned">{{range $i,$d := $service.Delay}}
|
||||||
<div class="ui icon button {{className (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}"
|
<div class="ui icon button {{className (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}"
|
||||||
data-tooltip="{{dayBefore $i}},平均延迟:{{float32f $d}}ms">
|
data-tooltip="{{dayBefore $i}}, {{tr "AverageLatency"}}:{{float32f $d}}ms">
|
||||||
</div> {{end}}
|
</div> {{end}}
|
||||||
</td>
|
</td>
|
||||||
<td class="ui center aligned delay-today">
|
<td class="ui center aligned delay-today">
|
||||||
|
@ -9,14 +9,14 @@
|
|||||||
<h2 class="ui image header">
|
<h2 class="ui image header">
|
||||||
<img src="static/logo.svg?v20210804" class="image">
|
<img src="static/logo.svg?v20210804" class="image">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
验证查看密码
|
{{tr "VerifyPassword"}}
|
||||||
</div>
|
</div>
|
||||||
</h2>
|
</h2>
|
||||||
<form action="/view-password" method="POST" class="ui form">
|
<form action="/view-password" method="POST" class="ui form">
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<input type="password" name="Password">
|
<input type="password" name="Password">
|
||||||
</div>
|
</div>
|
||||||
<button class="ui nezha-primary-btn button" type="submit">确认</button>
|
<button class="ui nezha-primary-btn button" type="submit">{{tr "Confirm"}}</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
26
resource/template/theme-mdui/home.html
vendored
26
resource/template/theme-mdui/home.html
vendored
@ -68,13 +68,13 @@
|
|||||||
<li class="mdui-list-item">
|
<li class="mdui-list-item">
|
||||||
<i class="mdui-list-item-icon mdui-icon material-icons">swap_vert</i>
|
<i class="mdui-list-item-icon mdui-icon material-icons">swap_vert</i>
|
||||||
<div class="mdui-list-item-content">
|
<div class="mdui-list-item-content">
|
||||||
<div class="mdui-list-item-title">上行</div>
|
<div class="mdui-list-item-title">{{tr "UpNetTransfer"}}</div>
|
||||||
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
||||||
<at><span>@#formatNetByteSize(server.State.NetOutSpeed)#@</span></at>
|
<at><span>@#formatNetByteSize(server.State.NetOutSpeed)#@</span></at>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mdui-list-item-content">
|
<div class="mdui-list-item-content">
|
||||||
<div class="mdui-list-item-title">下行</div>
|
<div class="mdui-list-item-title">{{tr "DownNetTransfer"}}</div>
|
||||||
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
||||||
<st><span>@#formatNetByteSize(server.State.NetInSpeed)#@</span></st>
|
<st><span>@#formatNetByteSize(server.State.NetInSpeed)#@</span></st>
|
||||||
</div>
|
</div>
|
||||||
@ -83,13 +83,13 @@
|
|||||||
<li class="mdui-list-item">
|
<li class="mdui-list-item">
|
||||||
<i class="mdui-list-item-icon mdui-icon material-icons">swap_horiz</i>
|
<i class="mdui-list-item-icon mdui-icon material-icons">swap_horiz</i>
|
||||||
<div class="mdui-list-item-content">
|
<div class="mdui-list-item-content">
|
||||||
<div class="mdui-list-item-title">总上行</div>
|
<div class="mdui-list-item-title">{{tr "TotalUpNetTransfer"}}</div>
|
||||||
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
||||||
<at><span>@#formatByteSize(server.State.NetOutTransfer)#@</span></at>
|
<at><span>@#formatByteSize(server.State.NetOutTransfer)#@</span></at>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mdui-list-item-content">
|
<div class="mdui-list-item-content">
|
||||||
<div class="mdui-list-item-title">总下行</div>
|
<div class="mdui-list-item-title">{{tr "TotalDownNetTransfer"}}</div>
|
||||||
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
<div class="mdui-list-item-text mdui-list-item-one-line" style="opacity:1;">
|
||||||
<st><span>@#formatByteSize(server.State.NetInTransfer)#@</span></st>
|
<st><span>@#formatByteSize(server.State.NetInTransfer)#@</span></st>
|
||||||
</div>
|
</div>
|
||||||
@ -107,14 +107,14 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="mdui-text-center">ID</th>
|
<th class="mdui-text-center">ID</th>
|
||||||
<th class="mdui-text-center">Name</th>
|
<th class="mdui-text-center">{{tr "Name"}}</th>
|
||||||
<th class="mdui-text-center">Up</th>
|
<th class="mdui-text-center">{{tr "UpNetTransfer"}}</th>
|
||||||
<th class="mdui-text-center">Down</th>
|
<th class="mdui-text-center">{{tr "DownNetTransfer"}}</th>
|
||||||
<th class="mdui-text-center">Total Up</th>
|
<th class="mdui-text-center">{{tr "TotalUpNetTransfer"}}</th>
|
||||||
<th class="mdui-text-center">Total Down</th>
|
<th class="mdui-text-center">{{tr "TotalDownNetTransfer"}}</th>
|
||||||
<th class="mdui-text-center">CPU</th>
|
<th class="mdui-text-center">CPU</th>
|
||||||
<th class="mdui-text-center">RAM</th>
|
<th class="mdui-text-center">RAM</th>
|
||||||
<th class="mdui-text-center">Online</th>
|
<th class="mdui-text-center">{{tr "Uptime"}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -178,7 +178,7 @@
|
|||||||
secondToDate(s) {
|
secondToDate(s) {
|
||||||
var d = Math.floor(s / 3600 / 24);
|
var d = Math.floor(s / 3600 / 24);
|
||||||
if (d > 0) {
|
if (d > 0) {
|
||||||
return d + "天"
|
return d + "{{tr "Day"}}"
|
||||||
}
|
}
|
||||||
var h = Math.floor(s / 3600 % 24);
|
var h = Math.floor(s / 3600 % 24);
|
||||||
var m = Math.floor(s / 60 % 60);
|
var m = Math.floor(s / 60 % 60);
|
||||||
@ -229,7 +229,7 @@
|
|||||||
const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
|
const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
|
||||||
ws.onopen = function (evt) {
|
ws.onopen = function (evt) {
|
||||||
mdui.snackbar({
|
mdui.snackbar({
|
||||||
message: '实时通道建立',
|
message: '{{tr "RealtimeChannelEstablished"}}',
|
||||||
timeout: 2000,
|
timeout: 2000,
|
||||||
position: 'top',
|
position: 'top',
|
||||||
onClosed: function(){
|
onClosed: function(){
|
||||||
@ -281,7 +281,7 @@
|
|||||||
}
|
}
|
||||||
ws.onclose = function () {
|
ws.onclose = function () {
|
||||||
mdui.snackbar({
|
mdui.snackbar({
|
||||||
message: '实时通道断开',
|
message: '{{tr "RealtimeChannelDisconnect"}}',
|
||||||
timeout: 2000,
|
timeout: 2000,
|
||||||
position: 'top',
|
position: 'top',
|
||||||
});
|
});
|
||||||
|
22
resource/template/theme-mdui/menu.html
vendored
22
resource/template/theme-mdui/menu.html
vendored
@ -4,25 +4,25 @@
|
|||||||
<div class="mdui-appbar">
|
<div class="mdui-appbar">
|
||||||
<div class="mdui-tab mdui-color-theme" mdui-tab>
|
<div class="mdui-tab mdui-color-theme" mdui-tab>
|
||||||
{{if .IsAdminPage}}
|
{{if .IsAdminPage}}
|
||||||
<a href="/server" class="mdui-ripple mdui-ripple-white mdui-hoverable "><i class="mdui-icon material-icons">computer</i>主机</a>
|
<a href="/server" class="mdui-ripple mdui-ripple-white mdui-hoverable "><i class="mdui-icon material-icons">computer</i>{{tr "Server"}}</a>
|
||||||
<a href="/monitor" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">accessibility</i>服务</a>
|
<a href="/monitor" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">accessibility</i>{{tr "Services"}}</a>
|
||||||
<a href="/cron" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">access_time</i>任务</a>
|
<a href="/cron" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">access_time</i>{{tr "Task"}}</a>
|
||||||
<a href="/notification" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">notifications</i>报警</a>
|
<a href="/notification" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">notifications</i>{{tr "Notification"}}</a>
|
||||||
<a href="/setting" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">settings</i>设置</a>
|
<a href="/setting" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">settings</i>{{tr "Settings"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a href="/" class='mdui-ripple mdui-ripple-white mdui-hoverable{{if eq .MatchedPath "/"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">home</i>首页</a>
|
<a href="/" class='mdui-ripple mdui-ripple-white mdui-hoverable{{if eq .MatchedPath "/"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">home</i>{{tr "Home"}}</a>
|
||||||
<a href="/service" class='mdui-ripple mdui-ripple-white mdui-hoverable{{if eq .MatchedPath "/service"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">accessibility</i>服务</a>
|
<a href="/service" class='mdui-ripple mdui-ripple-white mdui-hoverable{{if eq .MatchedPath "/service"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">accessibility</i>{{tr "Services"}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="mdui-toolbar-spacer"></div>
|
<div class="mdui-toolbar-spacer"></div>
|
||||||
{{if .Admin}}
|
{{if .Admin}}
|
||||||
{{if .IsAdminPage}}
|
{{if .IsAdminPage}}
|
||||||
<a href="/" class='mdui-ripple mdui-ripple-white mdui-hoverable {{if eq .MatchedPath "/"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">arrow_back</i>返回前台</a>
|
<a href="/" class='mdui-ripple mdui-ripple-white mdui-hoverable {{if eq .MatchedPath "/"}} mdui-tab-active{{end}}'><i class="mdui-icon material-icons">arrow_back</i>{{tr "BackToHomepage"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a href="/server" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">arrow_forward</i>管理后台</a>
|
<a href="/server" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">arrow_forward</i>{{tr "AdminPanel"}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
<a class="mdui-ripple mdui-ripple-white mdui-hoverable" onclick="showConfirm('确认注销?','注销后您必须重新登录才能使用',logout,{{.Admin.ID}})"><i class="mdui-icon material-icons">directions_run</i>注销登录</a>
|
<a class="mdui-ripple mdui-ripple-white mdui-hoverable" onclick="showConfirm('{{tr "ConfirmLogout"}}','{{tr "AfterLoggingOutYouHaveToLoginAgain"}}',logout,{{.Admin.ID}})"><i class="mdui-icon material-icons">directions_run</i>{{tr "Logout"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a href="/login" class="mdui-ripple mdui-ripple-white mdui-hoverable">登录</a>
|
<a href="/login" class="mdui-ripple mdui-ripple-white mdui-hoverable">{{tr "Login"}}</a>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
30
resource/template/theme-mdui/service.html
vendored
30
resource/template/theme-mdui/service.html
vendored
@ -26,10 +26,10 @@
|
|||||||
<table class="mdui-table mdui-table-hoverable">
|
<table class="mdui-table mdui-table-hoverable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="mdui-text-center">Name</th>
|
<th class="mdui-text-center">{{tr "Name"}}</th>
|
||||||
<th class="mdui-text-center" mdui-tooltip="{content: 'The status of last 30 days', position: 'top'}">SLA</th>
|
<th class="mdui-text-center" mdui-tooltip="{content: 'The status of last 30 days', position: 'top'}">{{tr "Availability"}}</th>
|
||||||
<th class="mdui-text-center">Details of Last 30 Days</th>
|
<th class="mdui-text-center">{{tr "30DaysOnline"}}</th>
|
||||||
<th class="mdui-text-center">Now</th>
|
<th class="mdui-text-center">{{tr "Status"}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@ -41,13 +41,13 @@
|
|||||||
{{range $i,$d := $service.Delay}}
|
{{range $i,$d := $service.Delay}}
|
||||||
{{$percent := (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}
|
{{$percent := (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}
|
||||||
{{if eq $percent 0.0}}
|
{{if eq $percent 0.0}}
|
||||||
<i class="mdui-icon material-icons" mdui-tooltip="{content: '{{dayBefore $i}},在线率:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,平均延迟:{{float32f $d}}ms'}">favorite_border</i>
|
<i class="mdui-icon material-icons" mdui-tooltip="{content: '{{dayBefore $i}},{{tr "Availability"}}:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,{{tr "AverageLatency"}}:{{float32f $d}}ms'}">favorite_border</i>
|
||||||
{{else if ge $percent 95.0}}
|
{{else if ge $percent 95.0}}
|
||||||
<i class="mdui-icon material-icons mdui-text-color-red-a700" mdui-tooltip="{position: 'top', content: '{{dayBefore $i}},在线率:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,平均延迟:{{float32f $d}}ms'}">favorite</i>
|
<i class="mdui-icon material-icons mdui-text-color-red-a700" mdui-tooltip="{position: 'top', content: '{{dayBefore $i}},{{tr "Availability"}}:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,{{tr "AverageLatency"}}:{{float32f $d}}ms'}">favorite</i>
|
||||||
{{else if ge $percent 80.0}}
|
{{else if ge $percent 80.0}}
|
||||||
<i class="mdui-icon material-icons mdui-text-color-orange" mdui-tooltip="{content: '{{dayBefore $i}},在线率:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,平均延迟:{{float32f $d}}ms'}">favorite</i>
|
<i class="mdui-icon material-icons mdui-text-color-orange" mdui-tooltip="{content: '{{dayBefore $i}},{{tr "Availability"}}:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,{{tr "AverageLatency"}}:{{float32f $d}}ms'}">favorite</i>
|
||||||
{{else}}
|
{{else}}
|
||||||
<i class="mdui-icon material-icons mdui-text-color-black" mdui-tooltip="{content: '{{dayBefore $i}},在线率:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,平均延迟:{{float32f $d}}ms'}">favorite</i>
|
<i class="mdui-icon material-icons mdui-text-color-black" mdui-tooltip="{content: '{{dayBefore $i}},{{tr "Availability"}}:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,{{tr "AverageLatency"}}:{{float32f $d}}ms'}">favorite</i>
|
||||||
{{end}}
|
{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
</td>
|
</td>
|
||||||
@ -74,20 +74,20 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{if .CycleTransferStats}}
|
{{if .CycleTransferStats}}
|
||||||
<h2 class="mdui-m-t-5 mdui-text-center">Network Traffic Statistics</h2>
|
<h2 class="mdui-m-t-5 mdui-text-center">{{tr "CycleTransferStats"}}</h2>
|
||||||
<div class="mdui-table-fluid">
|
<div class="mdui-table-fluid">
|
||||||
<table class="mdui-table mdui-table-hoverable">
|
<table class="mdui-table mdui-table-hoverable">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th class="mdui-text-center">ID</th>
|
<th class="mdui-text-center">ID</th>
|
||||||
<th class="mdui-text-center">Rule</th>
|
<th class="mdui-text-center">{{tr "Rules"}}</th>
|
||||||
<th class="mdui-text-center">Sever</th>
|
<th class="mdui-text-center">{{tr "Server"}}</th>
|
||||||
<th class="mdui-text-center">Date From</th>
|
<th class="mdui-text-center">{{tr "From"}}</th>
|
||||||
<th class="mdui-text-center">Date To</th>
|
<th class="mdui-text-center">{{tr "To"}}</th>
|
||||||
<th class="mdui-text-center">MAX</th>
|
<th class="mdui-text-center">MAX</th>
|
||||||
<th class="mdui-text-center">MIN</th>
|
<th class="mdui-text-center">MIN</th>
|
||||||
<th class="mdui-text-center">Check Next</th>
|
<th class="mdui-text-center">{{tr "NextCheck"}}</th>
|
||||||
<th class="mdui-text-center">Usage</th>
|
<th class="mdui-text-center">{{tr "CurrentUsage"}}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -18,18 +18,18 @@
|
|||||||
<body>
|
<body>
|
||||||
<div class="mdui-container" id="container">
|
<div class="mdui-container" id="container">
|
||||||
<div class="mdui-dialog mdui-dialog-prompt mdui-dialog-open">
|
<div class="mdui-dialog mdui-dialog-prompt mdui-dialog-open">
|
||||||
<div class="mdui-dialog-title">验证查看密码</div>
|
<div class="mdui-dialog-title">{{tr "VerifyPassword"}}</div>
|
||||||
|
|
||||||
<div class="mdui-dialog-content">
|
<div class="mdui-dialog-content">
|
||||||
<div class="mdui-textfield">
|
<div class="mdui-textfield">
|
||||||
<i class="mdui-icon material-icons">lock</i>
|
<i class="mdui-icon material-icons">lock</i>
|
||||||
<label class="mdui-textfield-label">密码</label>
|
<label class="mdui-textfield-label">{{tr "EnterPassword"}}</label>
|
||||||
<input class="mdui-textfield-input" type="password" id="password">
|
<input class="mdui-textfield-input" type="password" id="password">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mdui-dialog-actions">
|
<div class="mdui-dialog-actions">
|
||||||
<button class="mdui-btn mdui-ripple mdui-text-color-primary" id="confimBtn">验证</button>
|
<button class="mdui-btn mdui-ripple mdui-text-color-primary" id="confimBtn">{{tr "Confirm"}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
window.location.href = res.url;
|
window.location.href = res.url;
|
||||||
} else {
|
} else {
|
||||||
mdui.snackbar({
|
mdui.snackbar({
|
||||||
message: '密码错误',
|
message: '{{tr "WrongPassword"}}',
|
||||||
position: 'top',
|
position: 'top',
|
||||||
timeout: 2000,
|
timeout: 2000,
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user