Skip to content

Commit 8e83333

Browse files
committed
Feat | Config json
1 parent 8f985f4 commit 8e83333

File tree

4 files changed

+91
-42
lines changed

4 files changed

+91
-42
lines changed

ShadowExample/App.xaml.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
using Windows.ApplicationModel.Activation;
1919
using Windows.Foundation;
2020
using Windows.Foundation.Collections;
21+
using Windows.Storage;
2122
using ShadowExample.Core.Plugins;
23+
using ShadowObservableConfig.Json;
2224
using ShadowObservableConfig.Yaml;
2325
using ShadowPluginLoader.WinUI;
2426
using ShadowPluginLoader.WinUI.Checkers;
@@ -43,12 +45,17 @@ public App()
4345
{
4446
this.InitializeComponent();
4547
ApplicationExtensionHost.Initialize(this);
46-
ShadowObservableConfig.ShadowConfigGlobalSetting.Init(new ShadowYamlConfigSetting());
4748
Init();
4849
}
4950

5051
private void Init()
5152
{
53+
ShadowObservableConfig.GlobalSetting.Init(
54+
ApplicationData.Current.LocalFolder.Path,
55+
[
56+
new JsonConfigLoader(),
57+
new YamlConfigLoader()
58+
]);
5259
DiFactory.Init<PluginBase, ExampleMetaData>();
5360
DiFactory.Services.Register<ShadowExamplePluginLoader>(
5461
reuse: Reuse.Singleton,
@@ -57,7 +64,7 @@ private void Init()
5764
.OverrideWith(Parameters.Of.Type<IRemoveChecker>(serviceKey: "base"))
5865
.OverrideWith(Parameters.Of.Type<IPluginScanner<PluginBase, ExampleMetaData>>(serviceKey: "base"))
5966
.OverrideWith(Parameters.Of.Type<IPluginInstaller<ExampleMetaData>>(serviceKey: "base"))
60-
);
67+
);
6168
}
6269

6370
/// <summary>
@@ -72,4 +79,4 @@ protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs ar
7279

7380
private Window m_window;
7481
}
75-
}
82+
}

ShadowPluginLoader.WinUI/Config/BaseSdkConfig.cs

Lines changed: 45 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,51 @@
44

55
namespace ShadowPluginLoader.WinUI.Config;
66

7-
[ObservableConfig(FileName = "base_sdk")]
7+
[ObservableConfig(FileName = "base_sdk", FileExt = ".json")]
88
public partial class BaseSdkConfig
99
{
10-
11-
[ObservableConfigProperty] private PluginUpgradeMethod upgradeMethod = PluginUpgradeMethod.Coverage;
12-
13-
private string basePath = ApplicationData.Current.LocalFolder.Path;
14-
15-
[ObservableConfigProperty] private string pluginFolder = "plugin";
16-
17-
[ObservableConfigProperty] private string tempFolder = "temp";
18-
19-
public string PluginFolderPath => System.IO.Path.Combine(basePath, pluginFolder);
20-
public string TempFolderPath => System.IO.Path.Combine(basePath, tempFolder);
21-
22-
[ObservableConfigProperty] private bool closeInTaskBar;
23-
24-
[ObservableConfigProperty] private bool closeInTaskBarRemember;
25-
26-
[ObservableConfigProperty] private bool isDebug;
10+
/// <summary>
11+
///
12+
/// </summary>
13+
[ObservableConfigProperty] private PluginUpgradeMethod _upgradeMethod = PluginUpgradeMethod.Coverage;
14+
15+
/// <summary>
16+
///
17+
/// </summary>
18+
private readonly string _basePath = ApplicationData.Current.LocalFolder.Path;
19+
20+
/// <summary>
21+
///
22+
/// </summary>
23+
[ObservableConfigProperty] private string _pluginFolder = "plugin";
24+
25+
/// <summary>
26+
///
27+
/// </summary>
28+
[ObservableConfigProperty] private string _tempFolder = "temp";
29+
30+
/// <summary>
31+
///
32+
/// </summary>
33+
public string PluginFolderPath => System.IO.Path.Combine(_basePath, _pluginFolder);
34+
35+
/// <summary>
36+
///
37+
/// </summary>
38+
public string TempFolderPath => System.IO.Path.Combine(_basePath, _tempFolder);
39+
40+
/// <summary>
41+
///
42+
/// </summary>
43+
[ObservableConfigProperty] private bool _closeInTaskBar;
44+
45+
/// <summary>
46+
///
47+
/// </summary>
48+
[ObservableConfigProperty] private bool _closeInTaskBarRemember;
49+
50+
/// <summary>
51+
///
52+
/// </summary>
53+
[ObservableConfigProperty] private bool _isDebug;
2754
}

