Files
zszq-trs/YLErpWeb/Common/HtmlUtil.cs
T
2024-05-09 14:06:26 +08:00

62 lines
2.0 KiB
C#

using Microsoft.AspNetCore.Html;
using System.Collections;
using YLErp.Events;
namespace YLErp
{
/// <summary>
/// HTML帮助类
/// </summary>
public static class HtmlUtil
{
/// <summary>
/// JS版本(每次启动后更新,不要用于layout中的js版本设置)
/// </summary>
public static readonly string JsVersion;
//bin目录文件版本
public static readonly DateTime BinFileVersion;
static long _dataCacheUpdateTime;
static HtmlUtil()
{
//获取bin目录中YLErp开头的文件最后修改日期作为JS和CSS文件版本
var binDir = new DirectoryInfo(AppContext.BaseDirectory);
var files = binDir.GetFiles("YLErp*");
BinFileVersion = files.Any() ? files.Max(n => n.LastWriteTime) : DateTime.MinValue;
JsVersion = BinFileVersion.ToString("yyMMddHHmmss");
EventBus.Subscribe<DataCacheUpdateEvent>(t =>
{
_dataCacheUpdateTime = DateTimeOffset.Now.ToUnixTimeSeconds();
});
}
/// <summary>
/// 获取基础数据JS连接
/// </summary>
public static IHtmlContent BasicDataJs(params string[] types)
{
return new HtmlString(types == null ? "/front/basicData" :
$"/front/basicData?types={string.Join("&types=", types)}&t={_dataCacheUpdateTime}");
}
/// <summary>
/// 获取基础数据JS连接(无缓存版本)
/// </summary>
public static IHtmlContent BasicDataJsV2(params string[] types)
{
return new HtmlString(types == null ? "/front/basicData" :
$"/front/basicData?types={string.Join("&types=", types)}&t={DateTime.Now.Ticks}");
}
/// <summary>
///
/// </summary>
public static string DateStr(DateTime dt)
{
return dt.Year < 1000 ? string.Empty : dt.ToString("yyyy-MM-dd");
}
}
}