From 0cc7b55a04bc96c76e8ac3b02793dff1c69e578a Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期二, 14 四月 2026 15:02:26 +0800
Subject: [PATCH] 1
---
WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs | 226 --------------------------------------------------------
1 files changed, 1 insertions(+), 225 deletions(-)
diff --git a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs
index 516fce3..166d420 100644
--- a/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs
+++ b/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/ISys_LogService.cs
@@ -1,238 +1,14 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
-using System;
+锘縰sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
-using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseServices;
using WIDESEAWCS_Model.Models;
namespace WIDESEAWCS_ISystemServices
{
- #region 瀹炰綋绫�
- public class DirInfo
- {
- /// <summary>
- /// 褰撳墠璺緞
- /// </summary>
- public string dirPath { get; set; }
-
- /// <summary>
- /// 褰撳墠鍚嶇О
- /// </summary>
- public string dirName { get; set; }
-
- /// <summary>
- /// 瀛愭枃浠�
- /// </summary>
- public List<FileDataInfo> files { get; set; }
-
- /// <summary>
- /// 瀛愭枃浠跺す
- /// </summary>
- public List<DirInfo> dirs { get; set; }
- }
-
- public class FileDataInfo
- {
- public string filePath { get; set; }
-
- public string fileName { get; set; }
-
- public long fileSize { get; set; }
- }
-
- public class GetLogParm
- {
- /// <summary>
- /// 鏂囦欢鍦板潃
- /// </summary>
- public string path;
-
- /// <summary>
- /// 璇诲彇杩涘害
- /// </summary>
- public float percent;
-
- /// <summary>
- /// 鏈�澶ц鍙栧ぇ灏�
- /// </summary>
- public double maxsize_KB = 20;
-
- /// <summary>
- /// 褰撳墠璧峰浣嶇疆
- /// </summary>
- public long topStartPos = 0;
- }
- #endregion
public interface ISys_LogService : IService<Sys_Log>
{
- /// <summary>
- /// 閫掑綊鑾峰彇鏂囦欢淇℃伅
- /// </summary>
- /// <param name="dirPath"></param>
- /// <returns></returns>
- private DirInfo GetDirInfo(string dirPath)
- {
- //褰撳墠鏂囦欢澶�
- var dirInfo = new DirInfo();
- dirInfo.dirName = Path.GetFileName(dirPath);
-
- //瀛愭枃浠�
- List<FileDataInfo> files = new List<FileDataInfo>();
- foreach (var file in Directory.GetFiles(dirPath))
- {
- files.Add(new FileDataInfo()
- {
- filePath = file,
- fileName = Path.GetFileName(file)
- });
- }
-
- //瀛愭枃浠跺す
- var dirs = Directory.GetDirectories(dirPath);
- dirInfo.dirs = new List<DirInfo>();
- foreach (var dir in dirs)
- {
- dirInfo.dirs.Add(GetDirInfo(dir));
- }
-
- //瀛愭枃浠跺す锛屼笌瀛愮洰褰曞悎骞�
- foreach (var file in files)
- {
- dirInfo.dirs.Add(new DirInfo() { dirPath = file.filePath, dirName = file.fileName });
- }
- return dirInfo;
- }
-
- /// <summary>
- /// 鑾峰彇鏃ュ織鏂囦欢鍒楄〃
- /// </summary>
- /// <returns></returns>
- public WebResponseContent GetLogList()
- {
- WebResponseContent content = new WebResponseContent();
- string path = System.Environment.CurrentDirectory + "/log";
- if (!System.IO.Directory.Exists(path))
- {
- return content.Error("鏆傛棤鏃ュ織鏂囦欢");
- }
-
- content.Data = GetDirInfo(path);
- content.OK();
- return content;
- }
-
- /// <summary>
- /// 鑾峰彇鏂囦欢鍐呭
- /// </summary>
- /// <param name="parm"></param>
- /// <returns></returns>
- public WebResponseContent GetLogData(GetLogParm parm)
- {
- WebResponseContent content = new WebResponseContent();
- string res = "";
- //鏄惁璇诲彇鍒版渶鍚�
- bool isEnd = false;
- long startIndex = 0;
- //鏂囦欢澶у皬
- long len = 0;
- try
- {
- if (!System.IO.File.Exists(parm.path))
- {
- throw new Exception($"鏂囦欢{parm.path}涓嶅瓨鍦紒");
- }
- using (FileStream fs = new FileStream(parm.path, FileMode.Open, FileAccess.Read, FileShare.Read))
- {
- //鏈�澶ц鍙栧ぇ灏�
- int maxsize = (int)(1024 * parm.maxsize_KB);
- len = fs.Length;
- long startPos = (long)(len * (parm.percent / 100));//璧峰浣嶇疆
- long readLen = len - startPos;//璇诲彇闀垮害
-
- //鍚戝墠鍔犺浇
- if (parm.topStartPos != 0)
- {
- startPos = parm.topStartPos - maxsize;
- if (startPos < 0)
- {
- //宸茶鍒拌捣濮嬩綅
- startPos = 0;
- readLen = parm.topStartPos;
- }
- else
- {
- readLen = maxsize;
- }
- }
- else
- {
- //璇诲彇澶у皬鏄惁瓒呭嚭鏈�澶ч暱搴�
- if (readLen > maxsize)
- {
- readLen = maxsize;
- }
- else
- {
- isEnd = true;
- }
- }
-
- //鍔犺浇100%锛屾寜鏈�澶у唴瀹硅鍙�
- if (parm.percent == 100)
- {
- if (len < maxsize)
- {
- startPos = 0;
- readLen = len;
- }
- else
- {
- startPos = len - maxsize;
- readLen = maxsize;
- }
- }
-
- fs.Seek(startPos, SeekOrigin.Begin);
- var buffer = new byte[readLen];
- fs.Read(buffer, 0, (int)readLen);
-
- startIndex = startPos;
- if (startPos != 0 && (parm.percent != 0 || parm.topStartPos != 0))
- {
- //涓嶆槸浠庡ご鍔犺浇锛屽垹闄ゅ彲鑳戒笉瀹屾暣鐨勭涓�琛�
- int skipCount = 0;
- for (int i = 0; i < buffer.Length; i++)
- {
- if (buffer[i] == 10)
- {
- skipCount = i;
- break;
- }
- }
- if (skipCount != 0)
- {
- //鍘绘帀鎹㈣
- skipCount++;
- //涓嬫璇诲彇鍓嶅欢
- startIndex += skipCount;
- }
- res = Encoding.UTF8.GetString(buffer.Skip(skipCount).ToArray());
- }
- else
- {
- res = Encoding.UTF8.GetString(buffer);
- }
- }
- }
- catch (Exception ex)
- {
- return content.Error(ex.Message);
- }
- return content.OK(data: new { content = res, isEnd, startIndex, len });
- }
-
}
}
--
Gitblit v1.9.3