wxr
2020-11-20 716d1b3b705e7d37e6edebd7f60b7613ab5aee87
HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -111,15 +111,15 @@
        {
            var requestJson = HttpUtil.GetSignRequestJson(new RefreshTokenObj()
            {
                refreshToken = MainPage.LoginUser.refreshToken,
                refreshToken =  UserInfo.Current.refreshToken,
            });
            var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
            if (revertObj.Code.ToUpper() == StateCode.SUCCESS)
            {
                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString());
                MainPage.LoginUser.loginTokenString = revertData.headerPrefix + revertData.accessToken;
                MainPage.LoginUser.lastTime = DateTime.Now;
                MainPage.LoginUser.SaveUserInfo();
                 UserInfo.Current.loginTokenString = revertData.headerPrefix + revertData.accessToken;
                 UserInfo.Current.lastTime = DateTime.Now;
                 UserInfo.Current.SaveUserInfo();
                return true;
            }
            return false;
@@ -266,12 +266,15 @@
        /// <summary>
        /// 验证验证码
        /// </summary>
        /// <param name="account"></param>
        /// <param name="code"></param>
        /// <param name="verifyType">验证类型</param>
        /// <param name="account">验证账号</param>
        /// <param name="code">验证码</param>
        /// <param name="isPhone">是否手机</param>
        /// <param name="verifySuccessFail">验证通过后,验证码是否失效</param>
        /// <returns></returns>
        public ResponsePackNew ValidatorCode(VerifyType verifyType, string account, string code, bool isPhone)
        public ResponsePackNew ValidatorCode(VerifyType verifyType, string account, string code, bool isPhone, bool verifySuccessFail = true)
        {
            var requestObj = new VerifyCodeCheckObj() { verifyCode = code, verifyType = (int)verifyType };
            var requestObj = new VerifyCodeCheckObj() { verifyCode = code, verifyType = (int)verifyType , verifySuccessFail = verifySuccessFail };
            if (isPhone)
            {
                //手机
@@ -309,46 +312,50 @@
        /// 获取用户信息
        /// </summary>
        /// <returns></returns>
        public void GetUserInfo()
        public void GetUserInfo(bool bGetHeadImage = true)
        {
            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());
                MainPage.LoginUser.userEmailInfo = info.memberEmail;
                MainPage.LoginUser.userMobileInfo = info.memberPhone;
                MainPage.LoginUser.userName = info.memberName;
                var headImageBytes = DownHeadImage();
                if (headImageBytes != null)
                 UserInfo.Current.userEmailInfo = info.memberEmail;
                 UserInfo.Current.userMobileInfo = info.memberPhone;
                 UserInfo.Current.userName = info.memberName;
                 UserInfo.Current.areaCode = info.memberPhonePrefix;
                //是否需要获取头像
                if (bGetHeadImage)
                {
                    MainPage.LoginUser.headImagePageBytes = headImageBytes;
                    FileStream fs = null;
                    try
                    var headImageBytes = DownHeadImage();
                    if (headImageBytes != null)
                    {
                        MainPage.LoginUser.headImagePageBytes = headImageBytes;
                        var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", "headImage.png");
                        fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
                        fs.Write(headImageBytes, 0, headImageBytes.Length);
                        fs.Flush();
                        MainPage.LoginUser.headImagePagePath = filePath;
                    }
                    catch (Exception ex)
                    {
                        MainPage.Log($"download headImage error : {ex.Message}");
                    }
                    finally
                    {
                        if (fs != null)
                         UserInfo.Current.headImagePageBytes = headImageBytes;
                        FileStream fs = null;
                        try
                        {
                            fs.Close();
                             UserInfo.Current.headImagePageBytes = headImageBytes;
                            var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", "headImage.png");
                            fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
                            fs.Write(headImageBytes, 0, headImageBytes.Length);
                            fs.Flush();
                             UserInfo.Current.headImagePagePath = filePath;
                        }
                    }
                        catch (Exception ex)
                        {
                            MainPage.Log($"download headImage error : {ex.Message}");
                        }
                        finally
                        {
                            if (fs != null)
                            {
                                fs.Close();
                            }
                        }
                    }
                }
                MainPage.LoginUser.SaveUserInfo();
                 UserInfo.Current.SaveUserInfo();
                MainPage.Log("获取用户信息成功。");
            }
@@ -361,8 +368,8 @@
            //{
            //    var dataStr = JObject.FromObject(revertObj.ResponseData);
            //    //"DistributedMark": "96439601-fd26-4768-8440-1d9dfa32c109",  < !--帐号Id-- >
            //    MainPage.LoginUser.userEmailInfo = dataStr.GetValue("Email").ToString();
            //    MainPage.LoginUser.userMobileInfo = dataStr.GetValue("Phone").ToString();
            //     UserInfo.Current.userEmailInfo = dataStr.GetValue("Email").ToString();
            //     UserInfo.Current.userMobileInfo = dataStr.GetValue("Phone").ToString();
            //    FileStream fs = null;
            //    try
            //    {
@@ -371,12 +378,12 @@
            //        {
            //            var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString);
            //            var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString);
            //            MainPage.LoginUser.headImagePageBytes = headImageBytes;
            //             UserInfo.Current.headImagePageBytes = headImageBytes;
            //            var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/", "headImage.png");
            //            fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
            //            fs.Write(headImageBytes, 0, headImageBytes.Length);
            //            fs.Flush();
            //            MainPage.LoginUser.headImagePagePath = filePath;
            //             UserInfo.Current.headImagePagePath = filePath;
            //        }
            //    }
            //    catch (Exception ex)
