Selaa lähdekoodia

优化了输出结果,使用layer对日志信息进行汇总,应对title长度不够的问题 (#93)

* fix: 优化日志效果

* fix: 增加弹窗说明,而不是title说明,方便直接查看整个输出内容 - 增加layer依赖项 & 优化输出格式
langren1353 1 vuosi sitten
vanhempi
sitoutus
f8ba433569

+ 1 - 1
client/backup.go

@@ -201,7 +201,7 @@ func backup(backupConf entity.BackupConfig, encryptKey string, s3Conf entity.S3C
 		if util.IsGBK(outputBytes) {
 			outputBytes, _ = util.GbkToUtf8(outputBytes)
 		}
-		log.Printf("<span style='color: #7983f5;font-weight: bold;'>%s</span> 执行shell的输出: <span title=\"%s\" style='cursor: pointer; color: #4a3a3a; font-weight: bold'>鼠标[停留]此处查看</span>\n", backupConf.ProjectName, util.EscapeShell(string(outputBytes)))
+		log.Printf("<span style='color: #7983f5;font-weight: bold;'>%s</span> 执行shell的输出: <span class='click-layer' onclick='showLayer(this)' tip=\"%s\" style='cursor: pointer; color: #4a3a3a; font-weight: bold; border: 2px dashed;'>点击此处查看</span>\n", backupConf.ProjectName, util.EscapeShell(string(outputBytes)))
 	} else {
 		log.Printf("执行shell的输出为空\n")
 	}

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
static/layer/layer.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
static/layer/mobile/layer.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
static/layer/mobile/need/layer.css


BIN
static/layer/theme/default/icon-ext.png


BIN
static/layer/theme/default/icon.png


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
static/layer/theme/default/layer.css


BIN
static/layer/theme/default/loading-0.gif


BIN
static/layer/theme/default/loading-1.gif


BIN
static/layer/theme/default/loading-2.gif


+ 26 - 1
web/writing.html

@@ -11,6 +11,7 @@
   <link rel="stylesheet" href="/static/common.css">
   <script src="/static/jquery-3.5.1.min.js"></script>
   <script src="/static/bootstrap.min.js"></script>
+  <script src="/static/layer/layer.js"></script>
 </head>
 
 <body>
@@ -299,12 +300,36 @@
       const curLogList = logList[logType]
       const totalLogList = logList[0]
       
+      const queryPageCount = totalLogList.filter(one => one.includes('请求登录')).length
       const failedCount = totalLogList.filter(one => one.includes('登录失败')).length
       const backupCount = totalLogList.filter(one => one.includes('正在备份项目')).length
       
-      const html = `备份执行次数:${backupCount}次<br/>历史登录失败:${failedCount}个<br/><br/>` + curLogList.join('<br/>')
+      const html = `备份执行次数:${backupCount}次<br/>`+
+                    `历史页面访问次数:${queryPageCount}<br/>` +
+                    `历史登录失败:${failedCount}个<br/>` +
+              
+                    `<br/>` + curLogList.join('<br/>')
       $("#logs").html(html)
     }
+    
+    function showLayer(target) {
+      let oriTip = target.getAttribute('tip')
+      const newTip = oriTip.split('\n').join('<br/>')
+      const message = newTip
+              .replace(/(\d{4}\/\d{2}\/\d{2} \d{2}:\d{2}:\d{2}\s*INFO\s*:)/gm, '<span style="color: #d8d8d8">$1</span>')
+              .replace(/(\d{4}\/\\d{2}\/\d{2} \d{2}:\d{2}:\d{2}\s*ERROR\s*:)/gm, '<span style="color: #f12e2e">$1</span>')
+      layer.open({
+        type: 1, // page 层类型
+        area: ['800px', '600px'],
+        title: '运行信息',
+        offset: '8%',
+        shade: 0.6, // 遮罩透明度
+        shadeClose: true, // 点击遮罩区域,关闭弹层
+        maxmin: true, // 允许全屏最小化
+        anim: 0, // 0-6 的动画形式,-1 不开启
+        content: `<div style="padding: 10px 20px; font-size: 14px;line-height: 26px;">${message}</div>`
+      });
+    }
 
     $(function(){
       $(".submit_btn,.submit_btn_backup_all,.submit_btn_backup_idx").on('click',function(e) {

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä