From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs |  409 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 248 insertions(+), 161 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
index 8cadc49..67f47d5 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SceneEditPage.cs
@@ -3,6 +3,8 @@
 using Shared;
 using HDL_ON.Entity;
 using System.Collections.Generic;
+using System.Threading;
+using HDL_ON.DAL.Server;
 
 namespace HDL_ON.UI
 {
@@ -74,7 +76,6 @@
 
         Scene scene;
 
-        int pageTitleId;
         /// <summary>
         /// 鏇存柊鍔熻兘row
         /// </summary>
@@ -91,21 +92,13 @@
 
 
             refreshFunctionRowAction = () => {
-                LoadFunctionRow(functionListView);
+                LoadFunctionRow();
             };
         }
 
-        public void LoadPage(int titleId,Action backRefresh)
+        public void LoadPage(Action backRefresh)
         {
-            pageTitleId = titleId;
-            new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView(backRefresh);
-            initPage();
-        }
-
-        public void LoadPage(int titleId)
-        {
-            pageTitleId = titleId;
-            new TopViewDiv(bodyView, Language.StringByID(pageTitleId)).LoadTopView();
+            new TopViewDiv(bodyView, Language.StringByID(StringId.EditScene)).LoadTopView(backRefresh);
             initPage();
         }
 
@@ -136,9 +129,13 @@
                 Gravity = Gravity.CenterHorizontal,
                 Height = Application.GetRealWidth(184),
                 Radius = (uint)Application.GetRealWidth(12),
-                ImagePath = scene.ImagePath
+                //ImagePath = scene.ImagePath
             };
             sceneBgView.AddChidren(addSceneImageView);
+
+            //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+            ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, addSceneImageView);
+
 
             #region 鍦烘櫙鍚嶇Оrow
             sceneNameView = new FrameLayout()
@@ -205,7 +202,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.TextFontSize,
-                TextID = StringId.BelongToZone,
+                TextID = StringId.LocationManagement,
             };
             belongToZoneRow.AddChidren(btnBelongToTitle);
 
@@ -226,7 +223,7 @@
                 TextAlignment = TextAlignment.CenterRight,
                 TextColor = CSS_Color.PromptingColor1,
                 TextSize = CSS_FontSize.TextFontSize,
-                Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeHouseScene) : scene.GetRoomListName()
+                Text = scene.GetRoomListName() == "" ? Language.StringByID(StringId.WholeZone) : scene.GetRoomListName()
             };
             belongToZoneRow.AddChidren(btnZoneName);
 
@@ -239,7 +236,7 @@
             #endregion
 
             #region 鍦烘櫙寤舵椂row
-            if (DB_ResidenceData.residenceData.GatewayType == 1)
+            if (DB_ResidenceData.Instance.GatewayType == 1)
             {
                 FrameLayout sceneDelayRow = new FrameLayout()
                 {
@@ -264,7 +261,7 @@
                     TextAlignment = TextAlignment.CenterRight,
                     TextColor = CSS_Color.PromptingColor1,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = scene.delayText
+                    Text = scene.GetDelayText()
                 };
                 sceneDelayRow.AddChidren(btnSceneDelayInfo);
 
@@ -282,7 +279,17 @@
 
                 btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
                 {
-                    new PublicAssmebly().SetSceneDelayDialog(scene, btnSceneDelayInfo);
+                    Action<string> action = (obj) => {
+                        scene.delay = obj;
+                        btnSceneDelayInfo.Text = scene.GetDelayText();
+                        scene.EditScene();
+                    };
+                    Dictionary<string, string> items = new Dictionary<string, string>();
+                    items.Add("30", "30s");
+                    items.Add("60", "1min");
+                    items.Add("120", "2min");
+                    items.Add("300", "5min");
+                    new PublicAssmebly().SetSceneDelayDialog(action,scene.delay);
                 };
 
                 contentView.AddChidren(new Button()
@@ -317,19 +324,18 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = StringId.AddFunction,
+                TextID = StringId.FunctionManagement,
                 IsBold = true,
             };
             addFunctionRow.AddChidren(btnAddFunctionTitle);
 
             functionListView = new VerticalScrolViewLayout() {
                 Height = 0,
+                ScrollEnabled  = false,
             };
             contentView.AddChidren(functionListView);
 
-
-            LoadFunctionRow(functionListView);
-
+            LoadFunctionRow();
 
             Button btnLine1 = new Button()
             {
@@ -339,7 +345,6 @@
             };
             contentView.AddChidren(btnLine1);
 
-
             Button btnLine2 = new Button()
             {
                 //Y = sceneDelayRow.Bottom,
@@ -347,12 +352,11 @@
                 BackgroundColor = CSS_Color.DividingLineColor,
             };
             contentView.AddChidren(btnLine2);
-
             #endregion
 
             Button btnBottomLine = new Button()
             {
-                Y = Application.GetRealHeight(667-50)-1,
+                Y = Application.GetRealHeight(667 - 50) - 1,
                 Height = 1,
                 BackgroundColor = CSS_Color.DividingLineColor,
             };
@@ -363,25 +367,76 @@
                 Y = Application.GetRealHeight(667 - 50),
                 Height = Application.GetRealHeight(50),
                 TextAlignment = TextAlignment.Center,
-                TextColor = pageTitleId == StringId.NewScene ? CSS_Color.MainColor : CSS_Color.WarningColor,
+                TextColor =  CSS_Color.WarningColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                TextID = pageTitleId == StringId.NewScene ? StringId.Complete : StringId.Del,
+                TextID =   StringId.Del,
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 //IsBold = true
             };
