Merge pull request #175 from hhhkkk520/master [skip ci]
提取全部主题文本到 zh-CN.toml Co-authored-by: hhhkkk520 <52115472+hhhkkk520@users.noreply.github.com>
This commit is contained in:
		
						commit
						d5ee1ca4ff
					
				
							
								
								
									
										240
									
								
								resource/l10n/zh-CN.toml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										240
									
								
								resource/l10n/zh-CN.toml
									
									
									
									
										vendored
									
									
								
							@ -1,217 +1,455 @@
 | 
			
		||||
[nezhaMonitor]
 | 
			
		||||
other = "哪吒监控"
 | 
			
		||||
 | 
			
		||||
[Server]
 | 
			
		||||
other = "主机"
 | 
			
		||||
 | 
			
		||||
[Services]
 | 
			
		||||
other = "服务"
 | 
			
		||||
 | 
			
		||||
[Task]
 | 
			
		||||
other = "任务"
 | 
			
		||||
 | 
			
		||||
[Notification]
 | 
			
		||||
other = "报警"
 | 
			
		||||
 | 
			
		||||
[Settings]
 | 
			
		||||
other = "设置"
 | 
			
		||||
 | 
			
		||||
[Home]
 | 
			
		||||
other = "首页"
 | 
			
		||||
 | 
			
		||||
[BackToHomepage]
 | 
			
		||||
other = "返回前台"
 | 
			
		||||
 | 
			
		||||
[AdminPanel]
 | 
			
		||||
other = "管理后台"
 | 
			
		||||
 | 
			
		||||
[Logout]
 | 
			
		||||
other = "注销登录"
 | 
			
		||||
 | 
			
		||||
[Login]
 | 
			
		||||
other = "登录"
 | 
			
		||||
 | 
			
		||||
[ConfirmLogout]
 | 
			
		||||
other = "确认注销?"
 | 
			
		||||
 | 
			
		||||
[AfterLoggingOutYouHaveToLoginAgain]
 | 
			
		||||
other = "注销后您必须重新登录才能使用"
 | 
			
		||||
 | 
			
		||||
[Cancel]
 | 
			
		||||
other = "取消"
 | 
			
		||||
 | 
			
		||||
[Confirm]
 | 
			
		||||
other = "确认"
 | 
			
		||||
 | 
			
		||||
[AddScheduledTasks]
 | 
			
		||||
other = "添加计划任务"
 | 
			
		||||
 | 
			
		||||
[Name]
 | 
			
		||||
other = "名称"
 | 
			
		||||
 | 
			
		||||
[Scheduler]
 | 
			
		||||
other = "计划"
 | 
			
		||||
 | 
			
		||||
[BackUp]
 | 
			
		||||
other = "备份"
 | 
			
		||||
 | 
			
		||||
[3amDaily]
 | 
			
		||||
other = "(每天3点)"
 | 
			
		||||
 | 
			
		||||
[Command]
 | 
			
		||||
other = "命令"
 | 
			
		||||
 | 
			
		||||
[Coverage]
 | 
			
		||||
other = "覆盖范围"
 | 
			
		||||
 | 
			
		||||
[IgnoreAllAndExecuteOnlyThroughSpecificServers]
 | 
			
		||||
other = "忽略所有,仅通过特定服务器执行"
 | 
			
		||||
 | 
			
		||||
[AllIncludedOnlySpecificServersAreNotExecuted]
 | 
			
		||||
other = "覆盖所有,仅特定服务器不执行"
 | 
			
		||||
 | 
			
		||||
[SpecificServers]
 | 
			
		||||
other = "特定服务器"
 | 
			
		||||
 | 
			
		||||
[EnterIdAndNameToSearch]
 | 
			
		||||
other = "输入ID/名称以搜索"
 | 
			
		||||
 | 
			
		||||
[NotificationMethod]
 | 
			
		||||
other = "通知方式组"
 | 
			
		||||
 | 
			
		||||
[PushSuccessMessages]
 | 
			
		||||
other = "推送成功的消息"
 | 
			
		||||
 | 
			
		||||
[TheFormaOfTheScheduleIs]
 | 
			
		||||
other = "计划的格式为:"
 | 
			
		||||
 | 
			
		||||
[SecondsMinutesHoursDaysMonthsWeeksSeeDetails]
 | 
			
		||||
other = "秒 分 时 天 月 星期,详情见"
 | 
			
		||||
 | 
			
		||||
[ScheduleExpressionFormat]
 | 
			
		||||
other = "计划表达式格式"
 | 
			
		||||
 | 
			
		||||
[IntroductionOfCommands]
 | 
			
		||||
other = "命令:就像写 shell/bat 脚本一样,但是不推荐换行,多个命令使用 <code>&&</code>/<code>&</code> 连接,如果遇到 xxx 命令找不到,可能是<code>PATH</code> 环境变量的问题,<code>Linux</code> 主机在命令开头加入<code>source ~/.bashrc</code>或者使用绝对路径执行。"
 | 
			
		||||
 | 
			
		||||
[AddMonitor]
 | 
			
		||||
other = "添加监控"
 | 
			
		||||
 | 
			
		||||
[Blog]
 | 
			
		||||
other = "博客"
 | 
			
		||||
 | 
			
		||||
[Target]
 | 
			
		||||
other = "目标"
 | 
			
		||||
 | 
			
		||||
[Type]
 | 
			
		||||
other = "类型"
 | 
			
		||||
 | 
			
		||||
[SslExpirationOrChange]
 | 
			
		||||
other = "(SSL到期、变更)"
 | 
			
		||||
 | 
			
		||||
[Duration]
 | 
			
		||||
other = "请求间隔"
 | 
			
		||||
 | 
			
		||||
[Seconds]
 | 
			
		||||
other = "秒"
 | 
			
		||||
 | 
			
		||||
[EnableFailureNotification]
 | 
			
		||||
other = "启用故障通知"
 | 
			
		||||
 | 
			
		||||
[IntroductionOfMonitor]
 | 
			
		||||
other = """
 | 
			
		||||
类型为 <b>HTTP-GET</b> 时输入URL(带 http/https, HTTPS协议的会顺带监控SSL证书);<br>
 | 
			
		||||
类型为 <b>ICMP-Ping</b> 时输入主机名/IP,不带端口;<br>
 | 
			
		||||
类型为 <b>TCP-Ping</b> 时输入主机名/IP + 端口号:example.com:22"""
 | 
			
		||||
 | 
			
		||||
[AddNotificationMethod]
 | 
			
		||||
other = "添加通知方式"
 | 
			
		||||
 | 
			
		||||
[Tag]
 | 
			
		||||
other = "分组"
 | 
			
		||||
 | 
			
		||||
[DoNotSendTestMessages]
 | 
			
		||||
other = "不发送测试信息"
 | 
			
		||||
 | 
			
		||||
[RequestMethod]
 | 
			
		||||
other = "请求方式"
 | 
			
		||||
 | 
			
		||||
[RequestType]
 | 
			
		||||
other = "请求类型"
 | 
			
		||||
 | 
			
		||||
[VerifySSL]
 | 
			
		||||
other = "验证SSL"
 | 
			
		||||
 | 
			
		||||
[AddNotificationRule]
 | 
			
		||||
