using System.Data; using System.Text.Encodings.Web; using System.Text; using System.Text.Json; using System.Text.Unicode; namespace AxibugEmuOnline.Web.Common { public class ConfigDataModel { public string DBIp{get;set;} public ushort DBPort{get;set; } public string DBName { get; set; } public string DBUname{get;set;} public string DBPwd{get;set;} public string RomDir{get;set;} public string ImageDir { get; set; } } public static class Config { public static ConfigDataModel cfg; public static bool LoadConfig() { try { string path = System.Environment.CurrentDirectory + "//config.cfg"; if (!File.Exists(path)) { ConfigDataModel sampleCfg = new ConfigDataModel { DBIp = "127.0.0.1", DBPort = 3306, DBUname = "user", DBPwd = "password", DBName = "DBName", RomDir = "./Rom", ImageDir = "./Img", }; string jsonString = JsonSerializer.Serialize(sampleCfg, new JsonSerializerOptions() { // 整齐打印 WriteIndented = true, //重新编码,解决中文乱码问题 Encoder = JavaScriptEncoder.Create(UnicodeRanges.All) }); System.IO.File.WriteAllText(path, jsonString, Encoding.UTF8); Console.WriteLine("未找到配置,已生成模板,请浏览" + path); return false; } StreamReader sr = new StreamReader(path, Encoding.Default); String jsonstr = sr.ReadToEnd(); cfg = JsonSerializer.Deserialize(jsonstr); sr.Close(); return true; } catch (Exception ex) { Console.WriteLine("配置文件异常:" + ex.ToString()); return false; } } } }