122 lines
4.3 KiB
C#
Raw Normal View History

2025-08-15 15:36:40 +08:00
using IniParser;
using SWS.Commons;
using System;
using System.IO;
using static System.Collections.Specialized.BitVector32;
2025-08-15 15:36:40 +08:00
namespace SWS.Service
{
public class ConfigService
{
public string path = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\AppData\Roaming\BricsCAD Electrical\Config\AppConfig.ini");
public FileIniDataParser parser = new FileIniDataParser();
public HttpService _httpService;
/// <summary>
/// config.ini 给默认值,且创建出来
/// </summary>
void SetDefaultConfigValue()
{
if (!File.Exists(path))
{
//默认值
2025-08-15 15:36:40 +08:00
var data = parser.Parser.Parse("");
data["Profile"]["strIPAddress"] = "1.117.161.11";
data["Profile"]["nPort"] = "8080";
string userProfilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
data["Profile"]["strLocalWorkDir"] = $"{userProfilePath}\\AppData\\Roaming\\BricsCAD Electrical";
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);
2025-08-15 15:36:40 +08:00
_httpService.Init(address, port);
}
2025-08-15 15:36:40 +08:00
public void Read(out string address, out int port, out string directory)
{
//var data = parser.ReadFile(path);
//address = data["Profile"]["strIPAddress"];
//port = int.Parse(data["Profile"]["nPort"]);
//directory = data["Profile"]["strLocalWorkDir"];
address = IniHelper.ReadValueFromIniFile("Profile", "strIPAddress");
2025-09-15 18:35:41 +08:00
string portString = IniHelper.ReadValueFromIniFile("Profile", "nPort");
int.TryParse(portString?.Trim(), out port);
//port = int.Parse(IniHelper.ReadValueFromIniFile("Profile", "nPort"));
directory = IniHelper.ReadValueFromIniFile("Profile", "strLocalWorkDir");
2025-08-15 15:36:40 +08:00
}
2025-08-15 15:36:40 +08:00
/// <summary>
/// 查询某个
/// </summary>
/// <param name="keyName"></param>
/// <returns></returns>
public string Read(string keyName)
{
//var data = parser.ReadFile(path);
//return data["Profile"][keyName];
var data = IniHelper.ReadValueFromIniFile("Profile", keyName);
return data;
2025-08-15 15:36:40 +08:00
}
/// <summary>
/// 查询某个
/// </summary>
/// <param name="session">节点</param>
/// <param name="keyName">key名称</param>
/// <returns></returns>
public string Read(string session, string keyName)
2025-08-15 15:36:40 +08:00
{
try
{
//var data = parser.ReadFile(path);
//return data[session][keyName];
var data = IniHelper.ReadValueFromIniFile(session, keyName);
return data;
2025-08-15 15:36:40 +08:00
}
catch
2025-08-15 15:36:40 +08:00
{
return null;
}
}
/// <summary>
/// 保存某个
/// </summary>
/// <param name="keyName"></param>
/// <param name="value"></param>
public void Save(string keyName, string value)
{
//var data = parser.ReadFile(path);
//data["Profile"][keyName] = value;
//parser.WriteFile(path, data);
IniHelper.WriteValueFromIniFile("Profile", keyName, value);
2025-08-15 15:36:40 +08:00
}
/// <summary>
/// 保存某个值
/// </summary>
/// <param name="session">节点</param>
/// <param name="keyName">key名称</param>
/// <param name="value">值</param>
public void Save(string session, string keyName, string value)
{
//var data = parser.ReadFile(path);
//data[session][keyName] = value;
//parser.WriteFile(path, data);
IniHelper.WriteValueFromIniFile(session, keyName, value);
2025-08-15 15:36:40 +08:00
}
}
}