using learun.iapplication; using learun.operat; using learun.util; using EC.Web.Models; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Diagnostics; using System.Threading.Tasks; namespace EC.Web.Controllers { /// /// 版 本 EasyCode EC管理后台 /// Copyright (c) 2019-present EC管理有限公司 /// 创建人:tobin /// 日 期:2019.09.26 /// 描 述:主页面模块控制器 /// public class HomeController : MvcControllerBase { private readonly LogIBLL _logIBLL; private readonly IHttpContextAccessor _iHttpContextAccessor; public HomeController(LogIBLL logIBLL, IHttpContextAccessor iHttpContextAccessor) { _logIBLL = logIBLL; _iHttpContextAccessor = iHttpContextAccessor; } #region 视图功能 /// /// 主页面 /// /// [HttpGet] public IActionResult Index() { string uitheme = GetCookies("lr_adms_core_ui"); switch (uitheme) { case "1": return View("AdminDefault"); // 经典版本 case "2": return View("AdminAccordion"); // 手风琴版本 case "3": return View("AdminWindos"); // Windows版本 case "4": return View("AdminTop"); // 顶部菜单版本 default: return View("AdminDefault"); // 经典版本 } } /// /// 桌面 /// /// public async Task AdminDesktop() { var userInfo = await this.CurrentUser(); string uItheme = userInfo.F_HeadIcon; string[] uIthemeList = ConfigHelper.GetConfig().UItheme.Split(","); bool findFlag = false; foreach (var item in uIthemeList) { findFlag |= item == uItheme; } if (!findFlag) { uItheme = "default"; } return uItheme switch { "default" => View("DesktopDefault"), // 经典版本 "accordion" => View("DesktopAccordion"), // 手风琴版本 "windows" => View("DesktopWindos"), // Windos版本 "top" => View("DesktopTop"), // 顶部菜单版本 _ => View("DesktopDefault"), // 经典版本 }; } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); } #endregion 视图功能 /// /// 访问功能 /// /// 功能模块 /// 访问路径 /// [HttpPost] public async Task VisitModule(string moduleName, string moduleUrl) { var userInfo = await this.CurrentUser(); LogEntity logEntity = new LogEntity(); logEntity.F_CategoryId = 2; logEntity.F_OperateTypeId = ((int)OperationType.Visit).ToString(); logEntity.F_OperateType = EnumAttribute.GetDescription(OperationType.Visit); logEntity.F_OperateAccount = userInfo.F_Account; logEntity.F_OperateUserId = userInfo.F_UserId; logEntity.F_Module = moduleName; logEntity.F_ExecuteResult = 1; logEntity.F_IPAddress = _iHttpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString(); logEntity.F_ExecuteResultJson = "访问地址:" + moduleUrl; await _logIBLL.Write(logEntity); return Success("ok"); } } }