@@ -392,13 +399,13 @@
            //    }
            //    // "GesturePwd": null,  < !--手势密码-- >
            //    // "StringPwd": null , < !--字符串密码-- >
            //    MainPage.LoginUser.userName = dataStr.GetValue("UserName").ToString();
            //     UserInfo.Current.userName = dataStr.GetValue("UserName").ToString();
            //    Application.RunOnMainThread(() =>
            //    {
            //    });
            //    MainPage.LoginUser.SaveUserInfo();
            //     UserInfo.Current.SaveUserInfo();
            //    MainPage.Log("获取用户信息成功。");
            //}
@@ -458,11 +465,24 @@
            else
            {
                //邮箱
                requestObj.memberMail = account;
                requestObj.memberEmail = account;
            }
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson).Code;
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_BindWithAccount, requestJson).Code;
        }
        /// <summary>
        /// 解绑手机或者邮箱
        /// </summary>
        /// <param name="isPhone"></param>
        /// <returns></returns>
        public string UnBindAccount(bool isPhone)
        {
            var requestObj = new UnBindAccountObj() { unBindLabel = isPhone ? "PHONE": "EMAIL" };
            var requestJson = HttpUtil.GetSignRequestJson(requestObj);
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UnbindWithAccount, requestJson).Code;
        }
        #endregion
        #region 住宅部分
@@ -482,7 +502,7 @@
                }
                else
                {
                    MainPage.LoginUser.regionList = new List<RegionInfoRes>();
                     UserInfo.Current.regionList = new List<RegionInfoRes>();
                   
                    foreach (var mHome in homeList)
                    {
@@ -507,14 +527,14 @@
                        {
                            continue;
                        }
                        MainPage.LoginUser.regionList.Add(home);
                         UserInfo.Current.regionList.Add(home);
                        if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID))
                        {
                            DB_ResidenceData.residenceData.CurReginID = MainPage.LoginUser.regionList[0].RegionID;
                            DB_ResidenceData.residenceData.CurReginID =  UserInfo.Current.regionList[0].RegionID;
                        }
                    }
                    DB_ResidenceData.residenceData.SaveResidenceData();
                    MainPage.LoginUser.SaveUserInfo();
                     UserInfo.Current.SaveUserInfo();
                }
               
            }
@@ -525,7 +545,7 @@
            //                    "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," +
            //                    "\"RequestSource\":" + "\"" + "2" + "\"" + "," +
            //                    "\"HomeType\":" + "\"" + "1" + "\"" + "," +
            //                    "\"LoginAccessToken\":" + "\"" + MainPage.LoginUser.loginTokenString + "\"" +
            //                    "\"LoginAccessToken\":" + "\"" +  UserInfo.Current.loginTokenString + "\"" +
            //                    "}";
            //var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false);
@@ -564,7 +584,7 @@
            //        //    }
            //        //  ]
            //        //}}
            //        MainPage.LoginUser.regionList = new List<RegionInfoRes>();
            //         UserInfo.Current.regionList = new List<RegionInfoRes>();
            //        foreach (var jsonData in dataStr.GetValue("PageData"))
            //        {
            //            var homeJsonStr = JObject.FromObject(jsonData);
@@ -581,14 +601,14 @@
            //            {
            //                continue;
            //            }
            //            MainPage.LoginUser.regionList.Add(home);
            //             UserInfo.Current.regionList.Add(home);
            //            if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID))
            //            {
            //                DB_ResidenceData.residenceData.CurReginID = MainPage.LoginUser.regionList[0].RegionID;
            //                DB_ResidenceData.residenceData.CurReginID =  UserInfo.Current.regionList[0].RegionID;
            //            }
            //        }
            //        DB_ResidenceData.residenceData.SaveResidenceData();
            //        MainPage.LoginUser.SaveUserInfo();
            //         UserInfo.Current.SaveUserInfo();
            //    }
            //}
            //return responsePack.StateCode;
@@ -604,7 +624,7 @@
            //添加元素
            d.Add("RequestVersion", MainPage.VersionString);
            d.Add("RequestSource", "2");
            d.Add("LoginAccessToken", MainPage.LoginUser.loginTokenString);
            d.Add("LoginAccessToken",  UserInfo.Current.loginTokenString);
            d.Add("HomeId", DB_ResidenceData.residenceData.residecenInfo.RegionID);
            d.Add("HomeType", 1);
            d.Add("Name", DB_ResidenceData.residenceData.residecenInfo.Name);
@@ -623,20 +643,28 @@
        public ResponsePackNew GetResidenceMemberAccount()
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID });
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Child_FindAll, requestJson, null, DB_ResidenceData.residenceData.residecenInfo.regionUrl);
            var replaceToken =  UserInfo.Current.loginTokenString;
            //如果当前所分享住宅和为管理员,替换为主人token
            //待处理...
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Child_FindAll, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken);
        }
        /// <summary>
        /// 删除住宅下的成员账号
        /// </summary>
        /// <returns></returns>
        public ResponsePack DeleteResidenceMemberAccount(string memberAccount)
        public ResponsePackNew DeleteResidenceMemberAccount(ResidenceMemberInfo subaccount)
        {
            Dictionary<string, object> d = new Dictionary<string, object>();
            d.Add("SubAccount", memberAccount);
            d.Add("HouseDistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID);
            string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
            return RequestHttps($"{severAddress}/ZigbeeUsers/DeletedSubAccount", jsonString, true);
            var requestObj = new ChildDeleteObj()
            {
                childAccountId = subaccount.childAccountId,
                homeId = subaccount.homeId
            };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
            var replaceToken =  UserInfo.Current.loginTokenString;
            //如果当前所分享住宅和为管理员,替换为主人token
            //待处理...
            return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Child_Delete, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken);
        }
        /// <summary>