Yuebon.WebApi/Areas/Security/Controllers/SysSettingController.cs

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Runtime.InteropServices;
using Yuebon.Commons;
using Yuebon.Commons.Encrypt;

namespace Yuebon.WebApi.Areas.Security;

/// <summary>
/// 系统基本信息
/// </summary>
[Route("api/Security/[controller]")]
[ApiController]
public class SysSettingController : ApiController
{

    private readonly IWebHostEnvironment _hostingEnvironment;
    private readonly IUserService userService;
    private readonly IMenuService menuService;
    //private readonly IRoleService roleService;
    /// <summary>
    /// 
    /// </summary>
    /// <param name="hostingEnvironment"></param>
    /// <param name="_userService"></param>
    /// <param name="_menuService"></param>
    public SysSettingController(IWebHostEnvironment hostingEnvironment, IUserService _userService, IMenuService _menuService)
    {
        _hostingEnvironment = hostingEnvironment;
        userService = _userService;
        menuService = _menuService;
    }

    /// <summary>
    /// 获取系统信息
    /// </summary>
    /// <returns></returns>
    [HttpGet("GetSysInfo")]
    [YuebonAuthorize("GetSysInfo")]
    public async Task<IActionResult> GetSysInfo()
    {
        CommonResult result = new CommonResult();
        try
        {
            SysSetting sysSetting = XmlConverter.Deserialize<SysSetting>("xmlconfig/sys.config");
            YuebonCacheHelper yuebonCacheHelper = new YuebonCacheHelper();
            yuebonCacheHelper.Add("SysSetting", sysSetting);
            DashboardOutModel dashboardOutModel = new DashboardOutModel();
            dashboardOutModel.CertificatedCompany = sysSetting.CompanyName;
            dashboardOutModel.WebUrl = sysSetting.WebUrl;
            dashboardOutModel.Title = sysSetting.SoftName;
            dashboardOutModel.MachineName = Environment.MachineName;
            dashboardOutModel.ProcessorCount= Environment.ProcessorCount;
            dashboardOutModel.SystemPageSize = Environment.SystemPageSize;
            dashboardOutModel.WorkingSet = Environment.WorkingSet;
            dashboardOutModel.TickCount = Environment.TickCount;
            dashboardOutModel.RunTimeLength = (Environment.TickCount/1000).ToBrowseTime();
            dashboardOutModel.FrameworkDescription = RuntimeInformation.FrameworkDescription;
            dashboardOutModel.OSName = RuntimeInformation.IsOSPlatform(OSPlatform.Linux) ? "Linux" : RuntimeInformation.IsOSPlatform(OSPlatform.OSX) ? "OSX" : "Windows";
            dashboardOutModel.OSDescription = RuntimeInformation.OSDescription + " " + RuntimeInformation.OSArchitecture;
            dashboardOutModel.OSArchitecture = RuntimeInformation.OSArchitecture.ToString();
            dashboardOutModel.ProcessArchitecture = RuntimeInformation.ProcessArchitecture.ToString();
后面还有 155 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。