整合管理器应用端(MAUI跨平台)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
3.5 KiB

using CommunityToolkit.Mvvm.ComponentModel;
using SunlightAggregationTerminal.Class;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
namespace SunlightAggregationTerminal.Models
{
public class AppModels : ObservableObject
{
public static SqliteHelper sqliteHelper = SQLiteConfig.Config(Path.Combine(FileSystem.AppDataDirectory, "MyAppData.db"))!; //数据库连接路径(获取各平台的应用数据目录)
public AppModels()
{
if(sqliteHelper != null)
{//获取配置信息
sqliteHelper.Open();
var userdata= sqliteHelper.ExecuteDataSet("select * from Users Where LogNo = 1", null);
sqliteHelper.Close();
if (userdata != null)
{
var dat = userdata.Tables[0].AsEnumerable().FirstOrDefault();
if (dat != null)
{
App.GlobalData.UserName = dat.Field<string>("UserName") ?? "";
App.GlobalData.UserId = dat.Field<string>("UserId") ?? "";
App.GlobalData.User = dat.Field<string>("User") ?? "";
App.GlobalData.UserPassword = dat.Field<string>("UserPassword") ?? "";
App.GlobalData.Enterprise = dat.Field<string>("Enterprise") ?? "";
App.GlobalData.Department = dat.Field<string>("Department") ?? "";
App.GlobalData.Groups = dat.Field<string>("Groups") ?? "";
App.GlobalData.ServerID = dat.Field<string>("ServerID") ?? "";
App.GlobalData.ProxyID = dat.Field<string>("ProxyID") ?? "";
App.GlobalData.LogNo = Convert.ToBoolean(dat.Field<object>("LogNo"));
App.GlobalData.LocalAreaNetworkMode = Convert.ToBoolean(dat.Field<object>("LocalAreaNetworkMode"));
App.GlobalData.DarkMode = Convert.ToBoolean(dat.Field<object>("DarkMode"));
App.GlobalData.MessageNotificationMode = Convert.ToBoolean(dat.Field<object>("MessageNotificationMode"));
TcpServer.Configuration(App.GlobalData.ServerID, App.GlobalData.User, App.GlobalData.UserPassword, dat.Field<string>("GUID") ?? "Not");
}
}
}
}
public static void Updata(string sql)
{
sqliteHelper.Open();
sqliteHelper.ExecuteNonQuery(sql, null);
sqliteHelper.Close();
}
public static void INSERT(string sql)
{
sqliteHelper.Open();
sqliteHelper.ExecuteNonQuery(sql, null);
sqliteHelper.Close();
}
public static DataSet? Select(string sql)
{
sqliteHelper.Open();
var userdata = sqliteHelper.ExecuteDataSet(sql, null);
sqliteHelper.Close();
return userdata;
}
public static string GetAppUniqueId()
{
const string key = "sunlight_app_unique_id";
// 尝试从安全存储中读取
string? id = SecureStorage.GetAsync(key).Result;
if (string.IsNullOrEmpty(id))
{
// 如果不存在,生成一个新的 GUID
id = Guid.NewGuid().ToString();
// 保存到安全存储
SecureStorage.SetAsync(key, id).Wait();
}
return id;
}
}
}