ShadowPluginLoader.WinUI/Config/InnerSdkConfig.cs

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,49 @@
33

44
namespace ShadowPluginLoader.WinUI.Config;
55

6-
[ObservableConfig(FileName = ".inner_sdk_config")]
6+
[ObservableConfig(FileName = ".inner_sdk_config", FileExt = ".json")]
77
public partial class InnerSdkConfig
88
{
9-
[ObservableConfigProperty]
10-
private ObservableCollection<PlanRemoveData> planRemove;
11-
12-
[ObservableConfigProperty]
13-
private ObservableCollection<PlanUpgradeData> planUpgrade;
9+
/// <summary>
10+
/// Plan Remove Plugins
11+
/// </summary>
12+
[ObservableConfigProperty] private ObservableCollection<PlanRemoveData> _planRemove;
13+
14+
/// <summary>
15+
/// Plan Upgrade Plugins
16+
/// </summary>
17+
[ObservableConfigProperty] private ObservableCollection<PlanUpgradeData> _planUpgrade;
1418
}
1519

1620
[ObservableConfig]
1721
public partial class PlanRemoveData
1822
{
19-
[ObservableConfigProperty]
20-
private string id;
21-
22-
[ObservableConfigProperty]
23-
private string path;
23+
/// <summary>
24+
/// Plugin Id
25+
/// </summary>
26+
[ObservableConfigProperty] private string _id;
27+
28+
/// <summary>
29+
/// Plugin Path
30+
/// </summary>
31+
[ObservableConfigProperty] private string _path;
2432
}
2533

2634
[ObservableConfig]
2735
public partial class PlanUpgradeData
2836
{
29-
[ObservableConfigProperty]
30-
private string id;
31-
32-
[ObservableConfigProperty]
33-
private string targetPath;
34-
35-
[ObservableConfigProperty]
36-
private string zipPath;
37+
/// <summary>
38+
/// Plugin Id
39+
/// </summary>
40+
[ObservableConfigProperty] private string _id;
41+
42+
/// <summary>
43+
/// Plugin Path
44+
/// </summary>
45+
[ObservableConfigProperty] private string _targetPath;
46+
47+
/// <summary>
48+
/// Plugin Zip Path
49+
/// </summary>
50+
[ObservableConfigProperty] private string _zipPath;
3751
}

ShadowPluginLoader.WinUI/ShadowPluginLoader.WinUI.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
1414
<LangVersion>12</LangVersion>
1515
<!-- Nuget -->
16-
<Version>3.0.5</Version>
16+
<Version>3.0.6</Version>
1717
<PackageId>ShadowPluginLoader.WinUI</PackageId>
1818
<Owner>kitUIN</Owner>
1919
<Authors>kitUIN</Authors>
@@ -41,7 +41,8 @@
4141
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.756" />
4242
<PackageReference Include="kitUIN.CustomExtensions.WinUI" Version="0.6.4" />
4343
<PackageReference Include="ShadowPluginLoader.SourceGenerator" Version="3.0.7" />
44-
<PackageReference Include="ShadowObservableConfig.Yaml" Version="0.5.6" />
44+
<PackageReference Include="ShadowObservableConfig.Yaml" Version="0.6.0" />
45+
<PackageReference Include="ShadowObservableConfig.Json" Version="0.6.0" />
4546
<PackageReference Include="ShadowPluginLoader.Tool" Version="3.0.6" />
4647
<PackageReference Include="NuGet.Versioning" Version="6.14.0" />
4748
<PackageReference Include="SharpCompress" Version="0.40.0" />

0 commit comments

Comments
 (0)