| | |
| | | [System.Serializable] |
| | | public class UserConfig |
| | | { |
| | | static string configFile = "UserConfig"; |
| | | public static string configFile = "UserConfig"; |
| | | |
| | | static UserConfig instance; |
| | | public static UserConfig Instance { |
| | |
| | | instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.Sensor); |
| | | instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.Environmental); |
| | | instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.MusicModel); |
| | | instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.UniversalDevice); |
| | | //instance.HideDeviceTypes.Add (SimpleControl.R.MyInternationalizationString.UniversalDevice); |
| | | } else { |
| | | instance = temp; |
| | | } |
| | |
| | | set { |
| | | currentRegion = value; |
| | | CheckIfNeedGetMasterAccountToken (); |
| | | //切换住宅 设置本地加密Key |
| | | SetLocalEncryptKey (); |
| | | |
| | | |
| | | } |
| | | get { |
| | | if (currentRegion == null) { |
| | | currentRegion = new RegionInfoRes (); |
| | | } |
| | | return currentRegion; |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | if (CheckHomeGateways ()) { |
| | | currentRegion.HomeGateways [0].GatewayUniqueId = value; |
| | | } else { |
| | | if (currentRegion != null && currentRegion.HomeGateways == null) { |
| | | //2020-01-11 |
| | | if (currentRegion != null) { |
| | | var mHomeGateways = new HomeGateways () { GatewayUniqueId = value }; |
| | | List<HomeGateways> HomeGateways = new List<HomeGateways> (); |
| | | HomeGateways.Add (mHomeGateways); |
| | | currentRegion.HomeGateways = HomeGateways; |
| | | var mList = new List<HomeGateways> (); |
| | | mList.Add (mHomeGateways); |
| | | currentRegion.HomeGateways = mList; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 更新设置当前住宅网关 |
| | | /// 2020-01-11 |
| | | /// </summary> |
| | | /// <param name="mGatewayDataList"></param> |
| | | public void SetNowHomeGateways (List<GatewayRes> mGatewayDataList) { |
| | | try { |
| | | if (currentRegion != null) { |
| | | if (mGatewayDataList != null && mGatewayDataList.Count > 0) { |
| | | var mMacList = new List<HomeGateways> (); |
| | | foreach (var mGatewayRes in mGatewayDataList) { |
| | | var mac = new HomeGateways (); |
| | | mac.GatewayUniqueId = mGatewayRes.GatewayUniqueId; |
| | | mMacList.Add (mac); |
| | | } |
| | | currentRegion.HomeGateways = mMacList; |
| | | } |
| | | } |
| | | } catch { |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public List<string> RometoUserInfoKeys = new List<string> (); |
| | | |
| | | |
| | | /// <summary> |
| | | /// 本地通信加密Key |
| | | /// </summary> |
| | | public string LocalEncryptKey = string.Empty; |
| | | |
| | | |
| | | /// <summary> |
| | | /// 是否加密密码验证通过 |
| | | /// </summary> |
| | | public bool EncryptedPasswordCorrect = true; |
| | | |
| | | /// <summary> |
| | | /// 是否加密 |
| | | /// </summary> |
| | | public bool IsLocalEncrypt = false; |
| | | /// <summary> |
| | | /// 设置为默认加密,并计算加密Key |
| | | /// </summary> |
| | | private void SetLocalEncryptKey () |
| | | { |
| | | if (currentRegion != null) { |
| | | IsLocalEncrypt = true; |
| | | GenerateLocalEncryptionKey (); |
| | | //LocalEncryptKey = CommonPage.MyEncodingUTF8.GetString (GenerateLocalEncryptionKey ()); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取16位的key byte [] |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public byte [] GenerateLocalEncryptionKey () |
| | | { |
| | | byte [] aseKey = new byte [16]; |
| | | try { |
| | | //生成加密Key |
| | | byte [] homeId = System.Text.Encoding.ASCII.GetBytes (currentRegion.Id); |
| | | Array.Copy (homeId, 0, aseKey, 0, 16 < homeId.Length ? 16 : homeId.Length); |
| | | LocalEncryptKey = System.Text.Encoding.ASCII.GetString (aseKey); |
| | | return aseKey; |
| | | |
| | | } catch { |
| | | return aseKey; |
| | | } |
| | | |
| | | } |
| | | |
| | | public string MasterAccountToken = ""; |
| | | public string MasterAccountRequestBaseUrl = ""; |
| | | |
| | | /// <summary> |
| | | /// 是否获取中 |
| | | /// 2020-01-11 |
| | | /// </summary> |
| | | bool bGetting = false; |
| | | //public static List<string> LocalFiles = IO.FileUtils.ReadFiles (); |
| | | /// <summary> |
| | | /// 获取控制分享项目(住宅)请求信息 |
| | |
| | | /// <param name="mSharedHid"></param> |
| | | public void CheckIfNeedGetMasterAccountToken () |
| | | { |
| | | if (bGetting) return; |
| | | |
| | | //2020-01-08 判断是否分享过来的住宅 |
| | | if (CurrentRegion != null && CurrentRegion.IsOthreShare) { |
| | | if (currentRegion != null && currentRegion.IsOthreShare) { |
| | | //MainPage.IsAdministrator = UserConfig.Instance.CurrentRegion.IsOthreShare; |
| | | //请求主账号token |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | //var mMainAccountId = UserConfig.Instance.CurrentRegion.MainUserDistributedMark; |
| | | //var mSharedHid = UserConfig.Instance.CurrentRegion.Id; |
| | | bGetting = true; |
| | | var requestObj = new GetSharedHomeApiControlObj () { |
| | | LoginAccessToken = MainPage.LoginUser.LoginTokenString, |
| | | MainAccountId = UserConfig.Instance.CurrentRegion.MainUserDistributedMark, |
| | | SharedHid = UserConfig.Instance.CurrentRegion.Id, |
| | | MainAccountId = currentRegion.MainUserDistributedMark, |
| | | SharedHid = currentRegion.Id, |
| | | |
| | | }; |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj); |
| | |
| | | } |
| | | } catch { |
| | | |
| | | } finally { |
| | | bGetting = false; |
| | | } |
| | | }); |
| | | } |