other = "添加报警规则"
 | 
			
		||||
 | 
			
		||||
[Rules]
 | 
			
		||||
other = "规则"
 | 
			
		||||
 | 
			
		||||
[Enable]
 | 
			
		||||
other = "启用"
 | 
			
		||||
 | 
			
		||||
[AddServer]
 | 
			
		||||
other = "添加服务器"
 | 
			
		||||
 | 
			
		||||
[ServerGroup]
 | 
			
		||||
other = "服务器分组"
 | 
			
		||||
 | 
			
		||||
[EinsteinLightspeed1]
 | 
			
		||||
other = "爱因斯坦-光速1号"
 | 
			
		||||
 | 
			
		||||
[DisplayIndex]
 | 
			
		||||
other = "排序"
 | 
			
		||||
 | 
			
		||||
[TheLargerTheNumberTheHigherThePriority]
 | 
			
		||||
other = "越大越靠前"
 | 
			
		||||
 | 
			
		||||
[Secret]
 | 
			
		||||
other = "密钥"
 | 
			
		||||
 | 
			
		||||
[Note]
 | 
			
		||||
other = "备注"
 | 
			
		||||
 | 
			
		||||
[LinuxOneKeyInstall]
 | 
			
		||||
other = "Linux 一键安装"
 | 
			
		||||
 | 
			
		||||
[NoDomainAlert]
 | 
			
		||||
other = "请先在设置页面配置 未接入CDN的面板服务器域名/IP"
 | 
			
		||||
 | 
			
		||||
[PushSuccessfully]
 | 
			
		||||
other = "成功推送"
 | 
			
		||||
 | 
			
		||||
[LastExecution]
 | 
			
		||||
other = "最后执行"
 | 
			
		||||
 | 
			
		||||
[LastResult]
 | 
			
		||||
other = "最后结果"
 | 
			
		||||
 | 
			
		||||
[Administration]
 | 
			
		||||
other = "管理"
 | 
			
		||||
 | 
			
		||||
[CoverAll]
 | 
			
		||||
other = "覆盖所有"
 | 
			
		||||
 | 
			
		||||
[IgnoreAll]
 | 
			
		||||
other = "忽略所有"
 | 
			
		||||
 | 
			
		||||
[DeleteScheduledTask]
 | 
			
		||||
other = "删除计划任务"
 | 
			
		||||
 | 
			
		||||
[ConfirmToDeleteThisScheduledTask]
 | 
			
		||||
other = "确认删除此计划任务?"
 | 
			
		||||
 | 
			
		||||
[AccessDenied]
 | 
			
		||||
other = "访问受限"
 | 
			
		||||
 | 
			
		||||
[Use]
 | 
			
		||||
other = "使用"
 | 
			
		||||
 | 
			
		||||
[AccountToLogin]
 | 
			
		||||
other = "账号登录"
 | 
			
		||||
 | 
			
		||||
[SignUp]
 | 
			
		||||
other = "注册"
 | 
			
		||||
 | 
			
		||||
[DontHaveAnAccount]
 | 
			
		||||
other = "没有账号?"
 | 
			
		||||
 | 
			
		||||
[SSLCertificate]
 | 
			
		||||
other = "HTTP(S)/SSL证书"
 | 
			
		||||
 | 
			
		||||
[TCPPort]
 | 
			
		||||
other = "TCP 端口"
 | 
			
		||||
 | 
			
		||||
[DeleteService]
 | 
			
		||||
other = "删除服务"
 | 
			
		||||
 | 
			
		||||
[ConfirmToDeleteThisService]
 | 
			
		||||
other = "确认删除此服务?"
 | 
			
		||||
 | 
			
		||||
[DeleteNotificationMethod]
 | 
			
		||||
other = "删除通知方式"
 | 
			
		||||
 | 
			
		||||
[ConfirmToDeleteThisNotificationMethod]
 | 
			
		||||
other = "确认删除此通知方式?"
 | 
			
		||||
 | 
			
		||||
[ForceUpdate]
 | 
			
		||||
other = "强制更新"
 | 
			
		||||
 | 
			
		||||
[SelectAll]
 | 
			
		||||
other = "全选"
 | 
			
		||||
 | 
			
		||||
[VersionNumber]
 | 
			
		||||
other = "版本号"
 | 
			
		||||
 | 
			
		||||
[OneKeyInstall]
 | 
			
		||||
other = "一键安装"
 | 
			
		||||
 | 
			
		||||
[ClickToCopyTheInstallationCommand]
 | 
			
		||||
other = "点击复制安装命令"
 | 
			
		||||
 | 
			
		||||
[NotSupportedYet]
 | 
			
		||||
other = "尚未支持,请下载release手动安装"
 | 
			
		||||
 | 
			
		||||
[DeleteServer]
 | 
			
		||||
other = "删除主机"
 | 
			
		||||
 | 
			
		||||
[ConfirmToDeleteThisServer]
 | 
			
		||||
other = "确认删除此主机?"
 | 
			
		||||
 | 
			
		||||
[NoServerSelected]
 | 
			
		||||
other = "当前没有选中的服务器"
 | 
			
		||||
 | 
			
		||||
[ExecutionResults]
 | 
			
		||||
other = "执行结果"
 | 
			
		||||
 | 
			
		||||
[SiteTitle]
 | 
			
		||||
other = "站点标题"
 | 
			
		||||
 | 
			
		||||
[AdministratorList]
 | 
			
		||||
other = "管理员列表"
 | 
			
		||||
 | 
			
		||||
[Theme]
 | 
			
		||||
other = "主题"
 | 
			
		||||
 | 
			
		||||
[DefaultTheme]
 | 
			
		||||
other = "默认主题"
 | 
			
		||||
 | 
			
		||||
[CustomCodes]
 | 
			
		||||
other = "自定义代码(style、script 都可以)"
 | 
			
		||||
 | 
			
		||||
[AccessPassword]
 | 
			
		||||
other = "前台查看密码"
 | 
			
		||||
 | 
			
		||||
[PanelServerDomainAndIP]
 | 
			
		||||
other = "未接入CDN的面板服务器域名/IP"
 | 
			
		||||
 | 
			
		||||
[IPChangeAlert]
 | 
			
		||||
other = "IP 变更提醒"
 | 
			
		||||
 | 
			
		||||
[AllIncludedOnlySpecificServersAreNotAlerted]
 | 
			
		||||
other = "覆盖所有,仅特定服务器不提醒"
 | 
			
		||||
 | 
			
		||||
[IgnoreAllOnlyAlertSpecificServers]
 | 
			
		||||
other = "忽略所有,仅提醒特定服务器"
 | 
			
		||||
 | 
			
		||||
[IgnoreAllRequestOnlyThroughSpecificServers]
 | 
			
		||||
other = "忽略所有,仅通过特定服务器请求"
 | 
			
		||||
 | 
			
		||||
[AllIncludedOnlySpecificServersAreNotRequest]
 | 
			
		||||
other = "覆盖所有,仅特定服务器不请求"
 | 
			
		||||
 | 
			
		||||
[ServerIDSeparatedByCommas]
 | 
			
		||||
other = "服务器ID 以逗号隔开"
 | 
			
		||||
 | 
			
		||||
