From 8fcc3bd198606e0400eca5383572fb97ecdada85 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 10 一月 2023 15:51:37 +0800
Subject: [PATCH] 备份
---
SmartHome/UI/SimpleControl/Phone/System/SearchServerOnePortListPage.cs | 137 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 110 insertions(+), 27 deletions(-)
diff --git a/SmartHome/UI/SimpleControl/Phone/System/SearchServerOnePortListPage.cs b/SmartHome/UI/SimpleControl/Phone/System/SearchServerOnePortListPage.cs
index 9b7c4ab..eb37042 100644
--- a/SmartHome/UI/SimpleControl/Phone/System/SearchServerOnePortListPage.cs
+++ b/SmartHome/UI/SimpleControl/Phone/System/SearchServerOnePortListPage.cs
@@ -1,5 +1,6 @@
锘�
using System;
+using System.Collections.Generic;
using Shared;
using Shared.SimpleControl;
@@ -77,7 +78,7 @@
text_Upgraded = "Upgraded";
text_Upgrading = "Upgrading";
text_UpgradeFailed = "Upgrade failed";
- text_UnknownVersion = "Unknown version";
+ text_UnknownVersion = "Other version";
text_readFailure = "Read failure";
text_back = "Back";
text_link = "Link";
@@ -229,10 +230,15 @@
CommonPage.IsRemote = true;
var sendBytes = new byte [29];
- var b1 = System.Text.Encoding.UTF8.GetBytes (userName);
+ var b1 = CommonPage.MyEncodingGB2312.GetBytes (userName);
byte [] ggn = new byte [20];
Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length);
Array.Copy (ggn, 0, sendBytes, 9, 20);
+
+ string newIp = "118.31.3.103";
+ if(Language.CurrentLanguage!= "Chinese") {
+ newIp = "157.175.231.123";
+ }
new System.Threading.Thread (() => {
@@ -241,11 +247,12 @@
MainPage.Loading.Start ();
});
try {
+ //璇诲彇鏃ф湇鍔″櫒涓婄殑宸ョ▼鍒楄〃
var sss = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortListInfo, 0xFB, 0xFB, sendBytes);
+ var oldGatewayList = new List<GatewayBase> ();
if (sss != null) {
try {
if (sss [1] == 248) {
-
Application.RunOnMainThread (() => {
MainPage.Loading.Start ();
rightButton1.Text = txt_connectionSucceeded;
@@ -253,6 +260,7 @@
});
var count = sss [2] * 256 + sss [3];
+
for (int i = 1; i <= count; i++) {
byte [] arayImp = new byte [23];
if (b1.Length <= 20)
@@ -264,19 +272,20 @@
var oneProtData = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortInfo, 0xFB, 0xFB, arayImp);
if (oneProtData != null) {
try {
- var groupName = System.Text.Encoding.UTF8.GetString (oneProtData, 1, 20).Trim ('\0');//=============
- var projectName22 = System.Text.Encoding.UTF8.GetString (oneProtData, 23, 20).Trim ('\0');//=============
- var userName22 = System.Text.Encoding.UTF8.GetString (oneProtData, 43, 8).Trim ('\0');//=============
+ var groupName = CommonPage.MyEncodingGB2312.GetString (oneProtData, 1, 20).Trim ('\0');
+ var projectName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 23, 20).Trim ('\0');
+ var userName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 43, 8).Trim ('\0');
var isOnline = oneProtData [57] == 1;
- Application.RunOnMainThread (() => {
- RowLayout wirelessView = new RowLayout () {
- Height = Application.GetRealHeight (93),
- BackgroundColor = SkinStyle.Current.ViewColor,
- };
- listView.AddChidren (wirelessView);
- showGatewayRow (userName22,projectName22, wirelessView,isOnline);
- });
+ GatewayBase gatewayBase = new GatewayBase () {
+ Remote_GroupName = groupName,
+ Remote_ProjectName = projectName22,
+ Remote_UserName = userName22,
+ isOnline = isOnline,
+ };
+ oldGatewayList.Add (gatewayBase);
+
+
}catch (Exception ex) {
}
@@ -284,8 +293,77 @@
}
}
- }
- else if(sss[1] == 245) {
+
+
+
+
+ //璇诲彇鏂版湇鍔″櫒涓婄殑宸ョ▼鍒楄〃
+ var sss2 = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortListInfo, 0xFB, 0xFB, sendBytes, newIp);
+ var newGatewayList = new List<GatewayBase> ();
+ try {
+ if (sss [1] == 248) {
+ var countNew = sss [2] * 256 + sss [3];
+
+ for (int i = 1; i <= countNew; i++) {
+ byte [] arayImp = new byte [23];
+ if (b1.Length <= 20)
+ Array.Copy (b1, 0, arayImp, 1, b1.Length);
+ else
+ Array.Copy (b1, 0, arayImp, 1, 20);
+ arayImp [21] = (byte)(i / 256);
+ arayImp [22] = (byte)(i % 256);
+ var oneProtData = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortInfo, 0xFB, 0xFB, arayImp, newIp);
+ if (oneProtData != null) {
+ try {
+ var groupName = CommonPage.MyEncodingGB2312.GetString (oneProtData, 1, 20).Trim ('\0');
+ var projectName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 23, 20).Trim ('\0');
+ var userName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 43, 8).Trim ('\0');
+
+ var oldGateway = oldGatewayList.Find ((obj) => obj.Remote_GroupName == groupName &&
+ obj.Remote_ProjectName == projectName22 && obj.Remote_UserName == userName22);
+ if (oldGateway != null) {
+ oldGateway.isMoveToNewServer = true;
+ }
+ } catch (Exception ex) {
+
+ }
+ } else {
+
+ }
+ }
+ } else if (sss [1] == 245) {
+ Application.RunOnMainThread (() => {
+ rightButton1.Text = txt_NoData;
+ rightButton1.TextColor = 0x99FF0000;
+ });
+ } else {
+ Application.RunOnMainThread (() => {
+ rightButton1.Text = txt_QueryFailed;
+ rightButton1.TextColor = 0x99FF0000;
+ });
+ }
+ } catch (Exception ex) {
+ Application.RunOnMainThread (() => {
+ rightButton1.Text = txt_DataError;
+ rightButton1.TextColor = 0x99FF0000;
+ });
+ } finally {
+
+ }
+
+
+ Application.RunOnMainThread (() => {
+ foreach (var one in oldGatewayList) {
+ RowLayout wirelessView = new RowLayout () {
+ Height = Application.GetRealHeight (93),
+ BackgroundColor = SkinStyle.Current.ViewColor,
+ };
+ listView.AddChidren (wirelessView);
+ showGatewayRow (one,wirelessView);
+ }
+ });
+
+ } else if(sss[1] == 245) {
Application.RunOnMainThread (() => {
rightButton1.Text = txt_NoData;
rightButton1.TextColor = 0x99FF0000;
@@ -338,7 +416,7 @@
/// <summary>
/// 鏄剧ず
/// </summary>
- void showGatewayRow (string userName,string projectName, RowLayout wirelessView,bool isOnline)
+ void showGatewayRow (GatewayBase gatewayBase, RowLayout wirelessView)
{
Button pointButton1 = new Button () {
@@ -347,7 +425,7 @@
X = Application.GetRealWidth (60),
Radius = (uint)Application.GetRealHeight (7),
Gravity = Gravity.CenterVertical,
- BackgroundColor = isOnline ? 0xFF00FF00: 0xFF000000
+ BackgroundColor = gatewayBase.isOnline ? 0xFF00FF00: 0xFF000000
};
wirelessView.AddChidren (pointButton1);
@@ -355,7 +433,7 @@
Button nameButton1 = new Button () {
Width = Application.GetRealWidth (342),
Height = LayoutParams.MatchParent,
- Text = projectName,
+ Text = gatewayBase.Remote_ProjectName,
TextAlignment = TextAlignment.CenterLeft,
X = pointButton1.Right + Application.GetRealWidth (20),
TextColor = SkinStyle.Current.TextColor1,
@@ -373,15 +451,20 @@
TextSize = 12,
Text = text_link,
};
- if (isOnline)
- wirelessView.AddChidren (rightButton1);
- EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
- LinkOnePort (userName,projectName);
- };
- nameButton1.MouseUpEventHandler = eventHandler;
- rightButton1.MouseUpEventHandler = eventHandler;
- wirelessView.MouseUpEventHandler = eventHandler;
+ if (gatewayBase.isMoveToNewServer && !gatewayBase.isOnline) {
+ wirelessView.AddChidren (rightButton1);
+ rightButton1.Text = text_Upgraded;
+ } else {
+ if (gatewayBase.isOnline)
+ wirelessView.AddChidren (rightButton1);
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+ LinkOnePort (gatewayBase.Remote_UserName, gatewayBase.Remote_ProjectName);
+ };
+ nameButton1.MouseUpEventHandler = eventHandler;
+ rightButton1.MouseUpEventHandler = eventHandler;
+ wirelessView.MouseUpEventHandler = eventHandler;
+ }
}
void LinkOnePort (string userName, string projectName) {
--
Gitblit v1.8.0