mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 02:17:20 +02:00
feat: account info mock
This commit is contained in:
1 parent
53fb441b93
commit
14f848ef54
3 files changed
+280
-6
No files matched your search
@@ -1,4 +1,6 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Encodings.Web;
|
||||
using System.Text.Json;
|
||||
using System.Text.Unicode;
|
||||
|
||||
namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
{
|
||||
@@ -6,7 +8,7 @@ namespace WotBlitzStatisticsPro.Blazor.Helpers
|
||||
{
|
||||
public static string Json<T>(this T data)
|
||||
{
|
||||
return JsonSerializer.Serialize(data, new JsonSerializerOptions { WriteIndented = true });
|
||||
return JsonSerializer.Serialize(data, new JsonSerializerOptions { WriteIndented = true, Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.Cyrillic) });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,11 +42,11 @@ namespace WotBlitzStatisticsPro.Blazor
|
||||
//var useMock = Environment.GetEnvironmentVariable("USE_GRAPH_QL_MOCK");
|
||||
//if (useMock != null && useMock == "true")
|
||||
//{
|
||||
//builder.Services.AddTransient<IGraphQlBackendService, GraphQlBackendMockService>();
|
||||
builder.Services.AddTransient<IGraphQlBackendService, GraphQlBackendMockService>();
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
builder.Services.AddTransient<IGraphQlBackendService, GraphQlBackendService>();
|
||||
//builder.Services.AddTransient<IGraphQlBackendService, GraphQlBackendService>();
|
||||
//}
|
||||
|
||||
var host = builder.Build();
|
||||
|
||||
@@ -74,9 +74,122 @@ namespace WotBlitzStatisticsPro.Blazor.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
public Task<IPlayer_AccountInfo> GetPlayerInfo(long accountId, RealmType realmType)
|
||||
public async Task<IPlayer_AccountInfo> GetPlayerInfo(long accountId, RealmType realmType)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
var faker = new Faker(FakerLanguage(GetLanguage()));
|
||||
var tanksCount = faker.Random.Number(10, 280);
|
||||
var isClanInfo = faker.Random.Bool();
|
||||
|
||||
IPlayer_AccountInfo_ClanInfo clanInfo = null;
|
||||
|
||||
if (isClanInfo)
|
||||
{
|
||||
var role = GetRandomClanRole(faker, GetLanguage());
|
||||
clanInfo = new Player_AccountInfo_ClanInfo_ClanInfoResponse(
|
||||
faker.Random.Long(100000, 999999),
|
||||
faker.Date.Past(),
|
||||
role.role,
|
||||
role.roleName,
|
||||
faker.Lorem.Word(),
|
||||
faker.Date.Past(),
|
||||
faker.Random.Long(100000, 999999),
|
||||
faker.Internet.UserName(),
|
||||
faker.Lorem.Sentence(),
|
||||
faker.Lorem.Sentence(),
|
||||
faker.Random.Long(100000, 999999),
|
||||
faker.Internet.UserName(),
|
||||
faker.Random.Number(1, 50),
|
||||
faker.Lorem.Sentence(),
|
||||
faker.Hacker.Abbreviation(),
|
||||
faker.Date.Past()
|
||||
);
|
||||
}
|
||||
|
||||
var tanks = new List<IPlayer_AccountInfo_Tanks>();
|
||||
for (int i = 0; i < tanksCount; i++)
|
||||
{
|
||||
var nation = GetRandomNation(faker, GetLanguage());
|
||||
var vehicleType = GetRandomVehicleType(faker, GetLanguage());
|
||||
tanks.Add(new Player_AccountInfo_Tanks_TankInfoResponse(
|
||||
faker.Random.Long(100000, 999999),
|
||||
faker.Random.Number(500),
|
||||
faker.Date.Past(),
|
||||
faker.PickRandom<MarkOfMastery>(),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Double(500D, 2000D),
|
||||
faker.Random.Decimal(20M, 95M),
|
||||
faker.Random.Decimal(300M, 4000M),
|
||||
faker.Random.Decimal(100M, 2000M),
|
||||
faker.Random.Decimal(0M, 3M),
|
||||
faker.Random.Decimal(5M, 95M),
|
||||
faker.Random.Decimal(0M, 7M),
|
||||
faker.Name.LastName(),
|
||||
nation.nation,
|
||||
nation.nationName,
|
||||
faker.Random.Number(10),
|
||||
vehicleType.vehicleType,
|
||||
vehicleType.vehicleTypeName,
|
||||
faker.Random.Bool(),
|
||||
GetRandomPreviewImage(faker),
|
||||
GetRandomLargeImage(faker)
|
||||
));
|
||||
}
|
||||
|
||||
if (_needToWait)
|
||||
{
|
||||
await Task.Delay(1000);
|
||||
}
|
||||
|
||||
return new Player_AccountInfo_AccountInfoResponse(
|
||||
accountId,
|
||||
faker.Date.Past(),
|
||||
faker.Date.Past(),
|
||||
faker.Internet.UserName(),
|
||||
tanks[faker.Random.Number(1, tanks.Count)].TankId,
|
||||
tanks[faker.Random.Number(1, tanks.Count)].TankId,
|
||||
faker.Random.Long(1, 100000),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Long(1, 9999),
|
||||
faker.Random.Double(500D, 2000D),
|
||||
faker.Random.Decimal(20M, 95M),
|
||||
faker.Random.Decimal(300M, 4000M),
|
||||
faker.Random.Decimal(100M, 2000M),
|
||||
faker.Random.Decimal(0M, 3M),
|
||||
faker.Random.Decimal(5M, 95M),
|
||||
faker.Random.Double(2D, 9D),
|
||||
clanInfo,
|
||||
tanks
|
||||
);
|
||||
}
|
||||
|
||||
private string FakerLanguage(RequestLanguage language)
|
||||
@@ -106,5 +219,164 @@ namespace WotBlitzStatisticsPro.Blazor.Services
|
||||
return RequestLanguage.En;
|
||||
}
|
||||
}
|
||||
|
||||
private (string role, string roleName) GetRandomClanRole(Faker faker, RequestLanguage language)
|
||||
{
|
||||
var roles = new string[] {"executive_officer", "private", "commander"};
|
||||
var roleIndex = faker.Random.Number(0, 2);
|
||||
var result = (roleIndex, language) switch
|
||||
{
|
||||
(0, RequestLanguage.Ru) => "Заместитель командующего",
|
||||
(0, RequestLanguage.En) => "Executive Officer",
|
||||
(0, RequestLanguage.De) => "Ausführender Offizier",
|
||||
(1, RequestLanguage.Ru) => "Боец",
|
||||
(1, RequestLanguage.En) => "Private",
|
||||
(1, RequestLanguage.De) => "Gefreiter",
|
||||
(2, RequestLanguage.Ru) => "Командующий",
|
||||
(2, RequestLanguage.En) => "Commander",
|
||||
(2, RequestLanguage.De) => "Kommandant",
|
||||
_ => "Unknown"
|
||||
};
|
||||
|
||||
return (roles[roleIndex], result);
|
||||
}
|
||||
|
||||
private (string vehicleType, string vehicleTypeName) GetRandomVehicleType(Faker faker, RequestLanguage language)
|
||||
{
|
||||
var types = new string[] { "heavyTank", "AT-SPG", "mediumTank", "lightTank" };
|
||||
var typeIndex = faker.Random.Number(0, 3);
|
||||
var result = (roleIndex: typeIndex, language) switch
|
||||
{
|
||||
(0, RequestLanguage.Ru) => "Тяжёлый танк",
|
||||
(0, RequestLanguage.En) => "Heavy Tank",
|
||||
(0, RequestLanguage.De) => "Schwere Panzer",
|
||||
(1, RequestLanguage.Ru) => "ПТ-САУ",
|
||||
(1, RequestLanguage.En) => "Tank Destroyer",
|
||||
(1, RequestLanguage.De) => "Jagdpanzer",
|
||||
(2, RequestLanguage.Ru) => "Средний танк",
|
||||
(2, RequestLanguage.En) => "Medium Tank",
|
||||
(2, RequestLanguage.De) => "Mittlerer Panzer",
|
||||
(3, RequestLanguage.Ru) => "Легкий танк",
|
||||
(3, RequestLanguage.En) => "Light Tank",
|
||||
(3, RequestLanguage.De) => "Leichter Panzer",
|
||||
_ => "Unknown"
|
||||
};
|
||||
|
||||
return (types[typeIndex], result);
|
||||
}
|
||||
|
||||
private (string nation, string nationName) GetRandomNation(Faker faker, RequestLanguage language)
|
||||
{
|
||||
var nations = new string[] { "usa", "france", "ussr", "china", "uk", "japan", "germany", "other", "european" };
|
||||
var nationIndex = faker.Random.Number(0, 8);
|
||||
var result = (roleIndex: nationIndex, language) switch
|
||||
{
|
||||
(0, RequestLanguage.Ru) => "США",
|
||||
(0, RequestLanguage.En) => "U.S.A.",
|
||||
(0, RequestLanguage.De) => "USA",
|
||||
(1, RequestLanguage.Ru) => "Франция",
|
||||
(1, RequestLanguage.En) => "France",
|
||||
(1, RequestLanguage.De) => "Frankreich",
|
||||
(2, RequestLanguage.Ru) => "СССР",
|
||||
(2, RequestLanguage.En) => "U.S.S.R.",
|
||||
(2, RequestLanguage.De) => "UdSSR",
|
||||
(3, RequestLanguage.Ru) => "Китай",
|
||||
(3, RequestLanguage.En) => "China",
|
||||
(3, RequestLanguage.De) => "China",
|
||||
(4, RequestLanguage.Ru) => "Великобритания",
|
||||
(4, RequestLanguage.En) => "U.K.",
|
||||
(4, RequestLanguage.De) => "Großbritannien",
|
||||
(5, RequestLanguage.Ru) => "Япония",
|
||||
(5, RequestLanguage.En) => "Japan",
|
||||
(5, RequestLanguage.De) => "Japan",
|
||||
(6, RequestLanguage.Ru) => "Германия",
|
||||
(6, RequestLanguage.En) => "Germany",
|
||||
(6, RequestLanguage.De) => "Deutschland",
|
||||
(7, RequestLanguage.Ru) => "Сборная нация",
|
||||
(7, RequestLanguage.En) => "Hybrid nation",
|
||||
(7, RequestLanguage.De) => "Hybridnation",
|
||||
(8, RequestLanguage.Ru) => "Сборная Европы",
|
||||
(8, RequestLanguage.En) => "European Nation",
|
||||
(8, RequestLanguage.De) => "Europäische Nation",
|
||||
_ => "Unknown"
|
||||
};
|
||||
|
||||
return (nations[nationIndex], result);
|
||||
}
|
||||
|
||||
private string GetRandomPreviewImage(Faker faker)
|
||||
{
|
||||
var images = new string[]
|
||||
{
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/T-34.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/Ch12_111_1_2_3.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/VK3601H.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/AMX_50B.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/GB72_AT15.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/IS-4.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/T2_lt.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/D2.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/AMX40.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/T-34-85_Victory.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/IS.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/T32.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/F19_Lorraine40t.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/PzVIB_Tiger_II.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/AMX50_Foch.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/GAZ-74b.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/S17_EMIL_1952E2.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/Pz38_NA.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/M103.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/E50_Ausf_M.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/Oth17_BDT-5A.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/GB_Vickers_Light_105.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/GB23_Centurion.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/Bat_Chatillon25t.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/M4_Sherman.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/Ch23_112.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/JagdPz_E100.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd_thumbnail/T62A.png",
|
||||
};
|
||||
|
||||
return images[faker.Random.Number(images.Length - 1)];
|
||||
}
|
||||
|
||||
private string GetRandomLargeImage(Faker faker)
|
||||
{
|
||||
var images = new string[]
|
||||
{
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/T-34.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/Ch12_111_1_2_3.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/VK3601H.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/AMX_50B.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/GB72_AT15.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/IS-4.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/T2_lt.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/D2.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/AMX40.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/T-34-85_Victory.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/IS.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/T32.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/F19_Lorraine40t.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/PzVIB_Tiger_II.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/AMX50_Foch.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/GAZ-74b.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/S17_EMIL_1952E2.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/Pz38_NA.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/M103.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/E50_Ausf_M.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/Oth17_BDT-5A.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/GB_Vickers_Light_105.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/GB23_Centurion.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/Bat_Chatillon25t.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/M4_Sherman.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/Ch23_112.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/JagdPz_E100.png",
|
||||
"http://glossary-eu-static.gcdn.co/icons/wotb/current/uploaded/vehicles/hd/T62A.png",
|
||||
};
|
||||
|
||||
return images[faker.Random.Number(images.Length - 1)];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user