Make controllers async, handle /Index/version better, more version logging
This commit is contained in:
parent
42c07d68d3
commit
431fdb6f9e
|
@ -9,7 +9,7 @@ namespace Elisa.Controllers;
|
|||
public class CommandController : ControllerBase
|
||||
{
|
||||
[HttpGet("command")]
|
||||
public IResult Command([FromQuery] string command)
|
||||
public async Task<IResult> Command([FromQuery] string command)
|
||||
{
|
||||
CommandHandlerFactory.HandleCommand(command);
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using Microsoft.AspNetCore.Http;
|
||||
using Elisa.Utils;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Elisa.Controllers;
|
||||
|
@ -8,18 +9,18 @@ namespace Elisa.Controllers;
|
|||
public class IndexController : ControllerBase
|
||||
{
|
||||
[HttpGet("version")]
|
||||
public IResult Version([FromQuery] string req_id)
|
||||
public async Task<IResult> Version([FromQuery] string req_idreturn)
|
||||
{
|
||||
return Results.Json(new
|
||||
{
|
||||
now = "1716182820",
|
||||
tomorrow_zero = "1716192000",
|
||||
month_zero = 1714550400,
|
||||
next_month_zero = 1717228800,
|
||||
now = DateTime.Now.ToUnixSeconds(),
|
||||
tomorrow_zero = Time.GetTomorrowZero(),
|
||||
month_zero = Time.GetCurrentMonthZero(),
|
||||
next_month_zero = Time.GetNextMonthZero(),
|
||||
timezone = "PST8PDT",
|
||||
data_version = "d630eea53a1b869fa4d7d1479a3d09e7",
|
||||
client_version = "30400",
|
||||
ab_version = "2024051417",
|
||||
data_version = Program.DataVersion,
|
||||
client_version = Program.ClientVersion,
|
||||
ab_version = Program.ABVersion,
|
||||
is_kick = "0",
|
||||
weekday = 1,
|
||||
authentication_url = $"http://realauth.ucenter.ppgame.com/authoriz.html?appid={0}&openid={1}&accounttype=1&language=zh"
|
||||
|
|
|
@ -3,6 +3,7 @@ using Elisa.Data;
|
|||
using Microsoft.Extensions.Configuration;
|
||||
using Serilog;
|
||||
using Serilog.Events;
|
||||
using Serilog.Sinks.SystemConsole.Themes;
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
|
||||
|
@ -10,6 +11,10 @@ namespace Elisa;
|
|||
|
||||
internal static class Program
|
||||
{
|
||||
public static string ClientVersion = 30400.ToString();
|
||||
public static string DataVersion = "d630eea53a1b869fa4d7d1479a3d09e7";
|
||||
public static string ABVersion = 2024051417.ToString();
|
||||
|
||||
static IConfiguration config = null!;
|
||||
|
||||
public static void Main(string[] args)
|
||||
|
@ -18,6 +23,9 @@ internal static class Program
|
|||
SetupSerilog();
|
||||
|
||||
Log.Information($"Version {Assembly.GetEntryAssembly()?.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?.InformationalVersion}");
|
||||
Log.Information($"Client Version: {ClientVersion}");
|
||||
Log.Information($"Data Version: {DataVersion}");
|
||||
Log.Information($"AB Version: {ABVersion}");
|
||||
Log.Information($"Starting {Assembly.GetEntryAssembly()?.GetName().Name}...");
|
||||
|
||||
Stopwatch stopwatch = Stopwatch.StartNew();
|
||||
|
@ -26,7 +34,7 @@ internal static class Program
|
|||
Table.Load();
|
||||
}
|
||||
stopwatch.Stop();
|
||||
Log.Information($"Done! loaded in {stopwatch.ElapsedMilliseconds}ms");
|
||||
Log.Information($"Done! Loaded in {stopwatch.ElapsedMilliseconds}ms");
|
||||
|
||||
Task.Run(GameServer.Start).Wait();
|
||||
}
|
||||
|
@ -54,7 +62,7 @@ internal static class Program
|
|||
}
|
||||
|
||||
Log.Logger = new LoggerConfiguration()
|
||||
.WriteTo.Console()
|
||||
.WriteTo.Console(theme: AnsiConsoleTheme.Literate)
|
||||
.WriteTo.File(logFilePath, restrictedToMinimumLevel: LogEventLevel.Verbose, shared: true)
|
||||
.ReadFrom.Configuration(config)
|
||||
.CreateBootstrapLogger();
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
namespace Elisa.Utils;
|
||||
|
||||
internal static class DateTimeExtensions
|
||||
{
|
||||
public static long ToUnixSeconds(this DateTime dateTime)
|
||||
=> (long)(dateTime - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
|
||||
}
|
||||
|
||||
public static class Time
|
||||
{
|
||||
public static long GetTomorrowZero()
|
||||
=> new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0, DateTimeKind.Utc).AddDays(1).ToUnixSeconds();
|
||||
|
||||
public static long GetCurrentMonthZero()
|
||||
=> new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1, 0, 0, 0, DateTimeKind.Utc).ToUnixSeconds();
|
||||
|
||||
public static long GetNextMonthZero()
|
||||
=> new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1, 0, 0, 0, DateTimeKind.Utc).AddMonths(1).ToUnixSeconds();
|
||||
}
|
Loading…
Reference in New Issue