-            bodyView.AddChidren(btnComplete);
-
+            if (scene.can_delete)
+            {
+                bodyView.AddChidren(btnComplete);
+            }
             LoadEventList();
+
+            var waitPage = new Loading();
+            new Thread(() => {
+                try
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        bodyView.AddChidren(waitPage);
+                        waitPage.Start(Language.StringByID(StringId.PleaseWait));
+                    });
+                    var pm = new HttpServerRequest();
+                    var pack = pm.GetSceneInfo(scene.userSceneId);
+                    if (pack.Code == StateCode.SUCCESS)
+                    {
+                        var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+                        var tempScene = sceneList.Find((obj) => obj.userSceneId == scene.userSceneId);
+                        if (tempScene != null)
+                        {
+                            scene.functions = tempScene.functions;
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            LoadFunctionRow();
+                            waitPage.Hide();
+                            waitPage.RemoveFromParent();
+                        });
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
+                    }
+                }
+                catch { }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        waitPage.Hide();
+                        waitPage.RemoveFromParent();
+                    });
+                }
+            }).Start();
         }
         /// <summary>
         /// 鍔犺浇鍔熻兘鍒楄〃
         /// </summary>
-        void LoadFunctionRow(VerticalScrolViewLayout functionListView)
+        void LoadFunctionRow()
         {
             functionListView.RemoveAll();
-            functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
-            foreach (var function in scene.sceneFunctionList)
+            functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
+            for(int i =0;i<scene.functions.Count;)
             {
+                var scenefunction = scene.functions[i];
+                if (scenefunction.localFunction == null)
+                {
+                    scene.functions.Remove(scenefunction);
+                    continue;
+                }
+                i++;
                 var row = new RowLayout()
                 {
                     Height = Application.GetRealWidth(65),
@@ -407,8 +462,6 @@
                 };
                 row.AddChidren(btnRight);
 
-                
-
                 var btnFunctionInfo = new Button()
                 {
                     Width = Application.GetRealWidth(327),
@@ -416,7 +469,7 @@
                     TextAlignment = TextAlignment.BottomRight,
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = GetFunctionScnenInfo(function),
+                    Text = scenefunction.GetFunctionScnenInfo(),
                 };
                 row.AddChidren(btnFunctionInfo);
 
@@ -431,9 +484,9 @@
                 };
                 row.AddChidren(btnFunctionDelayInfo);
 
-                if (function.delay > 0)
+                if (Convert.ToInt32( scenefunction.delay) > 0)
                 {
-                    btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + function.delayText;
+                    btnFunctionDelayInfo.Text = Language.StringByID(StringId.Delay) + " " + new Scene() { delay = scenefunction.delay }.GetDelayText();
                 }
                 else
                 {
@@ -447,7 +500,7 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
-                    Text = function.name,
+                    Text = scenefunction.localFunction.name,
                 };
                 row.AddChidren(btnFunctionName);
 
@@ -459,24 +512,19 @@
                     TextAlignment = TextAlignment.CenterLeft,
                     TextColor = CSS_Color.PromptingColor1,
                     TextSize = CSS_FontSize.TextFontSize,
-                    Text = function.GetRoomListName(),
+                    Text = scenefunction.localFunction.GetRoomListName(),
                 };
                 row.AddChidren(btnFunctionFloorAndRoom);
 
