From a051c37a96a4b518b1bf1689252649c32430194f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期五, 10 四月 2020 15:49:12 +0800
Subject: [PATCH] 2020-04-10-0-1
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs | 215 +++++++++++++++++++++++++++++------------------------
1 files changed, 118 insertions(+), 97 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
old mode 100755
new mode 100644
index 5aeb227..8c0f28b
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/UserCenterLogic.cs
@@ -428,74 +428,17 @@
var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
if (actionForm != null && actionForm is CommonFormBase)
{
- //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID
- UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
- //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊
- if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
- {
- try
- {
- EditorCommonForm Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
- if (Myform != null)
- {
- //閲嶇疆宸︽粦浣胯兘
- Myform.ScrollEnabled = Myform.ScrollEnabled;
- //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢
- int value = Myform.FormActionAgainEvent();
- if (value == 1)
- {
- //Log鍑哄姏
- HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�");
- }
- }
- }
- catch (Exception ex)
- {
- //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
- var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
- alert.Show();
-
- //Log鍑哄姏
- HdlLogLogic.Current.WriteLog(ex);
- }
- }
+ //璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟
+ CallFormActionAgainEvent(form, index);
}
else if (actionForm != null && actionForm is UserView.UserPage)
{
- //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡,濡傛灉瀹冨寘鍚釜浜轰腑蹇冧富椤电殑璇�
- if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true)
+ //杩欓噷瀹冨凡缁忛��鍒颁富椤典簡
+ if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true//涓汉涓績
+ || UserCenterResourse.listActionFormId.Contains("HomeMainPageForm") == true)//
{
- //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID
- UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
- //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊
- if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
- {
- try
- {
- EditorCommonForm Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
- if (Myform != null)
- {
- //閲嶇疆宸︽粦浣胯兘
- Myform.ScrollEnabled = Myform.ScrollEnabled;
- //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢
- int value = Myform.FormActionAgainEvent();
- if (value == 1)
- {
- //Log鍑哄姏
- HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�");
- }
- }
- }
- catch (Exception ex)
- {
- //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
- var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
- alert.Show();
-
- //Log鍑哄姏
- HdlLogLogic.Current.WriteLog(ex);
- }
- }
+ //璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟
+ CallFormActionAgainEvent(form, index);
}
}
}
@@ -504,6 +447,43 @@
UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID);
//绉婚櫎鐢婚潰
UserCenterResourse.DicActionForm.Remove(formName);
+ }
+ }
+
+ /// <summary>
+ /// 璋冪敤鐣岄潰閲嶆柊婵�娲荤殑鍑芥暟
+ /// </summary>
+ /// <param name="form">鍏抽棴鐨勭晫闈㈠璞�</param>
+ /// <param name="index">褰撳墠闇�瑕侀噸鏂版縺娲荤晫闈㈢殑绱㈠紩</param>
+ private static void CallFormActionAgainEvent(CommonFormBase form, int index)
+ {
+ //璁剧疆褰撳墠婵�娲荤殑鐢婚潰ID
+ UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
+ //杩藉姞鏉′欢涓�:鍏抽棴鐨勭晫闈负EditorCommonForm鐨勬椂鍊欐墠澶勭悊
+ if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
+ {
+ try
+ {
+ var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
+ //閲嶇疆宸︽粦浣胯兘
+ Myform.ScrollEnabled = Myform.ScrollEnabled;
+ //瑙﹀彂鐣岄潰鍐嶆婵�娲荤殑浜嬩欢
+ int value = Myform.FormActionAgainEvent();
+ if (value == 1)
+ {
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 琚縺娲�");
+ }
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒,鏁版嵁涓㈠け
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex, "鐣岄潰閲嶆柊婵�娲诲紓甯�");
+ }
}
}
@@ -554,7 +534,7 @@
//闇�浼樺厛浜庡埛鏂版埧闂�,鍚屾浜戠鐨勭綉鍏砳d锛屽鏋滄湰鍦版嫢鏈変簯绔笉瀛樺湪鐨刬d锛屽垯琛ㄧず搴旇琚崲缁戜簡锛岀洿鎺ュ垹闄�
HdlGatewayLogic.Current.SynchronizeDbGateway();
//浠庢湰鍦伴噸鏂板姞杞藉叏閮ㄧ殑鎴块棿
- Common.Room.RefreshAllRoomByLocation();
+ HdlRoomLogic.Current.RefreshAllRoomByLocation();
}
/// <summary>
@@ -646,7 +626,7 @@
/// <param name="noticeDb">鏄惁閫氱煡浜戠</param>
public static void ReLoginAgain(string account = "", bool noticeDb = true)
{
- UserCenterResourse.Option.OldAccountId = string.Empty;
+ UserCenterResourse.AccountOption.OldAccountId = string.Empty;
//鍏抽棴鎵�鏈夋帴鏀�
HdlGatewayReceiveLogic.Current.RemoveAllEvent();
//娓呴櫎鍗囩骇鍒楄〃
@@ -655,7 +635,7 @@
HdlThreadLogic.Current.RunThread(async () =>
{
//妫�娴婣PP鏄惁鑳藉閫�鍑�
- while (UserCenterResourse.Option.AppCanSignout == false)
+ while (UserCenterResourse.AccountOption.AppCanSignout == false)
{
await Task.Delay(500);
}
@@ -679,7 +659,7 @@
CloseAllOpenForm();
//鏄剧ず鐧婚檰鐢婚潰
- var formLogin = new Shared.Phone.Device.Account.AccountLogin();
+ var formLogin = new Login.AccountLogin();
Shared.Common.CommonPage.Instance.AddChidren(formLogin);
formLogin.Show(account);
});
@@ -696,11 +676,18 @@
/// 鍏抽棴鎵�鏈夋墦寮�浜嗙殑鐣岄潰
/// </summary>
/// <param name="tagetFrom">鐩爣鐣岄潰,濡傛灉鎸囧畾浜嗙殑璇�,鍒欏叧闂洰鏍囩晫闈笂灞傜殑鍏ㄩ儴鐣岄潰(瀹冭嚜韬笉鍏抽棴)</param>
- public static void CloseAllOpenForm(string tagetFrom = "")
+ public static void CloseAllOpenForm(string tagetFrom = null)
{
while (UserView.HomePage.Instance.ChildrenCount > 0)
{
var view = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
+ //(鍥犲簳灞傛帶浠朵慨鏀逛簡, 鐖舵帶浠剁Щ闄ゆ椂, 涓嶈Е锛涘彂瀛愭帶浠剁殑绉婚櫎浜嬩欢)
+ if (view is ViewGroup)
+ {
+ //鍏抽棴鍔犺浇鍦╒iewGroup閲岄潰鐨勮嚜瀹氫箟鐣岄潰Form
+ CloseViewGroupChildren((ViewGroup)view);
+ }
+
if (view is CommonFormBase)
{
if (((CommonFormBase)view).FormID == tagetFrom)
@@ -717,6 +704,23 @@
else
{
view.RemoveFromParent();
+ }
+ }
+ }
+
+ /// <summary>
+ /// 鍏抽棴鍔犺浇鍦╒iewGroup閲岄潰鐨勮嚜瀹氫箟鐣岄潰Form(鍥犲簳灞傛帶浠朵慨鏀逛簡,鐖舵帶浠剁Щ闄ゆ椂,涓嶈Е鍙戝瓙鎺т欢鐨勭Щ闄や簨浠�)
+ /// </summary>
+ /// <param name="group"></param>
+ private static void CloseViewGroupChildren(ViewGroup group)
+ {
+ for (int i = 0; i < group.ChildrenCount; i++)
+ {
+ var view = group.GetChildren(i);
+ if (view is CommonFormBase)
+ {
+ ((CommonFormBase)view).CloseForm();
+ i--;
}
}
}
@@ -840,13 +844,13 @@
public async static Task<bool> InitUserCenterMenmoryAndThread(bool ShowPrompted = true)
{
//APP缂撳瓨鍔犺浇寮�濮�
- UserCenterResourse.Option.AppCanSignout = false;
- //杩樺師杩滅▼杩炴帴鍙橀噺
+ UserCenterResourse.AccountOption.AppCanSignout = false;
+ //杩樺師杩滅▼杩炴帴鏉冮檺鍙橀噺
ZigBee.Device.ZbGateway.AllowRemoteCtrl = true;
//鍙湁鍦ㄤ綇瀹匢D涓嶄竴鏍风殑鏃跺�欐墠鍋氳繖涓搷浣�
- if (Common.Config.Instance.HomeId != UserCenterResourse.Option.OldHomeStringId
- || Common.Config.Instance.Account != UserCenterResourse.Option.OldAccountId)
+ if (Common.Config.Instance.HomeId != UserCenterResourse.AccountOption.OldHomeStringId
+ || Common.Config.Instance.Account != UserCenterResourse.AccountOption.OldAccountId)
{
try
{
@@ -855,23 +859,17 @@
}
catch { }
- //娑堟伅璁板綍閲嶆柊璇诲彇鍙婃娴�
- ControlCommonResourse.ReadMessageAgain = true;
- ControlCommonResourse.HadNewMessage = false;
- HdlThreadLogic.Current.RunMain(() =>
- {
- for (int i = 0; i < ControlCommonResourse.listMessageManaContr.Count; i++)
- {
- //鏄剧ず瑙掓爣鐗规晥
- ControlCommonResourse.listMessageManaContr[i].IsSelected = false;
- }
- });
+ //娓呯┖鎵�鏈夋垚鍛樼紦瀛�
+ ClearAllMemberMemory();
//鍔犺浇璐﹀彿閰嶇疆淇℃伅
- var optionInfo = UserCenterResourse.Option.Load();
- UserCenterResourse.Option = optionInfo;
+ var optionInfo = UserCenterResourse.AccountOption.Load();
+ UserCenterResourse.AccountOption = optionInfo;
//鍙樻洿鏍圭敤鎴峰浘鐗囩洰褰曡矾寰�
- UserCenterResourse.Option.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory);
+ UserCenterResourse.AccountOption.UserPictruePath = System.IO.Path.Combine(Shared.IO.FileUtils.RootPath, Config.Instance.Guid, DirNameResourse.UserPictrueDirectory);
+
+ //鍔犺浇浣忓畢閰嶇疆淇℃伅
+ UserCenterResourse.ResidenceOption = UserCenterResourse.ResidenceOption.Load();
//鍒濆鍖栫櫥闄嗚处鍙风殑淇℃伅
var hadNet = await InitUserAccoutInfo();
@@ -898,8 +896,8 @@
//淇濆瓨鐢ㄦ埛鐨勭櫥闄嗕俊鎭埌鏈湴
SaveUserInformationToLocation();
- UserCenterResourse.Option.OldHomeStringId = Common.Config.Instance.HomeId;
- UserCenterResourse.Option.OldAccountId = Common.Config.Instance.Account;
+ UserCenterResourse.AccountOption.OldHomeStringId = Common.Config.Instance.HomeId;
+ UserCenterResourse.AccountOption.OldAccountId = Common.Config.Instance.Account;
//鍚屾鏁版嵁(浜屾璋冪敤娌″叧绯�)
int result = -1;
@@ -920,7 +918,7 @@
}
//鍒濆鍖栨埧闂�(閮洩鍩庨偅杈逛笉鍋氬鐞�,闇�瑕佽繖閲岀壒娈婃墽琛屼竴姝�)
- Room.RefreshAllRoomByLocation();
+ HdlRoomLogic.Current.RefreshAllRoomByLocation();
//鍒锋柊APP鍓嶄竴娆¢�夋嫨鐨勭綉鍏矷D(鍙互鍙嶅璋冪敤,闇�瑕佸湪缃戝叧鍒濆鍖栧畬浜嗕箣鍚庢墠鑳借皟鐢�)
HdlGatewayLogic.Current.RefreshAppOldSelectGatewayId();
@@ -935,9 +933,32 @@
ShowGuideForm(result);
}
//APP缂撳瓨鍔犺浇瀹屾垚
- UserCenterResourse.Option.AppCanSignout = true;
+ UserCenterResourse.AccountOption.AppCanSignout = true;
return true;
+ }
+
+ /// <summary>
+ /// 娓呯┖鎵�鏈夋垚鍛樼紦瀛�
+ /// </summary>
+ private static void ClearAllMemberMemory()
+ {
+ //娑堟伅璁板綍閲嶆柊璇诲彇鍙婃娴�
+ ControlCommonResourse.ReadMessageAgain = true;
+ ControlCommonResourse.HadNewMessage = false;
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ for (int i = 0; i < ControlCommonResourse.listMessageManaContr.Count; i++)
+ {
+ //鏄剧ず瑙掓爣鐗规晥
+ ControlCommonResourse.listMessageManaContr[i].IsSelected = false;
+ }
+ });
+
+ //褰撳墠涓婚〉,鍦烘櫙鍜屽姛鑳芥墍閫夋嫨鐨勫垎鏀� 1:鍦烘櫙 2:鍔熻兘
+ UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1;
+ //褰撳墠鍒嗙被,鍦烘櫙鍜屽姛鑳芥墍閫夋嫨鐨勫垎鏀� 0:鍦烘櫙 1:鍔熻兘 2:鑷姩鍖�
+ UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = 0;
}
#endregion
@@ -954,7 +975,7 @@
UserCenterResourse.UserInfo.InitUserInfoSuccess = false;
//鑾峰彇鏈湴璁板綍鐨勭敤鎴蜂俊鎭�
UserCenterResourse.UserInfo = GetUserInformationFromLocation();
- UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png");
+ UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, "Admin.png");
//鑾峰彇鐧诲綍璐﹀彿鐨勪俊鎭�
var pra = new AccountInfoPra();
@@ -1032,7 +1053,7 @@
}
UserCenterResourse.UserInfo = userInfo;
- UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.Option.UserPictruePath, "Admin.png");
+ UserCenterResourse.UserInfo.UserIconFile = System.IO.Path.Combine(UserCenterResourse.AccountOption.UserPictruePath, "Admin.png");
if (UserCenterResourse.UserInfo.HeadImage != null)
{
//鍐欏叆澶村儚鍐呭
@@ -1040,10 +1061,10 @@
}
UserCenterResourse.UserInfo.HeadImage = null;
//鎵嬪娍瀵嗙爜
- UserCenterResourse.Option.GestureAuthentication = UserCenterResourse.UserInfo.GesturePwd == null ? string.Empty : UserCenterResourse.UserInfo.GesturePwd;
+ UserCenterResourse.AccountOption.GestureAuthentication = UserCenterResourse.UserInfo.GesturePwd == null ? string.Empty : UserCenterResourse.UserInfo.GesturePwd;
UserCenterResourse.UserInfo.GesturePwd = null;
//瀵嗙爜楠岃瘉
- UserCenterResourse.Option.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd;
+ UserCenterResourse.AccountOption.PswAuthentication = UserCenterResourse.UserInfo.StringPwd == null ? string.Empty : UserCenterResourse.UserInfo.StringPwd;
UserCenterResourse.UserInfo.StringPwd = null;
//鍒濆鍖栫鐞嗗憳鎺у埗涓讳汉鐨勮繛鎺ュ湴鍧�(鍥犱负杩欎釜杩炴帴Token鏄笉浼氭敼鍙樼殑,鎵�浠ュ彧闇�瑕佸垵濮嬪寲涓�娆�)
@@ -1234,9 +1255,9 @@
Global.CreateEmptyDirectory(directory);
//鐢ㄦ埛鍥剧墖鐩綍璺緞銆愭枃浠跺す銆�
- if (UserCenterResourse.Option.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.Option.UserPictruePath))
+ if (UserCenterResourse.AccountOption.UserPictruePath != string.Empty && !System.IO.Directory.Exists(UserCenterResourse.AccountOption.UserPictruePath))
{
- System.IO.Directory.CreateDirectory(UserCenterResourse.Option.UserPictruePath);
+ System.IO.Directory.CreateDirectory(UserCenterResourse.AccountOption.UserPictruePath);
}
}
--
Gitblit v1.8.0