From 7153e420d66bce0a06b7e972ac3a5c34197fa2e5 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 18 十一月 2020 20:02:13 +0800
Subject: [PATCH] 2020-11-18 1.修改完善手机绑定和解绑。
---
HDL_ON/DAL/Server/HttpServerRequest.cs | 414 ++++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 266 insertions(+), 148 deletions(-)
diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs
index 376cf97..ed753d9 100644
--- a/HDL_ON/DAL/Server/HttpServerRequest.cs
+++ b/HDL_ON/DAL/Server/HttpServerRequest.cs
@@ -114,7 +114,7 @@
refreshToken = MainPage.LoginUser.refreshToken,
});
var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Login, requestJson);
- if (revertObj.Code.ToUpper() == HttpUtil.SUCCESS_CODE)
+ if (revertObj.Code.ToUpper() == StateCode.SUCCESS)
{
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(revertObj.Data.ToString());
MainPage.LoginUser.loginTokenString = revertData.headerPrefix + revertData.accessToken;
@@ -140,7 +140,7 @@
/// <summary>
/// 閫氱敤 鍙戦�侀獙璇佺爜鏂规硶
/// </summary>
- /// <param name="verifyType">1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱櫥闄� 4:缁戝畾</param>
+ /// <param name="verifyType">1:娉ㄥ唽 2锛氭壘鍥炲瘑鐮� 3锛氱粦瀹�4:楠岃瘉鐮佺櫥闄� 5:鏁忔劅鏁版嵁</param>
/// <param name="account">閭鎴栬�呮墜鏈哄彿</param>
/// <param name="isPhone">鏄惁鎵嬫満</param>
/// <param name="phoneZoneCode">鎵嬫満鍥藉鍖哄彿</param>
@@ -250,32 +250,15 @@
-
-
-
- /// <summary>
- /// 鑾峰彇鐧诲綍楠岃瘉鐮�
- /// </summary>
- public ResponsePack GetLoginVerCode(string account)
- {
-
- string jsonString = "{" +
- "\"Account\":" + "\"" + account + "\"" + "," +
- "\"AreaCode\":" + "86" +
- "}";
- return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false);
- }
-
///// <summary>
- ///// 鍙戦�侀獙璇佺爜
+ ///// 鑾峰彇鐧诲綍楠岃瘉鐮�
///// </summary>
- //public ResponsePack SendSms(string account)
+ //public ResponsePack GetLoginVerCode(string account)
//{
+
// string jsonString = "{" +
// "\"Account\":" + "\"" + account + "\"" + "," +
- // "\"Company\":" + MainPage.Company + "," +
- // "\"Language\":" + "\"" + Language.CurrentLanguage + "\"" + "," +
- // "\"AreaCode\":" + OnAppConfig.Instance.CountryNumber +
+ // "\"AreaCode\":" + "86" +
// "}";
// return RequestHttps($"{severAddress}/ZigbeeUsers/LoginSendVerCode", jsonString, false);
//}
@@ -286,15 +269,21 @@
/// <param name="account"></param>
/// <param name="code"></param>
/// <returns></returns>
- public ResponsePack ValidatorCode(string account, string code, int countryIndex)
+ public ResponsePackNew ValidatorCode(VerifyType verifyType, string account, string code, bool isPhone)
{
- string jsonString = "{" +
- "\"Account\":" + "\"" + account + "\"" + "," +
- "\"Code\":" + "\"" + code + "\"" + "," +
- "\"Language\":" + "\"" + Language.CurrentLanguage + "\"" + "," +
- "\"AreaCode\":" + countryIndex +
- "}";
- return RequestHttps($"{severAddress}/ZigbeeUsers/ValidatorCode", jsonString, false);
+ var requestObj = new VerifyCodeCheckObj() { verifyCode = code, verifyType = (int)verifyType };
+ if (isPhone)
+ {
+ //鎵嬫満
+ requestObj.phone = account;
+ }
+ else
+ {
+ //閭
+ requestObj.mail = account;
+ }
+ var requestJson = HttpUtil.GetSignRequestJson(requestObj);
+ return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Verification_Check, requestJson);
}
@@ -320,57 +309,111 @@
/// 鑾峰彇鐢ㄦ埛淇℃伅
/// </summary>
/// <returns></returns>
- public void GetUserInfo()
+ public void GetUserInfo(bool bGetHeadImage = true)
{
- Dictionary<string, object> d = new Dictionary<string, object>();
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
- var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/GetAccountInfo", requestJson, true);
-
- if (revertObj.StateCode.ToUpper() == HttpUtil.SUCCESS_CODE)
+ var requestJson = HttpUtil.GetSignRequestJson(new NullObj());
+ var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_GetMemberInfo, requestJson);
+ if (resultObj.Code == StateCode.SUCCESS)
{
- 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();
- FileStream fs = null;
- try
+ 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;
+ MainPage.LoginUser.areaCode = info.memberPhonePrefix;
+ //鏄惁闇�瑕佽幏鍙栧ご鍍�
+ if (bGetHeadImage)
{
- var headImageString = dataStr.GetValue("HeadImage").ToString();
- if (!string.IsNullOrEmpty(headImageString))
+ var headImageBytes = DownHeadImage();
+ if (headImageBytes != null)
{
- var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString);
- var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString);
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)
- {
- fs.Close();
- }
- }
- // "GesturePwd": null, < !--鎵嬪娍瀵嗙爜-- >
- // "StringPwd": null , < !--瀛楃涓插瘑鐮�-- >
- MainPage.LoginUser.userName = dataStr.GetValue("UserName").ToString();
+ FileStream fs = null;
+ try
+ {
+ 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)
+ {
+ fs.Close();
+ }
+ }
- Application.RunOnMainThread(() =>
- {
- });
+ }
+ }
MainPage.LoginUser.SaveUserInfo();
MainPage.Log("鑾峰彇鐢ㄦ埛淇℃伅鎴愬姛銆�");
}
+
+ // Dictionary<string, object> d = new Dictionary<string, object>();
+ //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
+ //var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/GetAccountInfo", requestJson, true);
+
+ //if (revertObj.StateCode.ToUpper() == StateCode.SUCCESS)
+ //{
+ // 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();
+ // FileStream fs = null;
+ // try
+ // {
+ // var headImageString = dataStr.GetValue("HeadImage").ToString();
+ // if (!string.IsNullOrEmpty(headImageString))
+ // {
+ // var jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(headImageString);
+ // var headImageBytes = Newtonsoft.Json.JsonConvert.DeserializeObject<byte[]>(jsonString);
+ // 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)
+ // {
+ // fs.Close();
+ // }
+ // }
+ // // "GesturePwd": null, < !--鎵嬪娍瀵嗙爜-- >
+ // // "StringPwd": null , < !--瀛楃涓插瘑鐮�-- >
+ // MainPage.LoginUser.userName = dataStr.GetValue("UserName").ToString();
+
+ // Application.RunOnMainThread(() =>
+ // {
+ // });
+
+ // MainPage.LoginUser.SaveUserInfo();
+ // MainPage.Log("鑾峰彇鐢ㄦ埛淇℃伅鎴愬姛銆�");
+ //}
+
+ }
+
+ /// <summary>
+ /// 涓嬭浇鐢ㄦ埛澶村儚
+ /// </summary>
+ public byte[] DownHeadImage()
+ {
+ return HttpUtil.RequestHttpsDownload(NewAPI.API_POST_Head_Down, null);
}
/// <summary>
@@ -378,14 +421,12 @@
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
- public ResponsePack EditUserName(string userName)
+ public ResponsePackNew EditUserName(string userName)
{
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add("UserName", userName);
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
- var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/UpdateUserName", requestJson, true);
- return revertObj;
-
+ var requestJson = HttpUtil.GetSignRequestJson(new UpdateMemberNameRes() {
+ memberName = userName
+ });
+ return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_UpdateMemberInfo, requestJson);
}
/// <summary>
@@ -398,89 +439,86 @@
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
byte[] bytes = new byte[fs.Length];
fs.Read(bytes, 0, bytes.Length);
-
- Dictionary<string, byte[]> d = new Dictionary<string, byte[]>();
- d.Add("HeadImage", bytes);
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(d);
-
- var revertObj = RequestHttps($"{severAddress}/ZigbeeUsers/UpdateHeadImage", requestJson, true);
- return revertObj.StateCode;
+ var revertObj = HttpUtil.RequestHttpsUpload(RestSharp.Method.POST, NewAPI.API_POST_Head_Upload, bytes);
+ return revertObj.Code;
}
/// <summary>
/// 鏇存敼缁戝畾璐︽埛鐨勯偖绠辨垨鑰呮墜鏈哄彿
+ /// 2020-11-16 寰呬慨鏀�
/// </summary>
/// <param name="account"></param>
+ /// <param name="code"></param>
+ /// <param name="isPhone"></param>
/// <returns></returns>
- public string BindAccount(string account)
+ public string BindAccount(string account, string code = "", bool isPhone = false)
{
- string jsonString = "{" + "\"Account\":" + "\"" + account + "\"" + "}";
- var responsePack = RequestHttps($"{severAddress}/ZigbeeUsers/BindAccount", jsonString, true);
- return responsePack.StateCode;
+ var requestObj = new BindWithAccountObj() { verifyCode = code};
+ if (isPhone)
+ {
+ //鎵嬫満
+ requestObj.memberPhone = account;
+ }
+ else
+ {
+ //閭
+ requestObj.memberEmail = account;
+ }
+ var requestJson = HttpUtil.GetSignRequestJson(requestObj);
+ return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Member_BindWithAccount, requestJson).Code;
}
+
+ /// <summary>
+ /// 瑙g粦鎵嬫満鎴栬�呴偖绠�
+ /// </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 浣忓畢閮ㄥ垎
/// <summary>
/// 鑾峰彇浣忓畢鍒楄〃
/// </summary>
- public string GetHomePager()
+ public string GetHomePager(HomeTypeEnum homeType = HomeTypeEnum.ALL)
{
- string jsonString = "{" +
- "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," +
- "\"RequestSource\":" + "\"" + "2" + "\"" + "," +
- "\"HomeType\":" + "\"" + "1" + "\"" + "," +
- "\"LoginAccessToken\":" + "\"" + MainPage.LoginUser.loginTokenString + "\"" +
- "}";
- var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false);
-
- if (responsePack.StateCode.ToUpper() == HttpUtil.SUCCESS_CODE)
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new GetHomeListObj() { homeType = homeType.ToString() });
+ var resultObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_Gethomepager, requestJson);
+ if(resultObj.Code == StateCode.SUCCESS)
{
- var dataStr = JObject.FromObject(responsePack.ResponseData);
- //娌℃湁浣忓畢
- if (dataStr.GetValue("PageData").ToString() == "[]")
- {
+ var homeList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RegionInfoResNew>>(resultObj.Data.ToString());
+ if (homeList == null || homeList.Count == 0) {
+
}
else
{
- //{
- // {
- // "Id": "1107487",
- // "HomeStatus": 2,
- // "UserGuid": "22980",
- // "Name": "鍟�",
- // "Address": null,
- // "Longitude": 0.0,
- // "Latitude": 0.0,
- // "RegionName": null,
- // "Company": null,
- // "ContactPerson": null,
- // "ContactPersonPhone": null,
- // "Remarks": null,
- // "ChangeDate": null,
- // "AccountType": 0,
- // "CreatedOnUtc": "2020-05-27T06:52:03",
- // "IsOthreShare": false,
- // "MainUserDistributedMark": null,
- // "HomeGateways": [
- // {
- // "GatewayUniqueId": "4E47323347591243"
- // }
- // ]
- //}}
MainPage.LoginUser.regionList = new List<RegionInfoRes>();
- foreach (var jsonData in dataStr.GetValue("PageData"))
+
+ foreach (var mHome in homeList)
{
- var homeJsonStr = JObject.FromObject(jsonData);
var home = new RegionInfoRes()
{
- RegionID = homeJsonStr.GetValue("Id").ToString(),
- RegionName = homeJsonStr.GetValue("RegionName").ToString(),
- Name = homeJsonStr.GetValue("Name").ToString(),
- Address = homeJsonStr.GetValue("Address").ToString(),
- IsOthreShare = (bool)homeJsonStr.GetValue("IsOthreShare"),
- homeGateways = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGateways>>(homeJsonStr.GetValue("HomeGateways").ToString()),
+ RegionID = mHome.Id,
+ Name = mHome.homeName,
+ IsOthreShare = mHome.IsOtherShare,
+ accountType = mHome.accountType,
+ isRemoteControl = mHome.isRemoteControl,
+ longitude = mHome.longitude,
+ latitude = mHome.latitude,
+ deliverstatus = mHome.deliverstatus,
+ homeType = mHome.homeType,
+ regionUrl = mHome.regionUrl,
+ emqUrl = mHome.emqUrl,
+ homeRegionName = mHome.homeRegionName,
+ homeRegionId = mHome.homeRegionId,
+ Address = mHome.homeAddress,
};
if (home.IsOthreShare)
{
@@ -495,8 +533,82 @@
DB_ResidenceData.residenceData.SaveResidenceData();
MainPage.LoginUser.SaveUserInfo();
}
+
}
- return responsePack.StateCode;
+
+ return resultObj.Code;
+
+ //string jsonString = "{" +
+ // "\"RequestVersion\":" + "\"" + MainPage.VersionString + "\"" + "," +
+ // "\"RequestSource\":" + "\"" + "2" + "\"" + "," +
+ // "\"HomeType\":" + "\"" + "1" + "\"" + "," +
+ // "\"LoginAccessToken\":" + "\"" + MainPage.LoginUser.loginTokenString + "\"" +
+ // "}";
+ //var responsePack = RequestHttps($"{severAddress}/App/GetHomePager", jsonString, false);
+
+ //if (responsePack.StateCode.ToUpper() == StateCode.SUCCESS_CODE)
+ //{
+ // var dataStr = JObject.FromObject(responsePack.ResponseData);
+ // //娌℃湁浣忓畢
+ // if (dataStr.GetValue("PageData").ToString() == "[]")
+ // {
+
+ // }
+ // else
+ // {
+ // //{
+ // // {
+ // // "Id": "1107487",
+ // // "HomeStatus": 2,
+ // // "UserGuid": "22980",
+ // // "Name": "鍟�",
+ // // "Address": null,
+ // // "Longitude": 0.0,
+ // // "Latitude": 0.0,
+ // // "RegionName": null,
+ // // "Company": null,
+ // // "ContactPerson": null,
+ // // "ContactPersonPhone": null,
+ // // "Remarks": null,
+ // // "ChangeDate": null,
+ // // "AccountType": 0,
+ // // "CreatedOnUtc": "2020-05-27T06:52:03",
+ // // "IsOthreShare": false,
+ // // "MainUserDistributedMark": null,
+ // // "HomeGateways": [
+ // // {
+ // // "GatewayUniqueId": "4E47323347591243"
+ // // }
+ // // ]
+ // //}}
+ // MainPage.LoginUser.regionList = new List<RegionInfoRes>();
+ // foreach (var jsonData in dataStr.GetValue("PageData"))
+ // {
+ // var homeJsonStr = JObject.FromObject(jsonData);
+ // var home = new RegionInfoRes()
+ // {
+ // RegionID = homeJsonStr.GetValue("Id").ToString(),
+ // RegionName = homeJsonStr.GetValue("RegionName").ToString(),
+ // Name = homeJsonStr.GetValue("Name").ToString(),
+ // Address = homeJsonStr.GetValue("Address").ToString(),
+ // IsOthreShare = (bool)homeJsonStr.GetValue("IsOthreShare"),
+ // homeGateways = Newtonsoft.Json.JsonConvert.DeserializeObject<List<HomeGateways>>(homeJsonStr.GetValue("HomeGateways").ToString()),
+ // };
+ // if (home.IsOthreShare)
+ // {
+ // continue;
+ // }
+ // MainPage.LoginUser.regionList.Add(home);
+ // if (string.IsNullOrEmpty(DB_ResidenceData.residenceData.CurReginID))
+ // {
+ // DB_ResidenceData.residenceData.CurReginID = MainPage.LoginUser.regionList[0].RegionID;
+ // }
+ // }
+ // DB_ResidenceData.residenceData.SaveResidenceData();
+ // MainPage.LoginUser.SaveUserInfo();
+ // }
+ //}
+ //return responsePack.StateCode;
}
/// <summary>
/// 缂栬緫浣忓畢淇℃伅
@@ -525,25 +637,31 @@
/// 鑾峰彇浣忓畢涓嬬殑鎴愬憳璐﹀彿
/// </summary>
/// <returns></returns>
- public ResponsePack GetResidenceMemberAccount()
+ public ResponsePackNew GetResidenceMemberAccount()
{
- Dictionary<string, object> d = new Dictionary<string, object>();
- d.Add("DistributedMark", DB_ResidenceData.residenceData.residecenInfo.RegionID);
- string jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(d);
- return RequestHttps($"{severAddress}/ZigbeeUsers/GetSubAccountByDistributedMark", jsonString, true);
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(new HomeIdObj() { homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID });
+ var replaceToken = MainPage.LoginUser.loginTokenString;
+ //濡傛灉褰撳墠鎵�鍒嗕韩浣忓畢鍜屼负绠$悊鍛橈紝鏇挎崲涓轰富浜簍oken
+ //寰呭鐞�...
+ 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 = MainPage.LoginUser.loginTokenString;
+ //濡傛灉褰撳墠鎵�鍒嗕韩浣忓畢鍜屼负绠$悊鍛橈紝鏇挎崲涓轰富浜簍oken
+ //寰呭鐞�...
+ return HttpUtil.RequestHttpsPost(NewAPI.API_POST_Child_Delete, requestJson, DB_ResidenceData.residenceData.residecenInfo.regionUrl, replaceToken);
}
/// <summary>
--
Gitblit v1.8.0