mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 07:24:52 +01:00
73 lines
4.0 KiB
C#
73 lines
4.0 KiB
C#
using EmbedIO;
|
|
using nksrv.Utils;
|
|
using Swan.Logging;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Numerics;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace nksrv.IntlServer
|
|
{
|
|
public static class IntlHandler
|
|
{
|
|
public static Dictionary<string, IntlMsgHandler> Handlers = new Dictionary<string, IntlMsgHandler>()
|
|
{
|
|
{"/login", new IntlLogin1Endpoint() }, // /account/login
|
|
{"/auth/login", new IntlLogin2Endpoint() }, // /v2/auth/login
|
|
{"/sendcode", new SendCodeEndpoint() }, // /account/sendcode
|
|
{"/codestatus", new CodeStatusEndpoint() }, //
|
|
{"/register", new IntlAccountRegisterEndpoint() }, // /account/register
|
|
{"/profile/query_account_info", new IntlQueryAccountInfo() }, // /account/register
|
|
{"/conf/get_conf", new IntlReturnJsonHandler(GetConfResp) }, // /v2/conf/get_conf
|
|
{"/minorcer/get_status", new IntlReturnJsonHandler(MinorcerResp) }, // /v2/minorcer/get_status
|
|
{"/profile/set_protocol", new IntlReturnJsonHandler(SetProtocolResp) },
|
|
{"/profile/userinfo", new IntlGetProfileInfo() },
|
|
{"/getuserinfo", new IntlGetAccountInfo() },
|
|
{"/lbs/ipregion", new IntlReturnJsonHandler(IpRegionResp) },
|
|
{"/profile/get_bind_info", new IntlGetProfileBindInfo() },
|
|
{"/gnconfig/acquire_config", new IntlReturnJsonHandler(AquireConfigResp) },
|
|
{"/auth/auto_login", new AutoLoginEndpoint() },
|
|
{"/reward/send", new IntlReturnJsonHandler(SetProtocolResp) }, // /v2/reward/send
|
|
{"/notice/get_notice_content", new GetNoticeContent() } // /v2/notice/get_notice_content
|
|
};
|
|
public const string GetConfResp = "{\"conf_version\":\"102\",\"msg\":\"\",\"ret\":1,\"seq\":\"((SEGID))\"}";
|
|
public const string MinorcerResp = "{\"adult_age\":15,\"adult_age_map\":{},\"adult_check_status\":1,\"adult_check_status_expiration\":\"0\",\"adult_status_map\":{},\"certificate_type\":3,\"email\":\"\",\"eu_user_agree_status\":0,\"game_grade\":0,\"game_grade_map\":{},\"is_dma\":true,\"is_eea\":false,\"is_need_li_cert\":false,\"msg\":\"success\",\"need_parent_control\":0,\"need_realname_auth\":0,\"parent_certificate_status\":0,\"parent_certificate_status_expiration\":\"0\",\"parent_control_map\":{},\"qr_code_ret\":0,\"realname_auth_status\":0,\"region\":\"300\",\"ret\":0,\"seq\":\"((SEGID))\",\"ts\":\"1719156511\"}";
|
|
public const string SetProtocolResp = "{\"msg\":\"success\",\"ret\":0,\"seq\":\"((SEGID))\"}";
|
|
public const string IpRegionResp = "{\"alpha2\":\"GR\",\"extra_json\":{\"certificate_type_map\":{}},\"msg\":\"success\",\"region\":\"300\",\"ret\":0,\"seq\":\"((SEGID))\",\"timestamp\":324234322}";
|
|
public const string AquireConfigResp = "{\"ret\":23111202,\"msg\":\"no matched config error( [match logic]no match )\",\"rule_id\":\"\",\"resource_list\":\"\",\"sdk_enable\":0,\"sdk_debug_enable\":0,\"report_log_enable\":0,\"log_level\":0,\"inner_seq\":\"((SEGID))\",\"ab_test\":{\"id\":\"\",\"group\":\"\"},\"seq\":\"((SEGID))\"}";
|
|
public static async Task Handle(IHttpContext context)
|
|
{
|
|
IntlMsgHandler? handler = null;
|
|
foreach (var item in Handlers)
|
|
{
|
|
if (context.RequestedPath == item.Key)
|
|
{
|
|
handler = item.Value;
|
|
}
|
|
}
|
|
|
|
if (handler == null)
|
|
{
|
|
context.Response.StatusCode = 404;
|
|
}
|
|
else
|
|
{
|
|
await handler.HandleAsync(context);
|
|
}
|
|
}
|
|
|
|
public static AccessToken CreateLauncherTokenForUser(User user)
|
|
{
|
|
AccessToken token = new() { ExpirationTime = DateTimeOffset.UtcNow.AddDays(1).ToUnixTimeSeconds() };
|
|
token.Token = Rng.RandomString(64);
|
|
token.UserID = user.ID;
|
|
JsonDb.Instance.LauncherAccessTokens.Add(token);
|
|
JsonDb.Save();
|
|
|
|
return token;
|
|
}
|
|
}
|
|
}
|