using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static BeetleX.Redis.Commands.HSCAN; using static IRaCIS.Core.Application.Service.Common.SystemMonitor; namespace IRaCIS.Core.Application.Helper { public static class InternationalizationHelper { public static async void AddOrUpdateJsonKeyValueAsync(string key, string value) { var jsonFileFolder = Path.Combine(AppContext.BaseDirectory, StaticData.Folder.Resources); if (!Directory.Exists(jsonFileFolder) || Directory.GetFiles(jsonFileFolder).Any(filePath => Path.GetExtension(filePath).Equals(".json", StringComparison.OrdinalIgnoreCase))) { throw new BusinessValidationFailedException("国际化Json文件目录有误"); } // foreach (var filePath in Directory.GetFiles(jsonFileFolder).Where(filePath => Path.GetExtension(filePath).Equals(".json", StringComparison.OrdinalIgnoreCase))) { var json = await File.ReadAllTextAsync(filePath); JObject jsonObject = JObject.Parse(json, new JsonLoadSettings() { CommentHandling = CommentHandling.Load }); // 添加或更新指定的键值对 jsonObject[key] = value; await File.WriteAllTextAsync(filePath, jsonObject.ToString()); } } } }