[IPChangeNotificationTag]
 | 
			
		||||
other = "提醒发送至指定的通知分组"
 | 
			
		||||
 | 
			
		||||
[NotificationMessagesDoNotHideIP]
 | 
			
		||||
other = "通知信息IP不打码"
 | 
			
		||||
 | 
			
		||||
[Save]
 | 
			
		||||
other = "保存"
 | 
			
		||||
 | 
			
		||||
[ModifiedSuccessfully]
 | 
			
		||||
other = "修改成功"
 | 
			
		||||
 | 
			
		||||
[TerminalConnectionTimeOutOrSessionEnded]
 | 
			
		||||
other = "Terminal 连接超时或会话已结束"
 | 
			
		||||
 | 
			
		||||
[TerminalConnectionFailed]
 | 
			
		||||
other = "Terminal 连接失败,请检查 /terminal/* 的 WebSocket 反代情况"
 | 
			
		||||
other = "Terminal 连接失败,请检查 /terminal/* 的 WebSocket 反代情况"
 | 
			
		||||
 | 
			
		||||
[Default]
 | 
			
		||||
other = "默认"
 | 
			
		||||
 | 
			
		||||
[Offline]
 | 
			
		||||
other = "已离线"
 | 
			
		||||
 | 
			
		||||
[Platform]
 | 
			
		||||
other = "系统"
 | 
			
		||||
 | 
			
		||||
[DiskUsed]
 | 
			
		||||
other = "硬盘"
 | 
			
		||||
 | 
			
		||||
[MemUsed]
 | 
			
		||||
other = "内存"
 | 
			
		||||
 | 
			
		||||
[SwapUsed]
 | 
			
		||||
other = "交换"
 | 
			
		||||
 | 
			
		||||
[NetTransfer]
 | 
			
		||||
other = "流量"
 | 
			
		||||
 | 
			
		||||
[Load]
 | 
			
		||||
other = "负载"
 | 
			
		||||
 | 
			
		||||
[ProcessCount]
 | 
			
		||||
other = "进程数"
 | 
			
		||||
 | 
			
		||||
[ConnCount]
 | 
			
		||||
other = "连接数"
 | 
			
		||||
 | 
			
		||||
[BootTime]
 | 
			
		||||
other = "启动"
 | 
			
		||||
 | 
			
		||||
[LastActive]
 | 
			
		||||
other = "活动"
 | 
			
		||||
 | 
			
		||||
[Version]
 | 
			
		||||
other = "版本"
 | 
			
		||||
 | 
			
		||||
[NetSpeed]
 | 
			
		||||
other = "网络"
 | 
			
		||||
 | 
			
		||||
[Uptime]
 | 
			
		||||
other = "在线"
 | 
			
		||||
 | 
			
		||||
[ServerIsOffline]
 | 
			
		||||
other = "节点已离线"
 | 
			
		||||
 | 
			
		||||
[Day]
 | 
			
		||||
other = "天"
 | 
			
		||||
 | 
			
		||||
[RealtimeChannelEstablished]
 | 
			
		||||
other = "实时通道建立"
 | 
			
		||||
 | 
			
		||||
[GetTheLatestMonitoringDataInRealTime]
 | 
			
		||||
other = "可以实时获取最新监控数据啦"
 | 
			
		||||
 | 
			
		||||
[RealtimeChannelDisconnect]
 | 
			
		||||
other = "实时通道断开"
 | 
			
		||||
 | 
			
		||||
[CanNotGetTheLatestMonitoringDataInRealTime]
 | 
			
		||||
other = "无法实时获取最新监控数据咯"
 | 
			
		||||
 | 
			
		||||
[30DaysOnline]
 | 
			
		||||
other = "30天在线率"
 | 
			
		||||
 | 
			
		||||
[Details]
 | 
			
		||||
other = "详情"
 | 
			
		||||
 | 
			
		||||
[Status]
 | 
			
		||||
other = "状态"
 | 
			
		||||
 | 
			
		||||
[Availability]
 | 
			
		||||
other = "在线率"
 | 
			
		||||
 | 
			
		||||
[AverageLatency]
 | 
			
		||||
other = "平均延迟"
 | 
			
		||||
 | 
			
		||||
[CycleTransferStats]
 | 
			
		||||
other = "循环流量统计"
 | 
			
		||||
 | 
			
		||||
[From]
 | 
			
		||||
other = "自"
 | 
			
		||||
 | 
			
		||||
[To]
 | 
			
		||||
other = "至"
 | 
			
		||||
 | 
			
		||||
[NextCheck]
 | 
			
		||||
other = "下次检查"
 | 
			
		||||
 | 
			
		||||
[CurrentUsage]
 | 
			
		||||
other = "当前用量"
 | 
			
		||||
 | 
			
		||||
[VerifyPassword]
 | 
			
		||||
other = "验证查看密码"
 | 
			
		||||
 | 
			
		||||
[LightMode]
 | 
			
		||||
other = "白昼模式"
 | 
			
		||||
 | 
			
		||||
[DarkMode]
 | 
			
		||||
other = "暗黑模式"
 | 
			
		||||
 | 
			
		||||
[GridLayout]
 | 
			
		||||
other = "网格视图"
 | 
			
		||||
 | 
			
		||||
[ListLayout]
 | 
			
		||||
other = "列表视图"
 | 
			
		||||
 | 
			
		||||
[EnterPassword]
 | 
			
		||||
other = "输入密码"
 | 
			
		||||
 | 
			
		||||
