1 refactor(config): 将AppSettings移至Application层并更新配置结构

2
    3 - 将AppSettings从DMS.Infrastructure移至DMS.Application
    4 - 将DatabaseSettings重命名为AppSettings.Database并更新所有引用
    5 - 将配置文件从appSettings.json更改为dms_config.json
    6 - 更新所有项目引用以使用新的AppSettings命名空间
    7 - 移除DI容器中的SqlSugarDbContext直接实例化
    8 - 添加Material Design Icons字体并更新设置视图UI
    9 - 通过移除不必要的变量映射更新来优化S7服务
   10 - 将数据库连接字符串属性名从Database更新为DbName
This commit is contained in:
2025-10-04 18:42:12 +08:00
parent abcaf3e160
commit ec1f94a898
14 changed files with 152 additions and 222 deletions

View File

@@ -3,7 +3,7 @@ using DMS.Application.DTOs;
using DMS.Core.Enums;
using System;
using System.Collections.Generic;
using DMS.Infrastructure.Configurations;
using DMS.Application.Configurations;
using Microsoft.Extensions.DependencyInjection;
namespace DMS.WPF.ViewModels.Items;

View File

@@ -1,5 +1,5 @@
using CommunityToolkit.Mvvm.Input;
using DMS.Infrastructure.Configurations;
using DMS.Application.Configurations;
using DMS.WPF.Helper;
using DMS.WPF.Interfaces;
@@ -39,12 +39,12 @@ public partial class SettingViewModel : ViewModelBase
public string SelectedDbType
{
get => _settings.Database.DbType;
get => _settings.Db.DbType;
set
{
if (_settings.Database.DbType != value)
if (_settings.Db.DbType != value)
{
_settings.Database.DbType = value;
_settings.Db.DbType = value;
OnPropertyChanged();
_settings.Save();
}
@@ -53,12 +53,12 @@ public partial class SettingViewModel : ViewModelBase
public string Server
{
get => _settings.Database.Server;
get => _settings.Db.Server;
set
{
if (_settings.Database.Server != value)
if (_settings.Db.Server != value)
{
_settings.Database.Server = value;
_settings.Db.Server = value;
OnPropertyChanged();
_settings.Save();
}
@@ -67,12 +67,12 @@ public partial class SettingViewModel : ViewModelBase
public int Port
{
get => _settings.Database.Port;
get => _settings.Db.Port;
set
{
if (_settings.Database.Port != value)
if (_settings.Db.Port != value)
{
_settings.Database.Port = value;
_settings.Db.Port = value;
OnPropertyChanged();
_settings.Save();
}
@@ -81,12 +81,12 @@ public partial class SettingViewModel : ViewModelBase
public string UserId
{
get => _settings.Database.UserId;
get => _settings.Db.UserId;
set
{
if (_settings.Database.UserId != value)
if (_settings.Db.UserId != value)
{
_settings.Database.UserId = value;
_settings.Db.UserId = value;
OnPropertyChanged();
_settings.Save();
}
@@ -95,26 +95,26 @@ public partial class SettingViewModel : ViewModelBase
public string Password
{
get => _settings.Database.Password;
get => _settings.Db.Password;
set
{
if (_settings.Database.Password != value)
if (_settings.Db.Password != value)
{
_settings.Database.Password = value;
_settings.Db.Password = value;
OnPropertyChanged();
_settings.Save();
}
}
}
public string Database
public string DbName
{
get => _settings.Database.Database;
get => _settings.Db.DbName;
set
{
if (_settings.Database.Database != value)
if (_settings.Db.DbName != value)
{
_settings.Database.Database = value;
_settings.Db.DbName = value;
OnPropertyChanged();
_settings.Save();
}
@@ -157,7 +157,7 @@ public partial class SettingViewModel : ViewModelBase
// 使用当前配置测试数据库连接
using var db = new SqlSugar.SqlSugarScope(new SqlSugar.ConnectionConfig()
{
DbType = (SqlSugar.DbType)Enum.Parse(typeof(SqlSugar.DbType), _settings.Database.DbType),
DbType = (SqlSugar.DbType)Enum.Parse(typeof(SqlSugar.DbType), _settings.Db.DbType),
ConnectionString = _settings.ToConnectionString(),
IsAutoCloseConnection = true
});

View File

@@ -7,8 +7,8 @@ using DMS.WPF.Services;
using System;
using System.Data;
using System.Threading.Tasks;
using DMS.Application.Configurations;
using DMS.Application.Services;
using DMS.Infrastructure.Configurations;
using DMS.WPF.Helper;
using DMS.WPF.Interfaces;
using DMS.WPF.Views;
@@ -32,8 +32,9 @@ public partial class SplashViewModel : ObservableObject
[ObservableProperty]
private string _loadingMessage = "正在加载...";
public SplashViewModel(ILogger<SplashViewModel> logger,IServiceProvider serviceProvider, IInitializeService initializeService,IDataEventService dataEventService,
IAppDataCenterService appDataCenterService,AppSettings appSettings)
public SplashViewModel(ILogger<SplashViewModel> logger, IServiceProvider serviceProvider,
IInitializeService initializeService, IDataEventService dataEventService,
IAppDataCenterService appDataCenterService, AppSettings appSettings)
{
_logger = logger;
_serviceProvider = serviceProvider;
@@ -50,13 +51,18 @@ public partial class SplashViewModel : ObservableObject
{
try
{
LoadingMessage = "正在加载系统配置...";
if (_appSettings.Load() == null)
{
//程序第一次启动
}
_logger.LogInformation("正在初始化数据库...");
LoadingMessage = "正在初始化数据库...";
_initializeService.InitializeTables();
_initializeService.InitializeMenus();
LoadingMessage = "正在加载系统配置...";
await _appDataCenterService.DataLoaderService.LoadAllDataToMemoryAsync();
// 可以在这里添加加载配置的逻辑
@@ -80,7 +86,7 @@ public partial class SplashViewModel : ObservableObject
{
// 处理初始化过程中的异常
LoadingMessage = $"初始化失败: {ex.Message}";
_logger.LogError(ex,$"初始化失败: {ex}");
_logger.LogError(ex, $"初始化失败: {ex}");
// 在此可以记录日志或显示错误对话框
return false;
}