-                btnFunctionName.MouseUpEventHandler = (sender, e) =>
+                EventHandler<MouseEventArgs> skipEvent = (sender, e) =>
                 {
-                    var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
+                    var ssf = new SceneFunctionInfoEditPage(scene, scenefunction, refreshFunctionRowAction);
                     MainPage.BasePageView.AddChidren(ssf);
                     ssf.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
-                btnFunctionFloorAndRoom.MouseUpEventHandler = (sender, e) =>
-                {
-                    var ssf = new SceneFunctionInfoEditPage(scene, function, refreshFunctionRowAction);
-                    MainPage.BasePageView.AddChidren(ssf);
-                    ssf.LoadPage();
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                };
+                btnFunctionName.MouseUpEventHandler = skipEvent;
+                btnFunctionFloorAndRoom.MouseUpEventHandler = skipEvent;
 
 
                 Button btnDelSceneFunction = new Button() {
@@ -486,83 +534,12 @@
                 };
                 row.AddRightView(btnDelSceneFunction);
                 btnDelSceneFunction.MouseUpEventHandler = (sender, e) => {
-                    scene.sceneFunctionList.Remove(function);
-                    scene.SaveFunctionData();
+                    scene.functions.Remove(scenefunction);
+                    scene.EditScene();
                     row.RemoveFromParent();
-                    functionListView.Height = Application.GetRealWidth(65 * scene.sceneFunctionList.Count);
-                    //LoadFunctionRow(functionListView);
+                    functionListView.Height = Application.GetRealWidth(65 * scene.functions.Count);
                 };
-
-
             }
-        }
-
-        /// <summary>
-        /// 瑙f瀽鍦烘櫙鍔熻兘鏁版嵁
-        /// </summary>
-        /// <param name="sceneFunction"></param>
-        string GetFunctionScnenInfo(Function sceneFunction)
-        {
-            string sceneFunctionInfo = Language.StringByID(StringId.Close);
-            if (sceneFunction.trait_on_off.curValue.ToString() == "off")
-                return sceneFunctionInfo;
-            sceneFunctionInfo = "";
-            FunctionAttributes perTrait;
-
-            switch (sceneFunction.functionType)
-            {
-                case FunctionType.AC:
-                    sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
-                    sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
-                         sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
-                    sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "fan").GetCurValueText();
-                    break;
-                case FunctionType.FloorHeating:
-                    sceneFunctionInfo += sceneFunction.function.Find((obj) => obj.key == "mode").GetCurValueText();
-                    sceneFunctionInfo += " " + sceneFunction.function.Find((obj) => obj.key == "set_temperature").curValue.ToString() +
-                         sceneFunction.function.Find((obj) => obj.key == "set_temperature").uintString;
-                    break;
-                case FunctionType.Dimmer:
-                    perTrait = sceneFunction.function.Find((obj) => obj.key == "brightness");
-                    if (perTrait != null)
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
-                    }
-                    else
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    }
-                    break;
-                case FunctionType.Relay:
-                    sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    break;
-                case FunctionType.RGB:
-                    perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
-                    if (perTrait != null)
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "brightness").curValue.ToString() + "%";
-                    }
-                    else
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    }
-                    break;
-                case FunctionType.Curtain:
-                    sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    break;
-                case FunctionType.MotorCurtain:
-                    perTrait = sceneFunction.function.Find((obj) => obj.key == "percent");
-                    if (perTrait != null)
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open) + " " + sceneFunction.function.Find((obj) => obj.key == "percent").curValue.ToString() + "%";
-                    }
-                    else
-                    {
-                        sceneFunctionInfo += Language.StringByID(StringId.Open);
-                    }
-                    break;
-            }
-            return sceneFunctionInfo;
         }
 
         /// <summary>
