|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|