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"); } } }