1111
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
namespace Application.Domain.Entity
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
7
Service/Application.Domain/Cache/BaseCache.cs
Normal file
7
Service/Application.Domain/Cache/BaseCache.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Application.Domain;
|
||||
|
||||
public class BaseCache
|
||||
{
|
||||
public static string BaseCacheKey = "BaseGameCache:{0}";
|
||||
public static string BaseCacheKeys = "BaseGameCache:{0}:{1}";
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace Application.Domain
|
||||
{
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
4
Service/Application.Domain/GlobalUsings.cs
Normal file
4
Service/Application.Domain/GlobalUsings.cs
Normal file
@@ -0,0 +1,4 @@
|
||||
global using Photon.Core;
|
||||
global using SqlSugar;
|
||||
global using Application.Domain.Entity;
|
||||
global using Photon.Core.Redis;
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace Application.Domain;
|
||||
|
||||
public interface IAreaService
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取所有区服
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
Task<List<game_area>> GetAreaData();
|
||||
/// <summary>
|
||||
/// 获取区服信息
|
||||
/// </summary>
|
||||
/// <param name="areaId"></param>
|
||||
/// <returns></returns>
|
||||
Task<game_area> GetAreaInfo(int areaId);
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
namespace Application.Domain;
|
||||
|
||||
public class AreaService : IAreaService, ITransient
|
||||
{
|
||||
private readonly ISqlSugarClient _dbClient;
|
||||
private readonly IRedisCache _redisClient;
|
||||
|
||||
public AreaService(ISqlSugarClient dbClient, IRedisCache redisClient)
|
||||
{
|
||||
_dbClient = dbClient;
|
||||
_redisClient = redisClient;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有区服
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public async Task<List<game_area>> GetAreaData()
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "AreaData");
|
||||
if (await _redisClient.ExistsAsync(key))
|
||||
{
|
||||
return await _redisClient.GetAsync<List<game_area>>(key);
|
||||
}
|
||||
else
|
||||
{
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_area>();
|
||||
var data = await db.Queryable<game_area>().ToListAsync();
|
||||
await _redisClient.SetAsync(key, data);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<game_area> GetAreaInfo(int areaId)
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKeys, "AreaData", areaId);
|
||||
if (await _redisClient.ExistsAsync(key))
|
||||
{
|
||||
return await _redisClient.GetAsync<game_area>(key);
|
||||
}
|
||||
else
|
||||
{
|
||||
var db = _dbClient.AsTenant().GetConnectionWithAttr<game_area>();
|
||||
var data = await db.Queryable<game_area>().Where(it => it.areaId == areaId).SingleAsync();
|
||||
await _redisClient.SetAsync(key, data);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
private async Task ClearAreaCache(int areaId = 0)
|
||||
{
|
||||
string key = string.Format(BaseCache.BaseCacheKey, "AreaData");
|
||||
await _redisClient.DelAsync(key);
|
||||
if (areaId != 0)
|
||||
{
|
||||
key = string.Format(BaseCache.BaseCacheKeys, "AreaData", areaId);
|
||||
await _redisClient.DelAsync(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,4 +15,10 @@
|
||||
<Folder Include="wwwroot\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Update="applicationsettings.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -2,6 +2,15 @@
|
||||
{
|
||||
public class StateHelper
|
||||
{
|
||||
public static bool isOnline
|
||||
{
|
||||
get
|
||||
{
|
||||
var token = App.HttpContext.GetTokenInfo();
|
||||
return token != null;
|
||||
}
|
||||
}
|
||||
|
||||
public static string userId
|
||||
{
|
||||
get {
|
||||
@@ -14,7 +23,7 @@
|
||||
get
|
||||
{
|
||||
var token = App.HttpContext.GetTokenInfo();
|
||||
return token.Claims["sid"];
|
||||
return token.Claims["token"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
|
||||
using Microsoft.OpenApi.Models;
|
||||
using Photon.Core.Redis;
|
||||
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
@@ -9,7 +10,7 @@ builder.Services.Inject(new List<string> {
|
||||
});//框架初始化
|
||||
|
||||
builder.Configuration.RegisterConfig();//注入配置
|
||||
builder.Services.InjectMemory();
|
||||
builder.Services.InjectRedis(builder.Configuration);
|
||||
builder.Services.InjectSql(builder.Configuration);
|
||||
|
||||
#region JWT与接口配置
|
||||
|
||||
@@ -1,19 +1,29 @@
|
||||
{
|
||||
"AutoProgram": 0,
|
||||
"Redis": {
|
||||
"connection": "127.0.0.1,password=,defaultdatabase=1"
|
||||
"connection": "127.0.0.1:6379,password=,defaultdatabase=5"
|
||||
},
|
||||
"SqlData": [
|
||||
{
|
||||
"type": 0,
|
||||
"name": "KgDb",
|
||||
"connect": "data source=kx.iyba.cn;database=kx.petera;user id=root;password=1f5ozxRGE3Y;pooling=true;port=23306;sslmode=Required;charset=utf8mb4;"
|
||||
"name": "Kg.SeaTime.Game",
|
||||
"connect": "data source=192.168.0.88;database=kg.seatime.game;user id=root;password=1f5ozxRGE3Y;pooling=true;port=3306;sslmode=Required;charset=utf8mb4;"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"name": "Kg.SeaTime.Resource",
|
||||
"connect": "data source=192.168.0.88;database=kg.seatime.resource;user id=root;password=1f5ozxRGE3Y;pooling=true;port=3306;sslmode=Required;charset=utf8mb4;"
|
||||
},
|
||||
{
|
||||
"type": 0,
|
||||
"name": "Kg.SeaTime.Log",
|
||||
"connect": "data source=192.168.0.88;database=kg.seatime.log;user id=root;password=1f5ozxRGE3Y;pooling=true;port=3306;sslmode=Required;charset=utf8mb4;"
|
||||
}
|
||||
],
|
||||
"JwtTokenOptions": {
|
||||
"Issuer": "kx.petera",
|
||||
"Audience": "kx.petera",
|
||||
"SecurityKey": "DAbdA9fF9MYXDCFBEb75WKWWDAbDBWQi"
|
||||
"Issuer": "kx.seatime",
|
||||
"Audience": "kx.seatime",
|
||||
"SecurityKey": "46055HR0n7FeNHhDKAYD2i9ZsdsYn4jn"
|
||||
},
|
||||
"ResUrl": {
|
||||
"local": "http://192.168.0.142:5298",
|
||||
|
||||
Reference in New Issue
Block a user