wxr
2020-12-15 7d041ae6788088b0d67636f0c440755d3e40247c
Merge branch 'CJL' into NewFilePath
13个文件已修改
346 ■■■■ 已修改文件
HDL-ON_Android/Assets/Language.ini 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/Resources/Language.ini 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/ImageUtlis.cs 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/R.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/HttpServerRequest.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewApiRes.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI1-Login/LoginPageBLL.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_Android/Assets/Language.ini
@@ -567,6 +567,7 @@
9048=使用账号密码登录
9049=密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆
9050=验证面容ID
9051=保存用户头像失败
10000=无效登录密钥,请重新登录!
10001=请求服务器失败,请稍后再试!
HDL-ON_iOS/Resources/Language.ini
@@ -567,6 +567,7 @@
9048=使用账号密码登录
9049=密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆
9050=验证面容ID
9051=保存用户头像失败
10000=无效登录密钥,请重新登录!
10001=请求服务器失败,请稍后再试!
HDL_ON/Common/ImageUtlis.cs
@@ -162,6 +162,7 @@
        /// <summary>
        /// 通过图片路径下载图片
        /// 针对住宅,使用住宅域名服务器
        /// </summary>
        public byte[] GetImageDownloadUrl(string imageKey)
        {
@@ -170,6 +171,31 @@
                imageKey = imageKey,
            });
            var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_GetImageUrl, requestJson);
            if (revertObj.Code == StateCode.SUCCESS)
            {
                if (revertObj.Data != null)
                {
                    if (!string.IsNullOrEmpty(revertObj.Data.ToString()))
                    {
                        var url = revertObj.Data.ToString();
                        return HttpUtil.HttpsDownload(url);
                    }
                }
            }
            return null;
        }
        /// <summary>
        /// 通过图片路径下载图片
        /// 针对用户头像指定用户路径等
        /// </summary>
        public byte[] GetImageDownloadUrlWithRegionUrl(string imageKey, string regionUrl)
        {
            var requestJson = HttpUtil.GetSignRequestJson(new GetImageUrlObj()
            {
                imageKey = imageKey,
            });
            var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GetImageUrl, requestJson, regionUrl);
            if (revertObj.Code == StateCode.SUCCESS)
            {
                if (revertObj.Data != null)
@@ -326,40 +352,42 @@
            }
        }
        /// <summary>
        /// 获取拼接用户头像的ImageKey规则
        /// </summary>
        /// <returns></returns>
        public string GetHeadImageKey(string userId)
        {
            return "ON" + "_" + userId + "_" + HEADIMAGE;
        }
        //      /// <summary>
        ///// 获取拼接用户头像的ImageKey规则
        ///// </summary>
        ///// <returns></returns>
        //public string GetHeadImageKey(string userId)
        //      {
        //          return "ON" + "_" + userId + "_" + HEADIMAGE;
        //      }
        /// <summary>
        /// 生成头像上传规则参数
        /// </summary>
        /// <returns></returns>
        public UploadImageObj GetHeadImageUploadKeyObj(string userId)
        {
            return new UploadImageObj()
            {
                prefix = "ON",
                uid = userId,
                fileName = HEADIMAGE,
            };
        }
        ///// <summary>
        ///// 生成头像上传规则参数
        ///// </summary>
        ///// <returns></returns>
        //public UploadImageObj GetHeadImageUploadKeyObj(string userId)
        //{
        //    return new UploadImageObj()
        //    {
        //        prefix = "Icon" + Utlis.GetTimestamp(),
        //        uid = userId,
        //        fileName = HEADIMAGE,
        //    };
        //}
        /// <summary>
        /// 下载用户头像
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="ignoreCache">是否忽略缓存</param>
        /// <param name="imageKey"></param>
        /// <param name="ignoreCache">忽略缓存</param>
        /// <param name="regionUrl">指定服务器域名,传空为使用当前用户地址</param>
        /// <returns></returns>
        public byte[] DownHeadImage(string userId, bool ignoreCache = false)
        public byte[] DownHeadImageByImageKey(string imageKey, bool ignoreCache = false, string regionUrl = "")
        {
            try
            {
                var imageKey = GetHeadImageKey(userId);
                if (string.IsNullOrEmpty(imageKey)) return null;
                byte[] imageBytes;
                if (!ignoreCache && Exists(imageKey))
                {
@@ -369,7 +397,7 @@
                else
                {
                    //云端下载
                    imageBytes = GetImageDownloadUrl(imageKey);
                    imageBytes = GetImageDownloadUrlWithRegionUrl(imageKey, regionUrl);
                    if(imageBytes != null)
                    {
                        //保存到本地
HDL_ON/Common/R.cs
@@ -717,7 +717,10 @@
        /// 验证面容ID
        /// </summary>
        public const int VerifyFaceID = 9050;
        /// <summary>
        /// 保存用户头像失败
        /// </summary>
        public const int FailedToSaveUserImage = 9051;
        #region 网络请求响应错误提示信息
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -297,6 +297,7 @@
                UserInfo.Current.userEmailInfo = info.memberEmail;
                UserInfo.Current.userMobileInfo = info.memberPhone;
                UserInfo.Current.userName = info.memberName;
                if (!string.IsNullOrEmpty(info.memberPhonePrefix))
                {
                    UserInfo.Current.areaCode = info.memberPhonePrefix;
@@ -304,14 +305,16 @@
                //是否需要获取头像
                if (bGetHeadImage)
                {
                    var imageKey = ImageUtlis.Current.GetHeadImageKey(info.memberId);
                    var headImageBytes = ImageUtlis.Current.DownHeadImage(info.memberId);
                    if (headImageBytes != null && headImageBytes.Length > 0)
                    //2020-12-15 修改头像方案
                    if (!string.IsNullOrEmpty(info.memberHeadIcon))
                    {
                        //UserInfo.Current.headImagePageBytes = headImageBytes;
                        UserInfo.Current.headImagePagePath = imageKey;
                        var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(info.memberHeadIcon);
                        if (headImageBytes != null && headImageBytes.Length > 0)
                        {
                            UserInfo.Current.headImagePagePath = info.memberHeadIcon;
                            //UserInfo.Current.headImagePagePath = imageKey;
                        }
                    }
                }
@@ -375,11 +378,9 @@
        /// 获取用户头像
        /// </summary>
        /// <param name="userId"></param>
        public void GetUserHeadImage(string userId)
        public void GetUserHeadImageByKey(string imageKey)
        {
            var imageKey = ImageUtlis.Current.GetHeadImageKey(userId);
            var headImageBytes = ImageUtlis.Current.DownHeadImage(userId);
            var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(imageKey);
            if (headImageBytes != null && headImageBytes.Length > 0)
            {
@@ -405,6 +406,20 @@
        ///// <summary>
        ///// 更新用户头像
        ///// </summary>
        ///// <param name="userName"></param>
        ///// <returns></returns>
        //public ResponsePackNew UpdateMemberHeadIcon(string memberHeadIcon)
        //{
        //    var requestJson = HttpUtil.GetSignRequestJson(new UpdateMemberHeadIconRes()
        //    {
        //        memberHeadIcon = memberHeadIcon
        //    });
        //    return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson);
        //}
        ///// <summary>
        ///// 更新用户头像
        ///// </summary>
        ///// <param name="vs"></param>
        ///// <returns></returns>
        //public string UpdataUserHeadImage(string fileName)
HDL_ON/DAL/Server/NewApiRes.cs
@@ -316,6 +316,10 @@
        /// 登录名
        /// </summary>
        public string loginName;
        /// <summary>
        /// 用户头像
        /// </summary>
        public string memberHeadIcon;
    }
@@ -332,6 +336,18 @@
    }
    /// <summary>
    /// 更新个人头像
    /// </summary>
    [System.Serializable]
    public class UpdateMemberHeadIconRes
    {
        /// <summary>
        /// 用户头像
        /// </summary>
        public string memberHeadIcon;
    }
    /// <summary>
    /// 绑定认证(手机/邮箱)
HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs
@@ -67,7 +67,7 @@
        /// <summary>
        /// 区域服务器
        /// </summary>
        public string regionUrl;
        public string childAccountRegionUrl;
        /// <summary>
        /// 是否允许远程控制
        /// </summary>
@@ -97,6 +97,10 @@
        /// </summary>
        public string childAccountPhone;
        /// <summary>
        /// 用户头像
        /// </summary>
        public string memberHeadIcon;
        /// <summary>
        /// 用户账号
        /// 优先显示手机号,如果手机号为空则显示邮箱地址
        /// </summary>
HDL_ON/UI/UI1-Login/LoginPageBLL.cs
@@ -725,8 +725,7 @@
                //获取用户信息
                new Thread(() =>
                {
                    pm.GetUserHeadImage(revertData.userId);
                    pm.GetUserInfo(false);
                    pm.GetUserInfo();
                })
                { IsBackground = true }.Start();
            }
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -190,17 +190,17 @@
                Control.Ins.SendWriteCommand(curtain, d);
            };
            btnStop.MouseDownEventHandler = (sender, e) =>
            //btnStop.MouseDownEventHandler = (sender, e) =>
            //{
            //    btnStop.IsSelected = true;
            //    btnClose.IsSelected = false;
            //    btnOpen.IsSelected = false;
            //};
            btnStop.MouseUpEventHandler = (sender, e) =>
            {
                btnStop.IsSelected = true;
                btnClose.IsSelected = false;
                btnOpen.IsSelected = false;
            };
            btnStop.MouseUpEventHandler = (sender, e) =>
            {
                btnOpen.IsSelected = true;
                btnClose.IsSelected = false;
                btnStop.IsSelected = false;
                curtain.trait_on_off.curValue = "stop";
                //curtain.percent = 0;
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs
@@ -62,13 +62,13 @@
        /// </summary>
        void CheckIfDownloadHeadImage(ResidenceMemberInfo residenceMemberInfo)
        {
            var imageKey = ImageUtlis.Current.GetHeadImageKey(residenceMemberInfo.childAccountId);
            if (string.IsNullOrEmpty(residenceMemberInfo.memberHeadIcon)) return;
            var headImageBytes = ImageUtlis.Current.DownHeadImage(residenceMemberInfo.childAccountId);
            var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(residenceMemberInfo.memberHeadIcon, false, residenceMemberInfo.childAccountRegionUrl);
            if (headImageBytes != null && headImageBytes.Length > 0)
            {
                residenceMemberInfo.headImagePagePath = imageKey;
                residenceMemberInfo.headImagePagePath = residenceMemberInfo.memberHeadIcon;
                Utlis.WriteLine("子账号头像获取成功");
            }
        }
HDL_ON/UI/UI2/4-PersonalCenter/PersonalDataPageBLL.cs
@@ -180,7 +180,7 @@
            btnTakePicture.MouseUpEventHandler = (sender, e) =>
            {
                btnTakePicture.IsSelected = false;
                //拍照裁剪
                //var imageName = "headImage";
                var imageName = Guid.NewGuid().ToString();
@@ -257,34 +257,58 @@
                var waitPage = new Loading();
                bodyView.AddChidren(waitPage);
                waitPage.Start(Language.StringByID(StringId.PleaseWait));
                //开始上传
                //1.开始上传
                new Thread(() =>
                {
                    try
                    {
                        var uploadImageObj = ImageUtlis.Current.GetHeadImageUploadKeyObj(userId);
                        uploadImageObj.content = imageBytes;
                        //生成上传头像参数
                        var uploadImageObj = new UploadImageObj()
                        {
                            prefix = "Icon" + Utlis.GetTimestamp(),
                            uid = userId,
                            fileName = ImageUtlis.HEADIMAGE,
                            content = imageBytes,
                        };
                        var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj);
                        if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(userId))
                        {
                            //上传成功
                            Application.RunOnMainThread(() =>
                            //2.上传成功
                            //2.1更新最新图片路径到云端
                            var resultObj = UpdateMemberHeadIcon(imageUrl);
                            if (resultObj.Code == StateCode.SUCCESS)
                            {
                                //Utlis.WriteLine("上传成功:" + imageUrl);
                                //1.2如果是自定义图片删除之前的
                                if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("LoginIcon/2.png"))
                                //3.更新最新图片路径到云端成功
                                Application.RunOnMainThread(() =>
                                {
                                    //Utlis.WriteLine("删除: " + imageView.ImagePath);
                                    System.IO.File.Delete(imageView.ImagePath);
                                }
                                //重命名保存
                                ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes);
                                imageView.ImagePath = imageUrl;
                                imageView.ImageBytes = imageBytes;
                                //上传成功
                                Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
                                uploadSuccessAction?.Invoke(imageUrl);
                            });
                                    //Utlis.WriteLine("上传成功:" + imageUrl);
                                    //1.2如果是自定义图片删除之前的
                                    if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("LoginIcon/2.png"))
                                    {
                                        //Utlis.WriteLine("删除: " + imageView.ImagePath);
                                        System.IO.File.Delete(imageView.ImagePath);
                                    }
                                    //重命名保存
                                    ImageUtlis.Current.WriteFileByBytes(imageUrl, imageBytes);
                                    imageView.ImagePath = imageUrl;
                                    imageView.ImageBytes = imageBytes;
                                    //上传成功
                                    Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
                                    uploadSuccessAction?.Invoke(imageUrl);
                                });
                            }
                            else
                            {
                                //更新最新图片路径到云端失败
                                Application.RunOnMainThread(() =>
                                {
                                    //保存用户头像失败
                                    Utlis.ShowTip(Language.StringByID(StringId.FailedToSaveUserImage));
                                });
                            }
                        }
                        else
                        {
@@ -315,6 +339,20 @@
                { IsBackground = true }.Start();
            }
            catch { }
        }
        /// <summary>
        /// 更新用户头像
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        public ResponsePackNew UpdateMemberHeadIcon(string memberHeadIcon)
        {
            var requestJson = HttpUtil.GetSignRequestJson(new UpdateMemberHeadIconRes()
            {
                memberHeadIcon = memberHeadIcon
            });
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson);
        }
        /// <summary>
