108 lines
3.6 KiB
C#
108 lines
3.6 KiB
C#
![]() |
using System;
|
|||
|
using System.IO;
|
|||
|
using DI_Electrical.Services;
|
|||
|
using IniParser;
|
|||
|
|
|||
|
namespace DI_Electrical.Helper
|
|||
|
{
|
|||
|
public class ConfigService
|
|||
|
{
|
|||
|
//public string path = Environment.ExpandEnvironmentVariables(@"%USERPROFILE%\AppData\Roaming\SWS\Config.ini");
|
|||
|
public string path = GlobalObject.ConfigPath;// Path.Combine(AppDomain.CurrentDomain.BaseDirectory,@"\Config.ini");
|
|||
|
public FileIniDataParser parser = new FileIniDataParser();
|
|||
|
public HttpService _httpService;
|
|||
|
/// <summary>
|
|||
|
/// config.ini 给默认值,且创建出来
|
|||
|
/// </summary>
|
|||
|
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"];
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 查询某个
|
|||
|
/// </summary>
|
|||
|
/// <param name="keyName"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public string Read(string keyName)
|
|||
|
{
|
|||
|
var data = parser.ReadFile(path);
|
|||
|
return data["Profile"][keyName];
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 查询某个
|
|||
|
/// </summary>
|
|||
|
/// <param name="session">节点</param>
|
|||
|
/// <param name="keyName">key名称</param>
|
|||
|
/// <returns></returns>
|
|||
|
public string Read(string session,string keyName)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
var data = parser.ReadFile(path);
|
|||
|
return data[session][keyName];
|
|||
|
}
|
|||
|
catch
|
|||
|
{
|
|||
|
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);
|
|||
|
}
|
|||
|
/// <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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|