You've already forked CC-Framework.BriskGameServer
41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
/// <summary>
|
|
/// 玩家模块。
|
|
/// </summary>
|
|
public sealed class BriskPlayerModule
|
|
: BriskModuleBase
|
|
{
|
|
/// <summary>
|
|
/// 获取当前登录玩家信息。
|
|
/// </summary>
|
|
public async Task<BriskPlayerMe> GetMeAsync()
|
|
{
|
|
return await ExecuteAsync(async context =>
|
|
{
|
|
var data = await context.HttpClient.GetDataAsync("/player/me", null, true);
|
|
var result = BriskModelMapper.ToPlayerMe(data);
|
|
context.Session.Update(
|
|
context.Session.AccessToken,
|
|
context.Session.ExpiresAt,
|
|
result.PlayerId,
|
|
result.ProjectAccountId,
|
|
result.LoginProvider,
|
|
result.LoginUserId);
|
|
|
|
await context.TokenStore.SaveAsync(new BriskStoredSession
|
|
{
|
|
AccessToken = context.Session.AccessToken,
|
|
ExpiresAt = context.Session.ExpiresAt,
|
|
PlayerId = result.PlayerId,
|
|
ProjectAccountId = result.ProjectAccountId,
|
|
LoginProvider = result.LoginProvider,
|
|
LoginUserId = result.LoginUserId
|
|
});
|
|
|
|
return result;
|
|
});
|
|
}
|
|
}
|