[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>
 | 
			
		||||
            <nav class="nav-menu">
 | 
			
		||||
                <ul>
 | 
			
		||||
                    <li><a href="/">首页</a></li>
 | 
			
		||||
                    <li><a href="/service">服务状态</a></li>
 | 
			
		||||
                    <li><a href="/">{{tr "Home"}}</a></li>
 | 
			
		||||
                    <li><a href="/service">{{tr "Services"}}</a></li>
 | 
			
		||||
                    {{if .Admin}}
 | 
			
		||||
                    <li><a href="/server">管理后台</a></li>
 | 
			
		||||
                    <li><a href="/server">{{tr "AdminPanel"}}</a></li>
 | 
			
		||||
                    {{else}}
 | 
			
		||||
                    <li><a href="/login">登录</a></li>
 | 
			
		||||
                    <li><a href="/login">{{tr "Login"}}</a></li>
 | 
			
		||||
                    {{end}}
 | 
			
		||||
                </ul>
 | 
			
		||||
            </nav>
 | 
			
		||||
@ -111,7 +111,7 @@
 | 
			
		||||
                        <li>
 | 
			
		||||
                            <div class="disk-bar">
 | 
			
		||||
                                <div>
 | 
			
		||||
                                    <h4>硬盘</h4>
 | 
			
		||||
                                    <h4>{{tr "DiskUsed"}}</h4>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div v-if="server.State"
 | 
			
		||||
                                    :class="formatPercent(server.live,server.State.DiskUsed, server.Host.DiskTotal).class"
 | 
			
		||||
@ -133,10 +133,10 @@
 | 
			
		||||
 | 
			
		||||
        <div class="sidebar-container">
 | 
			
		||||
            <ul>
 | 
			
		||||
                <li><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
 | 
			
		||||
                <li><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
 | 
			
		||||
                <li><i class="fas fa-th" title="网格视图"></i><span>网格视图</span></li>
 | 
			
		||||
                <li><i class="fas fa-list-ul" title="列表视图"></i><span>列表视图</span></li>
 | 
			
		||||
                <li><i class="fas fa-sun" title='{{tr "LightMode"}}'></i><span>{{tr "LightMode"}}</span></li>
 | 
			
		||||
                <li><i class="fas fa-moon" title='{{tr "DarkMode"}}'></i><span>{{tr "DarkMode"}}</span></li>
 | 
			
		||||
                <li><i class="fas fa-th" title='{{tr "GridLayout"}}'></i><span>{{tr "GridLayout"}}</span></li>
 | 
			
		||||
                <li><i class="fas fa-list-ul" title='{{tr "ListLayout"}}'></i><span>{{tr "ListLayout"}}</span></li>
 | 
			
		||||
            </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </main>
 | 
			
		||||
@ -239,7 +239,7 @@
 | 
			
		||||
                secondToDate(s) {
 | 
			
		||||
                    var d = Math.floor(s / 3600 / 24);
 | 
			
		||||
                    if (d > 0) {
 | 
			
		||||
                        return d + "天"
 | 
			
		||||
                        return d + "{{tr "Day"}}"
 | 
			
		||||
                    }
 | 
			
		||||
                    var h = Math.floor(s / 3600 % 24);
 | 
			
		||||
                    var m = Math.floor(s / 60 % 60);
 | 
			
		||||
@ -261,8 +261,8 @@
 | 
			
		||||
            Swal.fire({
 | 
			
		||||
                position: 'top',
 | 
			
		||||
                icon: 'success',
 | 
			
		||||
                title: '实时通道建立',
 | 
			
		||||
                text: '可以实时获取最新监控数据啦',
 | 
			
		||||
                title: '{{tr "RealtimeChannelEstablished"}}',
 | 
			
		||||
                text: '{{tr "GetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
                showConfirmButton: false,
 | 
			
		||||
                timer: 2000
 | 
			
		||||
            });
 | 
			
		||||
@ -288,8 +288,8 @@
 | 
			
		||||
            Swal.fire({
 | 
			
		||||
                position: 'top',
 | 
			
		||||
                icon: 'error',
 | 
			
		||||
                title: '实时通道断开',
 | 
			
		||||
                text: '无法实时获取最新监控数据咯',
 | 
			
		||||
                title: '{{tr "RealtimeChannelDisconnect"}}',
 | 
			
		||||
                text: '{{tr "CanNotGetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
                showConfirmButton: false,
 | 
			
		||||
                timer: 2000
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								resource/template/theme-daynight/service.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								resource/template/theme-daynight/service.html
									
									
									
									
										vendored
									
									
								
							@ -41,12 +41,12 @@
 | 
			
		||||
            </div>
 | 
			
		||||
            <nav class="nav-menu">
 | 
			
		||||
              <ul>
 | 
			
		||||
                <li><a href="/">首页</a></li>
 | 
			
		||||
                <li><a href="/service">服务状态</a></li>
 | 
			
		||||
                <li><a href="/">{{tr "Home"}}</a></li>
 | 
			
		||||
                <li><a href="/service">{{tr "Services"}}</a></li>
 | 
			
		||||
                {{if .Admin}}
 | 
			
		||||
                <li><a href="/server">管理后台</a></li>
 | 
			
		||||
                <li><a href="/server">{{tr "AdminPanel"}}</a></li>
 | 
			
		||||
                {{else}}
 | 
			
		||||
                <li><a href="/login">登录</a></li>
 | 
			
		||||
                <li><a href="/login">{{tr "Login"}}</a></li>
 | 
			
		||||
                {{end}}
 | 
			
		||||
              </ul>
 | 
			
		||||
            </nav>
 | 
			
		||||
@ -55,8 +55,8 @@
 | 
			
		||||
 | 
			
		||||
      <main>
 | 
			
		||||
        <section class="monitor-header">
 | 
			
		||||
          <h2>服务状态</h2>
 | 
			
		||||
          <h4>最近30天在线率</h4>
 | 
			
		||||
          <h2>{{tr "Status"}}</h2>
 | 
			
		||||
          <h4>{{tr "30DaysOnline"}}</h4>
 | 
			
		||||
        </section>
 | 
			
		||||
        <section class="monitor-container">
 | 
			
		||||
          {{range $service := .Services}}
 | 
			
		||||
@ -86,10 +86,10 @@
 | 
			
		||||
      
 | 
			
		||||
      <div class="sidebar-container">
 | 
			
		||||
        <ul>
 | 
			
		||||
          <li><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
 | 
			
		||||
          <li><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
 | 
			
		||||
          <li><i class="fas fa-th" title="网格视图"></i><span>网格视图</span></li>
 | 
			
		||||
          <li><i class="fas fa-list-ul" title="列表视图"></i><span>列表视图</span></li>
 | 
			
		||||
          <li><i class="fas fa-sun" title='{{tr "LightMode"}}'></i><span>{{tr "LightMode"}}</span></li>
 | 
			
		||||
          <li><i class="fas fa-moon" title='{{tr "DarkMode"}}'></i><span>{{tr "DarkMode"}}</span></li>
 | 
			
		||||
          <li><i class="fas fa-th" title='{{tr "GridLayout"}}'></i><span>{{tr "GridLayout"}}</span></li>
 | 
			
		||||
          <li><i class="fas fa-list-ul" title='{{tr "ListLayout"}}'></i><span>{{tr "ListLayout"}}</span></li>
 | 
			
		||||
        </ul>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -17,13 +17,13 @@
 | 
			
		||||
  <body>
 | 
			
		||||
    <article>
 | 
			
		||||
      <section class="passwd-container">
 | 
			
		||||
        <h2>登 录</h2>
 | 
			
		||||
        <h2>{{tr "Login"}}</h2>
 | 
			
		||||
        <form action="/view-password" method="POST">
 | 
			
		||||
          <h4>验证查看密码</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">
 | 
			
		||||
          <h4>{{tr "VerifyPassword"}}</h4>
 | 
			
		||||
          <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>
 | 
			
		||||
          </svg>
 | 
			
		||||
          <button type="submit">确认</button>
 | 
			
		||||
          <button type="submit">{{tr "Confirm"}}</button>
 | 
			
		||||
        </form>
 | 
			
		||||
        <figure class="logo">
 | 
			
		||||
          <a href="/">
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										50
									
								
								resource/template/theme-default/home.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								resource/template/theme-default/home.html
									
									
									
									
										vendored
									
									
								
							@ -6,7 +6,7 @@
 | 
			
		||||
      <div class="ui styled fluid accordion" v-for="group in groups">
 | 
			
		||||
        <div class="active title">
 | 
			
		||||
          <i class="dropdown icon"></i>
 | 
			
		||||
          @#(group.Tag!==''?group.Tag:'默认')#@
 | 
			
		||||
          @#(group.Tag!==''?group.Tag:'{{tr "Default"}}')#@
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="active content">
 | 
			
		||||
          <div class="ui four stackable status cards">
 | 
			
		||||
@ -17,26 +17,26 @@
 | 
			
		||||
                    class="apple icon"></i><i v-if='server.Host.Platform == "linux"' class="linux icon"></i><i
 | 
			
		||||
                    v-if='server.Host.Platform == "windows"' class="windows icon"></i><i
 | 
			
		||||
                    v-if='server.Host.Platform == "freebsd"' class="freebsd icon"></i>
 | 
			
		||||
                  @#server.Name + (server.live?'':'[已离线]')#@
 | 
			
		||||
                  @#server.Name + (server.live?'':'[{{tr "Offline"}}]')#@
 | 
			
		||||
                  <i class="nezha-secondary-font info circle icon" style="height: 28px"></i>
 | 
			
		||||
                  <div class="ui content popup" style="margin-bottom: 0">
 | 
			
		||||
                    系统:@#server.Host.Platform#@-@#server.Host.PlatformVersion#@
 | 
			
		||||
                    {{tr "Platform"}}:@#server.Host.Platform#@-@#server.Host.PlatformVersion#@
 | 
			
		||||
                    [<span
 | 
			
		||||
                      v-if="server.Host.Virtualization">@#server.Host.Virtualization#@:</span>@#server.Host.Arch#@]<br />
 | 
			
		||||
                    CPU:@#server.Host.CPU#@<br />
 | 
			
		||||
                    硬盘:@#formatByteSize(server.State.DiskUsed)#@/@#formatByteSize(server.Host.DiskTotal)#@<br />
 | 
			
		||||
                    内存:@#formatByteSize(server.State.MemUsed)#@/@#formatByteSize(server.Host.MemTotal)#@<br />
 | 
			
		||||
                    交换:@#formatByteSize(server.State.SwapUsed)#@/@#formatByteSize(server.Host.SwapTotal)#@<br />
 | 
			
		||||
                    流量:<i
 | 
			
		||||
                    CPU:@#server.Host.CPU#@<br />
 | 
			
		||||
                    {{tr "DiskUsed"}}:@#formatByteSize(server.State.DiskUsed)#@/@#formatByteSize(server.Host.DiskTotal)#@<br />
 | 
			
		||||
                    {{tr "MemUsed"}}:@#formatByteSize(server.State.MemUsed)#@/@#formatByteSize(server.Host.MemTotal)#@<br />
 | 
			
		||||
                    {{tr "SwapUsed"}}:@#formatByteSize(server.State.SwapUsed)#@/@#formatByteSize(server.Host.SwapTotal)#@<br />
 | 
			
		||||
                    {{tr "NetTransfer"}}:<i
 | 
			
		||||
                      class="arrow alternate circle down outline icon"></i>@#formatByteSize(server.State.NetInTransfer)#@<i
 | 
			
		||||
                      class="arrow alternate circle up outline icon"></i>@#formatByteSize(server.State.NetOutTransfer)#@<br />
 | 
			
		||||
                    负载:@# toFixed2(server.State.Load1) #@/@# toFixed2(server.State.Load5) #@/@#
 | 
			
		||||
                      {{tr "Load"}}:@# toFixed2(server.State.Load1) #@/@# toFixed2(server.State.Load5) #@/@#
 | 
			
		||||
                    toFixed2(server.State.Load15) #@<br />
 | 
			
		||||
                    进程数:@# server.State.ProcessCount #@<br />
 | 
			
		||||
                    连接数:TCP @# server.State.TcpConnCount #@ / UDP @# server.State.UdpConnCount #@<br />
 | 
			
		||||
                    启动:@# formatTimestamp(server.Host.BootTime) #@<br />
 | 
			
		||||
                    活动:@# new Date(server.LastActive).toLocaleString() #@<br />
 | 
			
		||||
                    版本:@#server.Host.Version#@<br />
 | 
			
		||||
                    {{tr "ProcessCount"}}:@# server.State.ProcessCount #@<br />
 | 
			
		||||
                    {{tr "ConnCount"}}:TCP @# server.State.TcpConnCount #@ / UDP @# server.State.UdpConnCount #@<br />
 | 
			
		||||
                    {{tr "BootTime"}}:@# formatTimestamp(server.Host.BootTime) #@<br />
 | 
			
		||||
                    {{tr "LastActive"}}:@# new Date(server.LastActive).toLocaleString() #@<br />
 | 
			
		||||
                    {{tr "Version"}}:@#server.Host.Version#@<br />
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <div class="ui divider" style="margin-bottom: 5px"></div>
 | 
			
		||||
                </div>
 | 
			
		||||
@ -50,7 +50,7 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                      </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="three wide column">内存</div>
 | 
			
		||||
                    <div class="three wide column">{{tr "MemUsed"}}</div>
 | 
			
		||||
                    <div class="thirteen wide column">
 | 
			
		||||
                      <div :class="formatPercent(server.live,server.State.MemUsed, server.Host.MemTotal).class">
 | 
			
		||||
                        <div class="bar"
 | 
			
		||||
@ -59,7 +59,7 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                      </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="three wide column">交换</div>
 | 
			
		||||
                    <div class="three wide column">{{tr "SwapUsed"}}</div>
 | 
			
		||||
                    <div class="thirteen wide column">
 | 
			
		||||
                      <div :class="formatPercent(server.live,server.State.SwapUsed, server.Host.SwapTotal).class">
 | 
			
		||||
                        <div class="bar"
 | 
			
		||||
@ -68,14 +68,14 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                      </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="three wide column">网络</div>
 | 
			
		||||
                    <div class="three wide column">{{tr "NetSpeed"}}</div>
 | 
			
		||||
                    <div class="thirteen wide column">
 | 
			
		||||
                      <i class="arrow alternate circle down outline icon"></i>
 | 
			
		||||
                      @#formatByteSize(server.State.NetInSpeed)#@/s
 | 
			
		||||
                      <i class="arrow alternate circle up outline icon"></i>
 | 
			
		||||
                      @#formatByteSize(server.State.NetOutSpeed)#@/s
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="three wide column">硬盘</div>
 | 
			
		||||
                    <div class="three wide column">{{tr "DiskUsed"}}</div>
 | 
			
		||||
                    <div class="thirteen wide column">
 | 
			
		||||
                      <div :class="formatPercent(server.live,server.State.DiskUsed, server.Host.DiskTotal).class">
 | 
			
		||||
                        <div class="bar"
 | 
			
		||||
@ -84,7 +84,7 @@
 | 
			
		||||
                        </div>
 | 
			
		||||
                      </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="three wide column">在线</div>
 | 
			
		||||
                    <div class="three wide column">{{tr "Uptime"}}</div>
 | 
			
		||||
                    <div class="thirteen wide column">
 | 
			
		||||
                      <i class="clock icon"></i>@#secondToDate(server.State.Uptime)#@
 | 
			
		||||
                    </div>
 | 
			
		||||
@ -93,7 +93,7 @@
 | 
			
		||||
              </div>
 | 
			
		||||
              <div class="content" v-else>
 | 
			
		||||
                <p>@#server.Name#@</p>
 | 
			
		||||
                <p>节点已离线</p>
 | 
			
		||||
                <p>{{tr "ServerIsOffline"}}</p>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
@ -163,7 +163,7 @@
 | 
			
		||||
      secondToDate(s) {
 | 
			
		||||
        var d = Math.floor(s / 3600 / 24);
 | 
			
		||||
        if (d > 0) {
 | 
			
		||||
          return d + "天"
 | 
			
		||||
          return d + "{{tr "Day"}}"
 | 
			
		||||
        }
 | 
			
		||||
        var h = Math.floor(s / 3600 % 24);
 | 
			
		||||
        var m = Math.floor(s / 60 % 60);
 | 
			
		||||
@ -205,8 +205,8 @@
 | 
			
		||||
  const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
 | 
			
		||||
  ws.onopen = function (evt) {
 | 
			
		||||
    $.suiAlert({
 | 
			
		||||
      title: '实时通道建立',
 | 
			
		||||
      description: '可以实时获取最新监控数据啦',
 | 
			
		||||
      title: '{{tr "RealtimeChannelEstablished"}}',
 | 
			
		||||
      description: '{{tr "GetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
      type: 'success',
 | 
			
		||||
      time: '2',
 | 
			
		||||
      position: 'top-center',
 | 
			
		||||
@ -232,8 +232,8 @@
 | 
			
		||||
  }
 | 
			
		||||
  ws.onclose = function () {
 | 
			
		||||
    $.suiAlert({
 | 
			
		||||
      title: '实时通道断开',
 | 
			
		||||
      description: '无法实时获取最新监控数据咯',
 | 
			
		||||
      title: '{{tr "RealtimeChannelDisconnect"}}',
 | 
			
		||||
      description: '{{tr "CanNotGetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
      type: 'warning',
 | 
			
		||||
      time: '2',
 | 
			
		||||
      position: 'top-center',
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										24
									
								
								resource/template/theme-default/service.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								resource/template/theme-default/service.html
									
									
									
									
										vendored
									
									
								
							@ -10,10 +10,10 @@
 | 
			
		||||
            <table class="ui celled table">
 | 
			
		||||
                <thead>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th class="ui center aligned">名称</th>
 | 
			
		||||
                        <th class="ui center aligned">30天在线率</th>
 | 
			
		||||
                        <th class="ui center aligned">详情</th>
 | 
			
		||||
                        <th class="ui center aligned">状态</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Name"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "30DaysOnline"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Details"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Status"}}</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </thead>
 | 
			
		||||
                <tbody>
 | 
			
		||||
@ -25,7 +25,7 @@
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <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)))}}"
 | 
			
		||||
                                data-tooltip="{{dayBefore $i}},在线率:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,平均延迟:{{float32f $d}}ms">
 | 
			
		||||
                                data-tooltip="{{dayBefore $i}},{{tr "Availability"}}:{{float32f (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}%,{{tr "AverageLatency"}}:{{float32f $d}}ms">
 | 
			
		||||
                            </div> {{end}}
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td class="ui center aligned delay-today">
 | 
			
		||||
@ -39,20 +39,20 @@
 | 
			
		||||
 | 
			
		||||
            {{if .CycleTransferStats}}
 | 
			
		||||
 | 
			
		||||
            <h2 style="text-align: center;">循环流量统计</h2>
 | 
			
		||||
            <h2 style="text-align: center;">{{tr "CycleTransferStats"}}</h2>
 | 
			
		||||
 | 
			
		||||
            <table class="ui celled table">
 | 
			
		||||
                <thead>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th class="ui center aligned">ID</th>
 | 
			
		||||
                        <th class="ui center aligned">规则</th>
 | 
			
		||||
                        <th class="ui center aligned">服务器</th>
 | 
			
		||||
                        <th class="ui center aligned">自</th>
 | 
			
		||||
                        <th class="ui center aligned">至</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Rules"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Server"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "From"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "To"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">MAX</th>
 | 
			
		||||
                        <th class="ui center aligned">MIN</th>
 | 
			
		||||
                        <th class="ui center aligned">下次检查</th>
 | 
			
		||||
                        <th class="ui center aligned">当前用量</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "NextCheck"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "CurrentUsage"}}</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </thead>
 | 
			
		||||
                <tbody>
 | 
			
		||||
 | 
			
		||||
@ -9,14 +9,14 @@
 | 
			
		||||
            <h2 class="ui image header">
 | 
			
		||||
                <img src="static/logo.svg?v20210804" class="image">
 | 
			
		||||
                <div class="content">
 | 
			
		||||
                    验证查看密码
 | 
			
		||||
                    {{tr "VerifyPassword"}}
 | 
			
		||||
                </div>
 | 
			
		||||
            </h2>
 | 
			
		||||
            <form action="/view-password" method="POST" class="ui form">
 | 
			
		||||
                <div class="field">
 | 
			
		||||
                    <input type="password" name="Password">
 | 
			
		||||
                </div>
 | 
			
		||||
                <button class="ui nezha-primary-btn button" type="submit">确认</button>
 | 
			
		||||
                <button class="ui nezha-primary-btn button" type="submit">{{tr "Confirm"}}</button>
 | 
			
		||||
            </form>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										45
									
								
								resource/template/theme-hotaru/home.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										45
									
								
								resource/template/theme-hotaru/home.html
									
									
									
									
										vendored
									
									
								
							@ -28,14 +28,9 @@
 | 
			
		||||
<body>
 | 
			
		||||
    <section class="hotaru-cover">
 | 
			
		||||
        <div class="container" style="text-align: center;">
 | 
			
		||||
            <h1>
 | 
			
		||||
            <h1 style="line-height: 8rem;">
 | 
			
		||||
                <strong>{{.Title}}</strong>
 | 
			
		||||
            </h1>
 | 
			
		||||
            <div>
 | 
			
		||||
                <p>
 | 
			
		||||
                    <small>狀態更新和事件報告可能會延遲最多30秒鐘<br />具體取決於手頭的技術問題。請向下滾動查看過去的事件報告</small>
 | 
			
		||||
                </p>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </section>
 | 
			
		||||
 | 
			
		||||
@ -44,16 +39,16 @@
 | 
			
		||||
            <table class="table table-striped">
 | 
			
		||||
                <thead>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th>运行状态</th>
 | 
			
		||||
                        <th>节点名</th>
 | 
			
		||||
                        <th>系统</th>
 | 
			
		||||
                        <th>位置</th>
 | 
			
		||||
                        <th>在线</th>
 | 
			
		||||
                        <th>网络(B/s) ↓|↑</th>
 | 
			
		||||
                        <th>流量(B) ↓|↑</th>
 | 
			
		||||
                        <th>{{tr "Status"}}</th>
 | 
			
		||||
                        <th>{{tr "Name"}}</th>
 | 
			
		||||
                        <th>{{tr "Platform"}}</th>
 | 
			
		||||
                        <th>{{tr "Location"}}</th>
 | 
			
		||||
                        <th>{{tr "Uptime"}}</th>
 | 
			
		||||
                        <th>{{tr "NetSpeed"}}(B/s) ↓|↑</th>
 | 
			
		||||
                        <th>{{tr "NetTransfer"}}(B) ↓|↑</th>
 | 
			
		||||
                        <th>CPU</th>
 | 
			
		||||
                        <th>RAM</th>
 | 
			
		||||
                        <th>硬盘</th>
 | 
			
		||||
                        <th>{{tr "DiskUsed"}}</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </thead>
 | 
			
		||||
                <tbody id="servers" style="text-align:center;">
 | 
			
		||||
@ -61,7 +56,7 @@
 | 
			
		||||
                        <td>
 | 
			
		||||
                            <div class="progress">
 | 
			
		||||
                                <div :class="'state-'+ (server.live?'online':'offline')">
 | 
			
		||||
                                    <small>@#server.live?'运行中':'已离线'#@</small>
 | 
			
		||||
                                    <small>@#server.live?'{{tr "Running"}}':'{{tr "Offline"}}'#@</small>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </td>
 | 
			
		||||
@ -123,7 +118,7 @@
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <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':'-'#@
 | 
			
		||||
                                </li>
 | 
			
		||||
                            </ul>
 | 
			
		||||
@ -135,15 +130,15 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="sidebar-container">
 | 
			
		||||
        <ul>
 | 
			
		||||
            <li id='sun'><i class="fas fa-sun" title="白昼模式"></i><span>白昼模式</span></li>
 | 
			
		||||
            <li id='moon'><i class="fas fa-moon" title="暗黑模式"></i><span>暗黑模式</span></li>
 | 
			
		||||
            <li id='sun'><i class="fas fa-sun" title='{{tr "LightMode"}}'></i><span>{{tr "LightMode"}}</span></li>
 | 
			
		||||
            <li id='moon'><i class="fas fa-moon" title='{{tr "DarkMode"}}'></i><span>{{tr "DarkMode"}}</span></li>
 | 
			
		||||
        </ul>
 | 
			
		||||
    </div>
 | 
			
		||||
    <footer>
 | 
			
		||||
        <p style="text-align:center;padding: 15px;">Powered by <a href="https://github.com/naiba/nezha">{{tr "nezhaMonitor"}}</a> build ·
 | 
			
		||||
            {{.Version}}
 | 
			
		||||
            <a href="/service">服务状态</a>
 | 
			
		||||
            <a href="/server">管理后台</a>
 | 
			
		||||
            <a href="/service">{{tr "Services"}}</a>
 | 
			
		||||
            <a href="/server">{{tr "AdminPanel"}}</a>
 | 
			
		||||
        </p>
 | 
			
		||||
    </footer>
 | 
			
		||||
    <script src="https://fastly.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
 | 
			
		||||
@ -224,7 +219,7 @@
 | 
			
		||||
                secondToDate(s) {
 | 
			
		||||
                    var d = Math.floor(s / 3600 / 24);
 | 
			
		||||
                    if (d > 0) {
 | 
			
		||||
                        return d + "天"
 | 
			
		||||
                        return d + "{{tr "Day"}}"
 | 
			
		||||
                    }
 | 
			
		||||
                    var h = Math.floor(s / 3600 % 24);
 | 
			
		||||
                    var m = Math.floor(s / 60 % 60);
 | 
			
		||||
@ -251,8 +246,8 @@
 | 
			
		||||
        const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
 | 
			
		||||
        ws.onopen = function (evt) {
 | 
			
		||||
            $.suiAlert({
 | 
			
		||||
                title: '实时通道建立',
 | 
			
		||||
                description: '可以实时获取最新监控数据啦',
 | 
			
		||||
                title: '{{tr "RealtimeChannelEstablished"}}',
 | 
			
		||||
                description: '{{tr "GetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
                type: 'success',
 | 
			
		||||
                time: '2',
 | 
			
		||||
                position: 'top-center',
 | 
			
		||||
@ -276,8 +271,8 @@
 | 
			
		||||
        }
 | 
			
		||||
        ws.onclose = function () {
 | 
			
		||||
            $.suiAlert({
 | 
			
		||||
                title: '实时通道断开',
 | 
			
		||||
                description: '无法实时获取最新监控数据咯',
 | 
			
		||||
                title: '{{tr "RealtimeChannelDisconnect"}}',
 | 
			
		||||
                description: '{{tr "CanNotGetTheLatestMonitoringDataInRealTime"}}',
 | 
			
		||||
                type: 'warning',
 | 
			
		||||
                time: '2',
 | 
			
		||||
                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">
 | 
			
		||||
                <thead>
 | 
			
		||||
                    <tr>
 | 
			
		||||
                        <th class="ui center aligned">名称</th>
 | 
			
		||||
                        <th class="ui center aligned">30天在线率</th>
 | 
			
		||||
                        <th class="ui center aligned">详情</th>
 | 
			
		||||
                        <th class="ui center aligned">状态</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Name"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "30DaysOnline"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Details"}}</th>
 | 
			
		||||
                        <th class="ui center aligned">{{tr "Status"}}</th>
 | 
			
		||||
                    </tr>
 | 
			
		||||
                </thead>
 | 
			
		||||
                <tbody>
 | 
			
		||||
@ -26,7 +26,7 @@
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <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)))}}"
 | 
			
		||||
                                data-tooltip="{{dayBefore $i}},平均延迟:{{float32f $d}}ms">
 | 
			
		||||
                                data-tooltip="{{dayBefore $i}}, {{tr "AverageLatency"}}:{{float32f $d}}ms">
 | 
			
		||||
                            </div> {{end}}
 | 
			
		||||
                        </td>
 | 
			
		||||
                        <td class="ui center aligned delay-today">
 | 
			
		||||
 | 
			
		||||
@ -9,14 +9,14 @@
 | 
			
		||||
            <h2 class="ui image header">
 | 
			
		||||
                <img src="static/logo.svg?v20210804" class="image">
 | 
			
		||||
                <div class="content">
 | 
			
		||||
                    验证查看密码
 | 
			
		||||
                    {{tr "VerifyPassword"}}
 | 
			
		||||
                </div>
 | 
			
		||||
            </h2>
 | 
			
		||||
            <form action="/view-password" method="POST" class="ui form">
 | 
			
		||||
                <div class="field">
 | 
			
		||||
                    <input type="password" name="Password">
 | 
			
		||||
                </div>
 | 
			
		||||
                <button class="ui nezha-primary-btn button" type="submit">确认</button>
 | 
			
		||||
                <button class="ui nezha-primary-btn button" type="submit">{{tr "Confirm"}}</button>
 | 
			
		||||
            </form>
 | 
			
		||||
        </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">
 | 
			
		||||
                  <i class="mdui-list-item-icon mdui-icon material-icons">swap_vert</i>
 | 
			
		||||
                  <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;">
 | 
			
		||||
                      <at><span>@#formatNetByteSize(server.State.NetOutSpeed)#@</span></at>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <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;">
 | 
			
		||||
                      <st><span>@#formatNetByteSize(server.State.NetInSpeed)#@</span></st>
 | 
			
		||||
                    </div>
 | 
			
		||||
@ -83,13 +83,13 @@
 | 
			
		||||
                <li class="mdui-list-item">
 | 
			
		||||
                  <i class="mdui-list-item-icon mdui-icon material-icons">swap_horiz</i>
 | 
			
		||||
                  <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;">
 | 
			
		||||
                      <at><span>@#formatByteSize(server.State.NetOutTransfer)#@</span></at>
 | 
			
		||||
                    </div>
 | 
			
		||||
                  </div>
 | 
			
		||||
                  <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;">
 | 
			
		||||
                      <st><span>@#formatByteSize(server.State.NetInTransfer)#@</span></st>
 | 
			
		||||
                    </div>
 | 
			
		||||
@ -107,14 +107,14 @@
 | 
			
		||||
		<thead>
 | 
			
		||||
		  <tr>
 | 
			
		||||
		    <th class="mdui-text-center">ID</th>
 | 
			
		||||
		    <th class="mdui-text-center">Name</th>
 | 
			
		||||
		    <th class="mdui-text-center">Up</th>
 | 
			
		||||
		    <th class="mdui-text-center">Down</th>
 | 
			
		||||
		   	<th class="mdui-text-center">Total Up</th>
 | 
			
		||||
		    <th class="mdui-text-center">Total Down</th>
 | 
			
		||||
		    <th class="mdui-text-center">{{tr "Name"}}</th>
 | 
			
		||||
		    <th class="mdui-text-center">{{tr "UpNetTransfer"}}</th>
 | 
			
		||||
		    <th class="mdui-text-center">{{tr "DownNetTransfer"}}</th>
 | 
			
		||||
		   	<th class="mdui-text-center">{{tr "TotalUpNetTransfer"}}</th>
 | 
			
		||||
		    <th class="mdui-text-center">{{tr "TotalDownNetTransfer"}}</th>
 | 
			
		||||
		    <th class="mdui-text-center">CPU</th>
 | 
			
		||||
		    <th class="mdui-text-center">RAM</th>
 | 
			
		||||
		    <th class="mdui-text-center">Online</th>
 | 
			
		||||
		    <th class="mdui-text-center">{{tr "Uptime"}}</th>
 | 
			
		||||
		  </tr>
 | 
			
		||||
		</thead>
 | 
			
		||||
		<tbody>
 | 
			
		||||
@ -178,7 +178,7 @@
 | 
			
		||||
            secondToDate(s) {
 | 
			
		||||
                var d = Math.floor(s / 3600 / 24);
 | 
			
		||||
                if (d > 0) {
 | 
			
		||||
                    return d + "天"
 | 
			
		||||
                    return d + "{{tr "Day"}}"
 | 
			
		||||
                }
 | 
			
		||||
                var h = Math.floor(s / 3600 % 24);
 | 
			
		||||
                var m = Math.floor(s / 60 % 60);
 | 
			
		||||
@ -229,7 +229,7 @@
 | 
			
		||||
    const ws = new WebSocket(wsProtocol + '://' + window.location.host + '/ws');
 | 
			
		||||
    ws.onopen = function (evt) {
 | 
			
		||||
        mdui.snackbar({
 | 
			
		||||
          message: '实时通道建立',
 | 
			
		||||
          message: '{{tr "RealtimeChannelEstablished"}}',
 | 
			
		||||
          timeout: 2000,
 | 
			
		||||
          position: 'top',
 | 
			
		||||
          onClosed: function(){
 | 
			
		||||
@ -281,7 +281,7 @@
 | 
			
		||||
    }
 | 
			
		||||
    ws.onclose = function () {
 | 
			
		||||
        mdui.snackbar({
 | 
			
		||||
          message: '实时通道断开',
 | 
			
		||||
          message: '{{tr "RealtimeChannelDisconnect"}}',
 | 
			
		||||
          timeout: 2000,
 | 
			
		||||
          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-tab mdui-color-theme" mdui-tab>
 | 
			
		||||
      {{if .IsAdminPage}}
 | 
			
		||||
      <a href="/server" class="mdui-ripple mdui-ripple-white mdui-hoverable "><i class="mdui-icon material-icons">computer</i>主机</a>
 | 
			
		||||
      <a href="/monitor" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">accessibility</i>服务</a>
 | 
			
		||||
      <a href="/cron" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">access_time</i>任务</a>
 | 
			
		||||
      <a href="/notification" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">notifications</i>报警</a>
 | 
			
		||||
      <a href="/setting" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">settings</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>{{tr "Services"}}</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>{{tr "Notification"}}</a>
 | 
			
		||||
      <a href="/setting" class="mdui-ripple mdui-ripple-white mdui-hoverable"><i class="mdui-icon material-icons">settings</i>{{tr "Settings"}}</a>
 | 
			
		||||
      {{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="/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="/" 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>{{tr "Services"}}</a>
 | 
			
		||||
      {{end}}
 | 
			
		||||
      <div class="mdui-toolbar-spacer"></div>
 | 
			
		||||
      {{if .Admin}}
 | 
			
		||||
        {{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}}
 | 
			
		||||
        <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}}
 | 
			
		||||
        <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}}
 | 
			
		||||
      <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}}
 | 
			
		||||
    </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">
 | 
			
		||||
        <thead>
 | 
			
		||||
          <tr>
 | 
			
		||||
            <th class="mdui-text-center">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">Details of Last 30 Days</th>
 | 
			
		||||
            <th class="mdui-text-center">Now</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'}">{{tr "Availability"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "30DaysOnline"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "Status"}}</th>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
        <tbody>
 | 
			
		||||
@ -41,13 +41,13 @@
 | 
			
		||||
              {{range $i,$d := $service.Delay}}
 | 
			
		||||
                {{$percent := (div (index $service.Up $i) (add (index $service.Up $i) (index $service.Down $i)))}}
 | 
			
		||||
                {{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}}
 | 
			
		||||
                <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}}
 | 
			
		||||
                <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}}
 | 
			
		||||
                <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}}
 | 
			
		||||
            </td>
 | 
			
		||||
