This commit is contained in:
Putoo
2026-05-20 18:32:54 +08:00
parent 2c85872abd
commit 784bc66ef6
51 changed files with 1818 additions and 106 deletions

View File

@@ -154,6 +154,11 @@ namespace Application.Web.Controllers.Login
return PoAction.Message("当前区繁忙,无法进入!");
}
if (areaInfo.opTime > DateTime.Now)
{
return PoAction.Message("暂未开放本区服!");
}
//判断是否已经注册
var userData = await _userService.GetUserDataByAccId(accInfo.accId);
if (userData.Any(it => it.areaId == area))
@@ -170,7 +175,7 @@ namespace Application.Web.Controllers.Login
Dictionary<string, object> loadData = new Dictionary<string, object>();
loadData.Add("userId", userInfo.userId);
loadData.Add("accId", userInfo.accId);
loadData.Add("areaId", userInfo.areaId);
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
@@ -222,7 +227,7 @@ namespace Application.Web.Controllers.Login
Dictionary<string, object> loadData = new Dictionary<string, object>();
loadData.Add("userId", userInfo.userId);
loadData.Add("accId", userInfo.accId);
loadData.Add("areaId", userInfo.areaId);
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
@@ -238,16 +243,18 @@ namespace Application.Web.Controllers.Login
{
return PoAction.Message("刷新失败");
}
string Key = App.Configuration["JwtTokenOptions:SecurityKey"].ToString();
string Issuer = App.Configuration["JwtTokenOptions:Issuer"].ToString();
string Audience = App.Configuration["JwtTokenOptions:Audience"].ToString();
var data = JwtHelper.GetTokenPload(parms.token,Key);
string accId = string.Empty;
if (data.TryGetValue("accId", out object _accId))
var tokenData = await JwtTool.GetJwtData(parms.token, Key, "accId");
if (tokenData != null)
{
accId = _accId.ToString();
accId = tokenData.ToString();
}
var userInfo = await _userService.GetUserInfoByToken(parms.refToken);
if (userInfo == null)
{
@@ -258,12 +265,14 @@ namespace Application.Web.Controllers.Login
{
return PoAction.Message("刷新失败,数据信息不合法!");
}
Dictionary<string, object> loadData = new Dictionary<string, object>();
loadData.Add("userId", userInfo.userId);
loadData.Add("accId", userInfo.accId);
loadData.Add("areaId", userInfo.areaId);
string token = JwtHelper.CreateToken(Key, Issuer, Audience, loadData, TokenConfig.TokenTime);
return PoAction.Ok(new
{ token = token, refToken = userInfo.token, userId = userInfo.userId });
{ token = token, refToken = userInfo.token, userId = userInfo.userId });
}
/// <summary>
@@ -284,6 +293,7 @@ namespace Application.Web.Controllers.Login
{
return PoAction.Message("昵称需要1-12字符之间哦!");
}
string sex = parms.sex == 0 ? "女" : "男";
string userId = StateHelper.userId;
var userInfo = await _userService.GetUserInfoByUserId(userId);

View File

@@ -0,0 +1,61 @@
using Microsoft.AspNetCore.Mvc;
namespace Application.Web.Controllers.Map;
/// <summary>
/// 地图接口
/// </summary>
[ApiExplorerSettings(GroupName = "Map")]
[Route("Map/[controller]/[action]")]
[ApiController]
[Authorize]
public class MapController : ControllerBase
{
private readonly IUnitUserService _userService;
private readonly IGameMapService _mapService;
public MapController(IUnitUserService userService, IGameMapService mapService)
{
_userService = userService;
_mapService = mapService;
}
/// <summary>
/// 获取地图主页信息
/// </summary>
/// <param name="map"></param>
/// <returns></returns>
[HttpGet]
public async Task<IPoAction> GetMapData(string? map)
{
string userId = StateHelper.userId;
var onMap = await _mapService.GetUserOnMap(userId);
game_city_map mapInfo = new game_city_map();
if (string.IsNullOrEmpty(map))
{
mapInfo = await _mapService.GetMapInfo(onMap.mapId);
}
else
{
mapInfo = await _mapService.GetMapInfo(map);
}
//NPC信息
var npcData = await _mapService.GetMapNpc(mapInfo.mapId);
npcData = npcData.FindAll(it => GameTool.AreaVerify(StateHelper.areaId,it.areaId));
//城市信息
var cityInfo = await _mapService.GetCityInfo((int)mapInfo.cityId);
#region 线
string ip = ComHelper.GetClientUserIp(HttpContext);
await _mapService.UpdateUserOnMap(userId, ip, mapInfo.mapId);
#endregion
object ret = new { mapInfo, cityInfo, npcData };
return PoAction.Ok(ret);
}
}