Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 44 additions & 63 deletions KitX Dashboard/Helper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
using BasicHelper.LiteLogger;
using FluentAvalonia.UI.Media;
using KitX_Dashboard.Data;
using LiteDB;
using KitX_Dashboard.Models;
using System;
using System.Diagnostics;
using System.IO;
using System.Text.Json;
using System.Threading;
Expand All @@ -18,11 +17,6 @@ namespace KitX_Dashboard
{
public static class Helper
{
/// <summary>
/// 配置路径
/// </summary>
public readonly static string ConfigPath = Path.GetFullPath(GlobalInfo.ConfigPath);

/// <summary>
/// 启动时检查
/// </summary>
Expand All @@ -34,20 +28,6 @@ public static void StartUpCheck()

#endregion

#region 初始化 LiteDB

string DataBaseWorkBase = Path.GetFullPath(Data.GlobalInfo.DataBasePath);

if (!Directory.Exists(DataBaseWorkBase))
{
Directory.CreateDirectory(DataBaseWorkBase);
LiteDatabase pluginsDB = new($"{DataBaseWorkBase}/plugins.db");
pluginsDB.Rebuild();
pluginsDB.Dispose();
}

#endregion

#region 初始化 LiteLogger

InitLiteLogger(Program.LocalLogger);
Expand All @@ -60,14 +40,6 @@ public static void StartUpCheck()

#endregion

#region 初始化一般信息

//Program.LocalVersion = BasicHelper.Util.Version.Parse(

//);

#endregion

#region 初始化 WebServer

Program.LocalWebServer = new();
Expand All @@ -77,16 +49,15 @@ public static void StartUpCheck()

#region 初始化事件

Models.EventHandlers.ConfigSettingsChanged += () =>
EventHandlers.ConfigSettingsChanged += () =>
{
SaveInfo();
SolidColorBrush? accent = Application.Current
.Resources["ThemePrimaryAccent"] as SolidColorBrush;
Program.GlobalConfig.App.ThemeColor = new Color2(accent.Color).ToHexString();
SaveConfig();
};

#endregion

#region 初始化必要线程


EventHandlers.PluginsListChanged += () => SavePluginsListConfig();

#endregion
}
Expand All @@ -96,8 +67,6 @@ public static void StartUpCheck()
/// </summary>
public static void SaveConfig()
{
string ConfigFilePath = Path.GetFullPath($"{ConfigPath}/config.json");

JsonSerializerOptions options = new()
{
WriteIndented = true,
Expand All @@ -106,46 +75,68 @@ public static void SaveConfig()

new Thread(() =>
{

BasicHelper.IO.FileHelper.WriteIn(ConfigFilePath,
BasicHelper.IO.FileHelper.WriteIn(Path.GetFullPath(GlobalInfo.ConfigFilePath),
JsonSerializer.Serialize(Program.GlobalConfig, options));
}).Start();
}

/// <summary>
/// 保存插件列表配置
/// </summary>
public static void SavePluginsListConfig()
{
JsonSerializerOptions options = new()
{
WriteIndented = true,
IncludeFields = true,
};

new Thread(() =>
{
BasicHelper.IO.FileHelper.WriteIn(Path.GetFullPath(GlobalInfo.PluginsListConfigFilePath),
JsonSerializer.Serialize(Program.PluginsList, options));
}).Start();
}

/// <summary>
/// 读取配置
/// </summary>
public static void LoadConfig()
{
string ConfigFilePath = Path.GetFullPath($"{ConfigPath}/config.json");

Program.GlobalConfig = JsonSerializer.Deserialize<Config>(
BasicHelper.IO.FileHelper.ReadAll(ConfigFilePath));
BasicHelper.IO.FileHelper.ReadAll(Path.GetFullPath(GlobalInfo.ConfigFilePath)));
}

/// <summary>
/// 读取插件列表配置
/// </summary>
public static void LoadPluginsListConfig()
{
Program.PluginsList = JsonSerializer.Deserialize<PluginsList>(
BasicHelper.IO.FileHelper.ReadAll(Path.GetFullPath(GlobalInfo.PluginsListConfigFilePath)));
}

/// <summary>
/// 初始化配置
/// </summary>
public static void InitConfig()
{
if (!File.Exists($"{ConfigPath}/config.json"))
{
if (!Directory.Exists(ConfigPath))
Directory.CreateDirectory(ConfigPath);
SaveConfig();
}
if (!Directory.Exists(Path.GetFullPath(GlobalInfo.ConfigPath)))
_ = Directory.CreateDirectory(Path.GetFullPath(GlobalInfo.ConfigPath));
if (!File.Exists(Path.GetFullPath(GlobalInfo.ConfigFilePath))) SaveConfig();
else LoadConfig();
if (!File.Exists(Path.GetFullPath(GlobalInfo.PluginsListConfigFilePath)))
SavePluginsListConfig();
else SavePluginsListConfig();
}

/// <summary>
/// 保存信息
/// </summary>
public static void SaveInfo()
{
var accent = Application.Current.Resources["ThemePrimaryAccent"] as SolidColorBrush;
Program.GlobalConfig.App.ThemeColor = new Color2(accent.Color).ToHexString();

SaveConfig();
SavePluginsListConfig();
}

/// <summary>
Expand Down Expand Up @@ -203,24 +194,14 @@ public static void InitEnvironment()
/// <param name="kxpPath">.kxp Path</param>
public static void ImportPlugin(string kxpPath)
{
string? workbasef = Process.GetCurrentProcess().MainModule.FileName;
string? workbase = string.Empty;
if (workbasef == null)
throw new Exception("Can not get path of \"KitX Dashboard.exe\"");
else
{
workbase = Path.GetDirectoryName(workbasef);
if (workbase == null)
throw new Exception("Can not get path of \"KitX\"");
}
if (!File.Exists(kxpPath))
{
Console.WriteLine($"No this file: {kxpPath}");
throw new Exception("Plugin Package Doesn't Exist.");
}
else
{

Services.PluginsManager.ImportPlugin(new string[] { kxpPath });
}
}
}
Expand Down
8 changes: 8 additions & 0 deletions KitX Dashboard/Languages/en-us.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@


<x:String x:Key="Text_Repo_No_Plugin">No Plugin in Repository.</x:String>
<x:String x:Key="Text_Repo_Search_In_Network">Search local network</x:String>
<x:String x:Key="Text_Repo_Tip_Installed">Plugins Installed.</x:String>


<x:String x:Key="Text_PluginBar_Launch">Launch</x:String>
<x:String x:Key="Text_PluginBar_Details">Details</x:String>
<x:String x:Key="Text_PluginBar_Remove">Remove</x:String>
<x:String x:Key="Text_PluginBar_RemoveAndDelete">Remove and Delete</x:String>


<x:String x:Key="Text_Device_No">No other devices in network.</x:String>
Expand Down
8 changes: 8 additions & 0 deletions KitX Dashboard/Languages/ja-jp.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@


<x:String x:Key="Text_Repo_No_Plugin">リポジトリにプラグインがありません</x:String>
<x:String x:Key="Text_Repo_Search_In_Network">LANで検索</x:String>
<x:String x:Key="Text_Repo_Tip_Installed">インストールされたプラグイン</x:String>


<x:String x:Key="Text_PluginBar_Launch">起動</x:String>
<x:String x:Key="Text_PluginBar_Details">詳細</x:String>
<x:String x:Key="Text_PluginBar_Remove">削除する</x:String>
<x:String x:Key="Text_PluginBar_RemoveAndDelete">削除して破壊する</x:String>


<x:String x:Key="Text_Device_No">ネットワーク上に他のデバイスがない</x:String>
Expand Down
8 changes: 8 additions & 0 deletions KitX Dashboard/Languages/zh-cn.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@


<x:String x:Key="Text_Repo_No_Plugin">仓库中没有插件呢~</x:String>
<x:String x:Key="Text_Repo_Search_In_Network">在局域网中搜索</x:String>
<x:String x:Key="Text_Repo_Tip_Installed">个插件已安装</x:String>


<x:String x:Key="Text_PluginBar_Launch">启动</x:String>
<x:String x:Key="Text_PluginBar_Details">详细信息</x:String>
<x:String x:Key="Text_PluginBar_Remove">移除</x:String>
<x:String x:Key="Text_PluginBar_RemoveAndDelete">移除并删除</x:String>


<x:String x:Key="Text_Device_No">网络中没有其它设备</x:String>
Expand Down
8 changes: 8 additions & 0 deletions KitX Dashboard/Languages/zh-cnt.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@


<x:String x:Key="Text_Repo_No_Plugin">無插件在倉庫中</x:String>
<x:String x:Key="Text_Repo_Search_In_Network">在局域網路中尋找</x:String>
<x:String x:Key="Text_Repo_Tip_Installed">個插件已經安裝到本機</x:String>


<x:String x:Key="Text_PluginBar_Launch">啓動</x:String>
<x:String x:Key="Text_PluginBar_Details">詳細信息</x:String>
<x:String x:Key="Text_PluginBar_Remove">移除</x:String>
<x:String x:Key="Text_PluginBar_RemoveAndDelete">移除并刪除</x:String>


<x:String x:Key="Text_Device_No">網路中空無一物</x:String>
Expand Down
25 changes: 18 additions & 7 deletions KitX Dashboard/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ internal class Program

internal static ObservableCollection<DeviceCard> DeviceCards = new();

internal static PluginsList PluginsList = new();

/// <summary>
/// ������, Ӧ�ó������; չ�� summary �鿴����
/// </summary>
Expand All @@ -35,6 +37,15 @@ internal class Program
[STAThread]
public static void Main(string[] args)
{

#region ��Ҫ�ij�ʼ��

EventHandlers.Init();

#endregion

#region ������������

try
{
for (int i = 0; i < args.Length; i++)
Expand All @@ -59,20 +70,18 @@ public static void Main(string[] args)
catch (Exception e)
{
Console.WriteLine(e.Message);
Environment.Exit(1);
Environment.Exit(ErrorCodes.StartUpArgumentsError);
}

#endregion

#region ������������

try
{
if (File.Exists(Path.GetFullPath("./dump.log")))
File.Delete(Path.GetFullPath("./dump.log"));

#region ��Ҫ�ij�ʼ��

EventHandlers.Init();

#endregion

#region ִ������ʱ���

Helper.StartUpCheck();
Expand Down Expand Up @@ -106,6 +115,8 @@ public static void Main(string[] args)
sw.Close();
fs.Close();
}

#endregion
}

/// <summary>
Expand Down
Loading