@ -74,20 +74,20 @@
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    {{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">
 | 
			
		||||
      <table class="mdui-table mdui-table-hoverable">
 | 
			
		||||
        <thead>
 | 
			
		||||
          <tr>
 | 
			
		||||
            <th class="mdui-text-center">ID</th>
 | 
			
		||||
            <th class="mdui-text-center">Rule</th>
 | 
			
		||||
            <th class="mdui-text-center">Sever</th>
 | 
			
		||||
            <th class="mdui-text-center">Date From</th>
 | 
			
		||||
            <th class="mdui-text-center">Date To</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "Rules"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "Server"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "From"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "To"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">MAX</th>
 | 
			
		||||
            <th class="mdui-text-center">MIN</th>
 | 
			
		||||
            <th class="mdui-text-center">Check Next</th>
 | 
			
		||||
            <th class="mdui-text-center">Usage</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "NextCheck"}}</th>
 | 
			
		||||
            <th class="mdui-text-center">{{tr "CurrentUsage"}}</th>
 | 
			
		||||
          </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
        <tbody>
 | 
			
		||||
 | 
			
		||||
@ -18,18 +18,18 @@
 | 
			
		||||
<body>
 | 
			
		||||
  <div class="mdui-container" id="container">
 | 
			
		||||
    <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-textfield">
 | 
			
		||||
          <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">
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <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>
 | 
			
		||||
@ -52,7 +52,7 @@
 | 
			
		||||
          window.location.href = res.url;
 | 
			
		||||
        } else {
 | 
			
		||||
          mdui.snackbar({
 | 
			
		||||
           message: '密码错误',
 | 
			
		||||
           message: '{{tr "WrongPassword"}}',
 | 
			
		||||
           position: 'top',
 | 
			
		||||
           timeout: 2000,
 | 
			
		||||
         });
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user