整合管理器应用端(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.

180 lines
6.2 KiB

using CommunityToolkit.Mvvm.ComponentModel;
using SunlightAggregationTerminal.Class;
using SunlightAggregationTerminal.Models;
using SunlightAggregationTerminal.View;
using System.Collections.ObjectModel;
using TouchSocket.Core;
namespace SunlightAggregationTerminal;
public partial class ProfilePage : ContentPage
{
private static bool SET = false;
public ProfilePage()
{
InitializeComponent();
this.BindingContext = App.GlobalData;
}
public static void _data(string v,string k)
{
if (k == "Password")
{
App.GlobalData.UserPassword = v;
string sql = @"UPDATE Users SET UserPassword = '" + App.GlobalData.UserPassword
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
SET = false;
}
if (k == "Name")
{
App.GlobalData.UserName = v;
string sql = @"UPDATE Users SET UserName = '" + App.GlobalData.UserName
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
SET = false;
}
}
public async void _Command(string dat)
{
DataReceived.Transmit(dat);
SET = true;
// 创建一个 秒的延时任务
Task delayTask = Task.Delay(10000);
// 创建一个监测任务,不断检查变量
Task monitorTask = Task.Run(async () =>
{
while (SET)
{
// 每隔 100 毫秒检查一次,避免 CPU 占用过高
await Task.Delay(1000);
}
});
// 使用 Task.WhenAny 等待任意一个任务完成
Task task = await Task.WhenAny(delayTask, monitorTask);
if (task==delayTask)
{ //超时
await DisplayAlertAsync("", "修改失败", "是");
}
SET = false;
}
private async void Out_Clicked(object sender, EventArgs e)
{
//退出
bool shouldExit = await DisplayAlertAsync("退出确认", "确定要退出吗?", "是", "否");
if (shouldExit)
{
App.GlobalData.LogNo = false;
await TcpServer.tcpClient.CloseAsync("");
string sql = "UPDATE Users SET LogNo = 0 WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
var logpage = new View.LogPage();
await Navigation.PushModalAsync(logpage);
}
}
private async void UserName_Tapped(object sender, TappedEventArgs e)
{
string result = await DisplayPromptAsync("","姓名");
// 处理结果
if (!string.IsNullOrWhiteSpace(result))
{
Dictionary<string, object> data_ = new Dictionary<string, object>();
data_.Add("Command", "SETUSER");
data_.Add("USER", App.GlobalData.User);
data_.Add("KEY", "Name");
data_.Add("VALUE", result);
_Command(data_.ToJsonString());
/*
App.GlobalData.UserName=result;
string sql = @"UPDATE Users SET UserName = '" + App.GlobalData.UserName
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);*/
}
}
private async void UserPassword_Tapped(object sender, TappedEventArgs e)
{
string result = await DisplayPromptAsync("", "密码");
// 处理结果
if (!string.IsNullOrWhiteSpace(result))
{
Dictionary<string, object> data_ = new Dictionary<string, object>();
data_.Add("Command", "SETUSER");
data_.Add("USER", App.GlobalData.User);
data_.Add("KEY", "Password");
data_.Add("VALUE", result);
_Command(data_.ToJsonString());
/* App.GlobalData.UserPassword = result;
string sql = @"UPDATE Users SET UserPassword = '" + App.GlobalData.UserPassword
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);*/
}
}
private async void ServerID_Tapped(object sender, TappedEventArgs e)
{
string result = await DisplayPromptAsync("", "服务器地址");
// 处理结果
if (!string.IsNullOrWhiteSpace(result))
{
App.GlobalData.ServerID = result;
string sql = @"UPDATE Users SET ServerID = '" + App.GlobalData.ServerID
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
}
private async void ServerHTTP_Tapped(object sender, TappedEventArgs e)
{
string result = await DisplayPromptAsync("", "服务器地址");
// 处理结果
if (!string.IsNullOrWhiteSpace(result))
{
App.GlobalData.ServerID = result;
string sql = @"UPDATE Users SET ServerHTTP = '" + App.GlobalData.ServerID
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
}
private async void ProxyID_Tapped(object sender, TappedEventArgs e)
{
string result = await DisplayPromptAsync("", "代理");
// 处理结果
if (!string.IsNullOrWhiteSpace(result))
{
App.GlobalData.ProxyID = result;
string sql = @"UPDATE Users SET ProxyID = '" + App.GlobalData.ProxyID
+ "' WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
}
private void MessageNotificationMode_Toggled(object sender, ToggledEventArgs e)
{
string sql = @"UPDATE Users SET MessageNotificationMode = "+ App.GlobalData.MessageNotificationMode
+ " WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
private void DarkMode_Toggled(object sender, ToggledEventArgs e)
{
string sql = @"UPDATE Users SET DarkMode = " + App.GlobalData.DarkMode
+ " WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
private void LocalAreaNetworkMode_Toggled(object sender, ToggledEventArgs e)
{
string sql = @"UPDATE Users SET LocalAreaNetworkMode = " + App.GlobalData.LocalAreaNetworkMode
+ " WHERE User='" + App.GlobalData.User + "';";
AppModels.Updata(sql);
}
}