using System.Globalization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Milimoe.FunGame.Core.Api.Transmittal; using Milimoe.FunGame.Core.Api.Utility; using Milimoe.FunGame.Core.Library.Exception; using Oshima.Core.Constant; namespace Oshima.Core.Controllers { [ApiController] [Route("[controller]")] public class TestController(ILogger logger) : ControllerBase { private readonly ILogger _logger = logger; [HttpGet("gethmacsha512")] public string UseHMACSHA512(string msg, string key) { return msg.Encrypt(key); } [HttpGet("getlastlogintime")] public string GetLastLoginTime() { if (Statics.RunningPlugin != null) { try { SQLHelper? sql = Statics.RunningPlugin.SQLHelper; if (sql != null) { sql.ExecuteDataSet("Select Max(LoginTime) LastTime From ServerLoginLogs"); if (sql.Success && DateTime.TryParse(sql.DataSet.Tables[0].Rows[0]["LastTime"].ToString(), out DateTime date)) { string month = date.ToString("MMM", CultureInfo.InvariantCulture); int day = date.Day; string time = date.ToString("HH:mm:ss", CultureInfo.InvariantCulture); string msg = "服务器最后启动时间:" + $"{month}. {day}, {date.Year} {time}"; return NetworkUtility.JsonSerialize(msg); } } } catch (Exception e) { Statics.RunningPlugin.Controller?.Error(e); return NetworkUtility.JsonSerialize("无法调用此接口。原因:\r\n" + e.GetErrorInfo()); } } return NetworkUtility.JsonSerialize("无法调用此接口。原因:与 SQL 服务器通信失败。"); } } }