@@ -674,7 +651,14 @@
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
                 Action backAction = () => {
-                    btnZoneName.Text = scene.GetRoomListName();
+                    var result = scene.EditScene();
+                    if (result == StateCode.SUCCESS)
+                    {
+                        btnZoneName.Text = scene.GetRoomListName();
+                    }else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(result);
+                    }
                 };
                 var ssl = new SetSceneLocationPage(scene, backAction);
                 MainPage.BasePageView.AddChidren(ssl);
@@ -693,7 +677,7 @@
         void LoadEvent_ChangeFunctionList()
         {
             btnAddFunctionTitle.MouseUpEventHandler = (sender, e) => {
-                var sefp =new SceneFunctionListEditPage(scene,refreshFunctionRowAction);
+                var sefp =new SceneFunctionListChoosePage(scene,refreshFunctionRowAction);
                 MainPage.BasePageView.AddChidren(sefp);
                 sefp.LoadPage();
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -735,20 +719,12 @@
             {
                 btnTakePicture.IsSelected = false;
 
-                var pid = Guid.NewGuid();
+                var imageName = Guid.NewGuid().ToString();
                 CropImage.TakePicture((imagePath) =>
                 {
-                    if (imagePath != null)
-                    {
-                        addSceneImageView.ImagePath = imagePath.ToString();
-                        scene.ImagePath = addSceneImageView.ImagePath;
-                        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
-                    }
-                }, pid.ToString(), 4, 3);
-                if (pageTitleId == StringId.EditScene)
-                {
-                    scene.SaveFunctionData();
-                }
+                    CropImageCallBack(imagePath);
+                }, imageName, 4, 3);
+
                 pictureOptionView.Parent.RemoveFromParent();
             };
             btnAlbum.MouseDownEventHandler = (sender, e) => {
@@ -758,20 +734,26 @@
             btnAlbum.MouseUpEventHandler = (sender, e) =>
             {
                 btnAlbum.IsSelected = false;
-                var pid = Guid.NewGuid();
+                //var pid = Guid.NewGuid();
+                //CropImage.SelectPicture((imagePath) =>
+                //{
+                //    if (imagePath != null)
+                //    {
+                //        addSceneImageView.ImagePath = imagePath.ToString();
+                //        scene.ImagePath = addSceneImageView.ImagePath;
+                //        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+                //    }
+                //}, pid.ToString(), 4, 3);
+
+                //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+                var imageName = Guid.NewGuid().ToString();
+                //var imageName = scene.sid;
                 CropImage.SelectPicture((imagePath) =>
                 {
-                    if (imagePath != null)
-                    {
-                        addSceneImageView.ImagePath = imagePath.ToString();
-                        scene.ImagePath = addSceneImageView.ImagePath;
-                        MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
-                    }
-                }, pid.ToString(), 4, 3);
-                if (pageTitleId == StringId.EditScene)
-                {
-                    scene.SaveFunctionData();
-                }
+                    CropImageCallBack(imagePath);
+                }, imageName, 4, 3);
+
+
                 pictureOptionView.Parent.RemoveFromParent();
             };
 
@@ -779,11 +761,9 @@
                 pictureOptionView.Parent.RemoveFromParent();
                 Action<string> action = (obj) => {
                     scene.ImagePath = obj;
+                    addSceneImageView.ImageBytes = null;//瑙e喅鏈塈mageBytes涓嶅姞杞絀magePath
                     addSceneImageView.ImagePath = scene.ImagePath;
-                    if (pageTitleId == StringId.EditScene)
-                    {
-                        scene.SaveFunctionData();
-                    }
+                    scene.EditScene();
                 };
 
                 var galleryPage = new GalleryPage(scene.ImagePath,action);
@@ -792,6 +772,29 @@
                 MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
             };
 
+        }
+
+        /// <summary>
+        /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
+        /// </summary>
+        /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+        /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
+        void CropImageCallBack(string selectImagePath)
+        {
+            if (string.IsNullOrEmpty(selectImagePath) == true)
+            {
+                return;
+            }
+
+            //涓婁紶鎴愬姛鍒板洖璋�
+            Action<string> uploadSuccessAction = (imageUrl) =>
+            {
+                //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔�
+                scene.ImagePath = imageUrl;
+                scene.EditScene();
+            };
+            //涓婁紶鍥剧墖鍒颁簯绔�
+            UploadImage(selectImagePath, addSceneImageView, scene, uploadSuccessAction);
         }
 
         /// <summary>