@@ -526,5 +564,65 @@
            })
            { IsBackground = true }.Start();
        }
        ///// <summary>
        ///// 获取用户信息
        ///// </summary>
        ///// <returns></returns>
        //public void GetUserInfoNew()
        //{
        //    new System.Threading.Thread(() =>
        //    {
        //        try
        //        {
        //            var requestJson = HttpUtil.GetSignRequestJson(new NullObj());
        //            var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_GetMemberInfo, requestJson);
        //            if (resultObj.Code == StateCode.SUCCESS)
        //            {
        //                var info = Newtonsoft.Json.JsonConvert.DeserializeObject<MemberInfoRes>(resultObj.Data.ToString());
        //                UserInfo.Current.userEmailInfo = info.memberEmail;
        //                UserInfo.Current.userMobileInfo = info.memberPhone;
        //                UserInfo.Current.userName = info.memberName;
        //                if (!string.IsNullOrEmpty(info.memberPhonePrefix))
        //                {
        //                    UserInfo.Current.areaCode = info.memberPhonePrefix;
        //                }
        //                //2020-12-15 修改头像方案
        //                if (!string.IsNullOrEmpty(info.memberHeadIcon))
        //                {
        //                    var headImageBytes = ImageUtlis.Current.DownHeadImageByImageKey(info.memberHeadIcon);
        //                    if (headImageBytes != null && headImageBytes.Length > 0)
        //                    {
        //                        UserInfo.Current.headImagePagePath = info.memberHeadIcon;
        //                    }
        //                }
        //                Application.RunOnMainThread(() =>
        //                {
        //                    btnUserName.Text = str;
        //                    updataUserName();
        //                });
        //                UserInfo.Current.SaveUserInfo();
        //                MainPage.Log("获取用户信息成功。");
        //                //userHeadImageView
        //            }
        //        }
        //        catch { }
        //        finally
        //        {
        //        }
        //    })
        //    { IsBackground = true }.Start();
        //}
    }
}
HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPageBLL.cs
@@ -19,9 +19,9 @@
                {
                    if (uCurtain.trait_on_off.curValue.ToString() == "stop")
                    {
                        bodyView.btnCurtainOpen.IsSelected = true;
                        bodyView.btnCurtainOpen.IsSelected = false;
                        bodyView.btnCurtainClose.IsSelected = false;
                        bodyView.btnCurtainStop.IsSelected = false;
                        bodyView.btnCurtainStop.IsSelected = true;
                    }
                    else if (uCurtain.trait_on_off.curValue.ToString() == "on")
                    {
@@ -90,17 +90,20 @@
                DriverLayer.Control.Ins.SendWriteCommand(curtain, d);
            };
            btnCurtainStop.MouseDownEventHandler = (sender, e) =>
            //btnCurtainStop.MouseDownEventHandler = (sender, e) =>
            //{
            //    btnCurtainStop.IsSelected = true;
            //    btnCurtainClose.IsSelected = false;
            //    btnCurtainOpen.IsSelected = false;
            //};
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                //btnCurtainOpen.IsSelected = true;
                //btnCurtainClose.IsSelected = false;
                //btnCurtainStop.IsSelected = false;
                btnCurtainStop.IsSelected = true;
                btnCurtainClose.IsSelected = false;
                btnCurtainOpen.IsSelected = false;
            };
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                btnCurtainOpen.IsSelected = true;
                btnCurtainClose.IsSelected = false;
                btnCurtainStop.IsSelected = false;
                curtain.trait_on_off.curValue = "stop";
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                d.Add("on_off", curtain.trait_on_off.curValue.ToString());
HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPageBLL.cs
@@ -22,9 +22,9 @@
                {
                    if (uCurtain.trait_on_off.curValue.ToString() == "stop")
                    {
                        bodyView.btnCurtainOpen.IsSelected = true;
                        bodyView.btnCurtainOpen.IsSelected = false;
                        bodyView.btnCurtainClose.IsSelected = false;
                        bodyView.btnCurtainStop.IsSelected = false;
                        bodyView.btnCurtainStop.IsSelected = true;
                    }
                    else if (uCurtain.trait_on_off.curValue.ToString() == "on")
                    {
@@ -92,17 +92,17 @@
                Control.Ins.SendWriteCommand(curtain, d);
            };
            btnCurtainStop.MouseDownEventHandler = (sender, e) =>
            //btnCurtainStop.MouseDownEventHandler = (sender, e) =>
            //{
            //    btnCurtainStop.IsSelected = true;
            //    btnCurtainClose.IsSelected = false;
            //    btnCurtainOpen.IsSelected = false;
            //};
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                btnCurtainStop.IsSelected = true;
                btnCurtainClose.IsSelected = false;
                btnCurtainOpen.IsSelected = false;
            };
            btnCurtainStop.MouseUpEventHandler = (sender, e) =>
            {
                btnCurtainOpen.IsSelected = true;
                btnCurtainClose.IsSelected = false;
                btnCurtainStop.IsSelected = false;
                curtain.trait_on_off.curValue = "stop";
                //Control.Send(CommandType_A.write, curtain);
                System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();