FieldWorkClient/App.xaml.cs

155 lines
6.0 KiB
C#
Raw Normal View History

using System.IO;
using System.Windows;
2025-03-20 09:09:14 +08:00
using System.Windows.Media;
using HeBianGu.Base.WpfBase;
2025-03-17 10:58:59 +08:00
using HeBianGu.Control.Guide;
using HeBianGu.Control.ThemeSet;
using HeBianGu.General.WpfControlLib;
using HeBianGu.Service.Mvp;
using HeBianGu.Systems.About;
using HeBianGu.Systems.Identity;
using HeBianGu.Systems.Setting;
2025-03-21 13:12:43 +08:00
using Hopetry.Services;
using SystemSetting = FileUploader.Models.SystemSetting;
2025-03-13 09:58:16 +08:00
2025-03-17 10:58:59 +08:00
namespace HeBianGu.App.Disk
2025-03-13 09:58:16 +08:00
{
/// <summary>
2025-03-17 10:58:59 +08:00
/// App.xaml 的交互逻辑
2025-03-13 09:58:16 +08:00
/// </summary>
2025-03-17 10:58:59 +08:00
public partial class App : ApplicationBase
2025-03-13 09:58:16 +08:00
{
2025-03-17 10:58:59 +08:00
protected override MainWindowBase CreateMainWindow(StartupEventArgs e)
{
return new ShellWindow();
}
protected override void ConfigureServices(IServiceCollection services)
{
base.ConfigureServices(services);
2025-03-22 15:29:32 +08:00
// 本地持久化
services.AddXmlSerialize();
2025-03-21 13:12:43 +08:00
// minio 服务
services.AddSingleton<MinioService, MinioService>();
2025-03-22 15:29:32 +08:00
var minioService = services.GetService<MinioService>();
var bucketName = minioService._bucketName;
var xmlSerializerService = services.GetService<ISerializerService>();
if (File.Exists("./settings.xml"))
{
var setting = xmlSerializerService.Load<SystemSetting>("./settings.xml");
2025-03-25 10:37:50 +08:00
if (!string.IsNullOrEmpty(setting.SyncDir) && setting.TaskCount != null)
{
minioService.MirrorAsync1(bucketName, setting.SyncDir, setting.TaskCount);
minioService.RealTimeListen(bucketName, setting.SyncDir);
}
}
2025-03-20 09:09:14 +08:00
services.AddStart(x =>
{
x.ProductFontSize = 90;
x.Title = "数据同步";
x.Copyright = "";
});
2025-03-17 10:58:59 +08:00
services.AddWindowDialog();
services.AddObjectWindowDialog();
2025-03-20 09:09:14 +08:00
services.AddWindowAnimation();
2025-03-17 10:58:59 +08:00
services.AddMessageProxy();
services.AddPropertyGridMessage();
services.AddAutoColumnPagedDataGridMessage();
//services.AddNotifyMessage();
services.AddSetting();
2025-03-20 09:09:14 +08:00
// 认证
// services.AddIdentity(x => x.ProductFontSize = 50);
2025-03-17 10:58:59 +08:00
services.AddMvc();
//services.AddProjectDefault();
2025-03-22 15:29:32 +08:00
2025-03-17 10:58:59 +08:00
services.AddXmlWebSerializerService();
//// Do :注册软件更新页面
2025-03-20 09:09:14 +08:00
/* services.AddAutoUpgrade(x =>
{
x.Uri = "https://gitee.com/hebiangu/wpf-auto-update/raw/master/Install/Computer/AutoUpdate.xml";
x.UseIEDownload = true;
});*/
2025-03-17 10:58:59 +08:00
services.AddSettingPath();
services.AddDESCryptService();
services.AddPrintBoxMessage();
2025-03-22 15:29:32 +08:00
// ???
2025-03-17 10:58:59 +08:00
services.AddWindowExplorer();
#region - More -
2025-03-20 09:09:14 +08:00
2025-03-17 10:58:59 +08:00
//services.AddUpgradeViewPresenter();
//services.AddLicense();
//services.AddLicenseViewPresenter();
//services.AddVip();
//services.AddVipViewPresenter();
//services.AddSurveyViewPresenter();
//services.AddFeedbackViewPresenter();
services.AddLogoutViewPresenter();
services.AddAboutViewPresenter();
services.AddMoreViewPresenter(x =>
{
//x.AddPersenter(UpgradeViewPresenter.Instance);
//x.AddPersenter(LicenseViewPresenter.Instance);
//x.AddPersenter(VipViewPresenter.Instance);
//x.AddPersenter(SurveyViewPresenter.Instance);
//x.AddPersenter(FeedbackViewPresenter.Instance);
x.AddPersenter(AboutViewPresenter.Instance);
x.AddPersenter(LogoutViewPresenter.Instance);
});
2025-03-20 09:09:14 +08:00
2025-03-17 10:58:59 +08:00
#endregion
#region - WindowCaption -
2025-03-20 09:09:14 +08:00
2025-03-22 15:29:32 +08:00
//
2025-03-17 10:58:59 +08:00
services.AddLoginViewPresenter();
2025-03-22 15:29:32 +08:00
// 引导功能按钮
2025-03-17 10:58:59 +08:00
services.AddGuideViewPresenter();
services.AddHideWindowViewPresenter();
//services.AddSettingViewPrenter();
2025-03-17 10:58:59 +08:00
//services.AddThemeRightToolViewPresenter();
2025-03-25 10:37:50 +08:00
//services.AddThemeRightViewPresenter();
2025-03-17 10:58:59 +08:00
services.AddWindowCaptionViewPresenter(x =>
{
//x.AddPersenter(LoginViewPresenter.Instance);
x.AddPersenter(MoreViewPresenter.Instance);
x.AddPersenter(GuideViewPresenter.Instance);
//x.AddPersenter(HideWindowViewPresenter.Instance);
x.AddPersenter(SettingViewPresenter.Instance);
x.AddPersenter(ThemeRightToolViewPresenter.Instance);
});
2025-03-13 09:58:16 +08:00
2025-03-17 10:58:59 +08:00
#endregion
//string path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Module", "HeBianGu.Domain.FATFS.dll");
//var dll = Assembly.LoadFile(path);
//var find = dll.GetTypes().Where(x => typeof(IExplorerService).IsAssignableFrom(x))?.FirstOrDefault();
//ServiceRegistry.Instance.Register(typeof(IExplorerService), find);
//services.AddSingleton<IExplorerService, WindowExplorerServiceDemo>();
}
protected override void Configure(IApplicationBuilder app)
{
base.Configure(app);
app.UseStyle();
// Do设置默认主题
app.UseLocalTheme(l =>
{
2025-03-22 15:29:32 +08:00
// 主题色
2025-03-17 10:58:59 +08:00
l.AccentColor = (Color)ColorConverter.ConvertFromString("#FF0093FF");
l.DefaultFontSize = 13D;
l.FontSize = FontSize.Normal;
l.ItemHeight = 35;
//l.ItemWidth = 120;
l.ItemCornerRadius = 5;
l.AnimalSpeed = 100;
2025-03-17 10:58:59 +08:00
l.AccentColorSelectType = 0;
l.IsUseAnimal = false;
l.ThemeType = ThemeType.DarkBlack;
l.StyleType = StyleType.Single;
l.Language = Language.Chinese;
l.AccentBrushType = AccentBrushType.LinearGradientBrush;
});
}
}
2025-03-20 09:09:14 +08:00
}