@@ -813,7 +816,7 @@
                         }.Show(bodyView);
                         return;
                     }
-                    foreach (var tempRoom in DB_ResidenceData.functionList.scenes)
+                    foreach (var tempRoom in FunctionList.List.scenes)
                     {
                         if (scene.name == tempRoom.name)
                         {
@@ -821,8 +824,8 @@
                             return;
                         }
                     }
-                    scene.SaveFunctionData();
-                    DB_ResidenceData.functionList.scenes.Add(scene);
+                    scene.EditScene();
+                    FunctionList.List.scenes.Add(scene);
                     backAction();
                     this.RemoveFromParent();
                 }
@@ -830,11 +833,11 @@
                 {
                     Action action = () =>
                     {
-                        DB_ResidenceData.DelSceneFunction(scene.sid);
+                        FunctionList.List.DeleteScene(scene,true);
                         backAction();
                         this.RemoveFromParent();
                     };
-                    new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteSceneTip, action);
+                    new PublicAssmebly().TipOptionMsg(StringId.Tip, StringId.DeleteSceneTip, action);
                 };
             };
         }
@@ -858,17 +861,17 @@
                     }.Show(bodyView);
                     return;
                 }
-                btnSceneName.Text = str;
                 scene.name = str;
-                if (pageTitleId == StringId.EditScene)
+                var result = scene.EditScene();
+                if (result == StateCode.SUCCESS)
                 {
-                    scene.SaveFunctionData();
+                    btnSceneName.Text = str;
                 }
             };
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
                 List<string> sceneNameList = new List<string>();
-                foreach (var tempScene in DB_ResidenceData.functionList.scenes)
+                foreach (var tempScene in FunctionList.List.scenes)
                 {
                     sceneNameList.Add(tempScene.name);
                 }
@@ -879,5 +882,89 @@
             btnEditSceneNameIcon.MouseUpEventHandler = eventHandler;
         }
 
+        /// <summary>
+        /// 涓婁紶鍥剧墖鏂规硶
+        /// </summary>
+        /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param>
+        /// <param name="imageView"></param>
+        /// <param name="uploadSuccessAction"></param>
+        void UploadImage(string selectImagePath, ImageView imageView, Scene mScene, Action<string> uploadSuccessAction)
+        {
+            try
+            {
+                //MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath);
+                //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄�
+                var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+                System.IO.File.Delete(selectImagePath);
+
+                var waitPage = new Loading();
+                bodyView.AddChidren(waitPage);
+                waitPage.Start(Language.StringByID(StringId.PleaseWait));
+                //寮�濮嬩笂浼�
+                new Thread(() =>
+                {
+                    try
+                    {
+                        var newImageName = mScene.name.Trim() + ".png";
+                        var uploadImageObj = new UploadImageObj()
+                        {
+                            prefix = "Scene" + Utlis.GetTimestamp(),
+                            fileName = newImageName,
+                            uid = mScene.sid,
+                            content = imageBytes,
+                        };
+
+                        var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj);
+                        if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(newImageName))
+                        {
+                            //涓婁紶鎴愬姛
+                            Application.RunOnMainThread(() =>
+                            {
+                                //Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl);
+                                //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨�
+                                if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg"))
+                                {
+                                    //Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath);
+                                    System.IO.File.Delete(imageView.ImagePath);
+                                }
+                                //閲嶅懡鍚嶄繚瀛�
+                                ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes);
+                                imageView.ImagePath = null;
+                                imageView.ImageBytes = imageBytes;
+                                //涓婁紶鎴愬姛
+                                Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
+                                uploadSuccessAction?.Invoke(imageUrl);
+                            });
+                        }
+                        else
+                        {
+                            //涓婁紶澶辫触
+                            Application.RunOnMainThread(() =>
+                            {
+                                //涓婁紶澶辫触
+                                Utlis.ShowTip(Language.StringByID(StringId.UploadFailed));
+                            });
+                        }
+
+                    }
+                    catch (Exception ex)
+                    {
+                    }
+                    finally
+                    {
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (waitPage != null)
+                            {
+                                waitPage.RemoveFromParent();
+                                waitPage = null;
+                            }
+                        });
+                    }
+                })
+                { IsBackground = true }.Start();
+            }
+            catch { }
+        }
     }
 }

--
Gitblit v1.8.0