using IniParser; using SWS.Commons; using SWS.Service; using System; using System.IO; namespace SWS.CAD.Helper { public class ConfigService { public string path = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\AppData\Roaming\SWS\Config.ini"); public FileIniDataParser parser = new FileIniDataParser(); public HttpService _httpService; /// /// config.ini 给默认值,且创建出来 /// void SetDefaultConfigValue() { if (!File.Exists(path)) {//默认值 var data = parser.Parser.Parse(""); data["Profile"]["Address"] = "1.117.161.11"; data["Profile"]["Port"] = "8080"; string userProfilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); data["Profile"]["Directory"] = $"{userProfilePath}\\AppData\\Roaming\\SWS"; Directory.CreateDirectory(Path.GetDirectoryName(path)); parser.WriteFile(path, data); GlobalObject.isConfigIniCreateBySys = true; } else { GlobalObject.isConfigIniCreateBySys = false; } } public ConfigService(HttpService httpService) { _httpService = httpService; SetDefaultConfigValue(); string address; int port; string locDrawingPath; Read(out address, out port,out locDrawingPath); _httpService.Init(address, port); } public void Read(out string address, out int port, out string directory) { var data = parser.ReadFile(path); address = data["Profile"]["Address"]; port = int.Parse(data["Profile"]["Port"]); directory = data["Profile"]["Directory"]; } /// /// 查询某个 /// /// /// public string Read(string keyName) { var data = parser.ReadFile(path); return data["Profile"][keyName]; } /// /// 查询某个 /// /// 节点 /// key名称 /// public string Read(string session,string keyName) { try { var data = parser.ReadFile(path); return data[session][keyName]; } catch { return null; } } /// /// 保存某个 /// /// /// public void Save(string keyName, string value) { var data = parser.ReadFile(path); data["Profile"][keyName] = value; parser.WriteFile(path, data); } /// /// 保存某个值 /// /// 节点 /// key名称 /// 值 public void Save(string session, string keyName, string value) { var data = parser.ReadFile(path); data[session][keyName] = value; parser.WriteFile(path, data); } } }