using Microsoft.AspNetCore.Html;
using System.Collections;
using YLErp.Events;
namespace YLErp
{
///
/// HTML帮助类
///
public static class HtmlUtil
{
///
/// JS版本(每次启动后更新,不要用于layout中的js版本设置)
///
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(t =>
{
_dataCacheUpdateTime = DateTimeOffset.Now.ToUnixTimeSeconds();
});
}
///
/// 获取基础数据JS连接
///
public static IHtmlContent BasicDataJs(params string[] types)
{
return new HtmlString(types == null ? "/front/basicData" :
$"/front/basicData?types={string.Join("&types=", types)}&t={_dataCacheUpdateTime}");
}
///
/// 获取基础数据JS连接(无缓存版本)
///
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}");
}
///
///
///
public static string DateStr(DateTime dt)
{
return dt.Year < 1000 ? string.Empty : dt.ToString("yyyy-MM-dd");
}
}
}