/// <summary> /// 清空数据和客户端 /// </summary> private void ClearDataAndService() { // 先记录一下日志 OperateLog.Instance.RecordAll(); //如果服务列表存在则清空 if (Resources.GetRes().Services.Count > 0) { // 清空前先把日志保存掉 Resources.GetRes().Services.Clear(); } // 清空数据 if (DBOperate.GetDBOperate().IsDataReady) { DBOperate.GetDBOperate().ClearData(); } }
/// <summary> /// 检测KEY /// </summary> /// <param name="IsFirt"></param> private void CheckKey(bool IsInstall = false, bool IsIgnoreData = false, bool IsFirt = true) { //如果都没发现,那就直接跳过检测 if (IsFind == false) { FindKey(); if (IsFind == false) { IsCheck = false; IsOpen = false; IsInitialTime = false; return; } } //检测 bool Result = true; // return CheckKey() if (Result) { IsCheck = true; if (IsOpen == false) { //如果是安装版忽略打开 if (!IsInstall) { if (!Resources.GetRes().IsCreateMainCheckThread) { return; } // 检查 if (!Check()) { System.Environment.Exit(0); return; } // 打开前先检查是否过期 IsExpired(); if (Resources.GetRes().IsExpired == 1) { Request(); GetUid(); } else { Open(); if (IsOpen) { Resources.GetRes().KEY_NAME_0 = GetName(Key.GetKeys().LANG_TYPE_0); Resources.GetRes().KEY_NAME_1 = GetName(Key.GetKeys().LANG_TYPE_1); Resources.GetRes().KEY_NAME_2 = GetName(Key.GetKeys().LANG_TYPE_2); GetPass(); GetCount(); GetUid(); //GetKey(); // 获取剩余时间 CalculateLeftDays(); // 不忽略数据时重新获取数据 if (!IsIgnoreData && !DBOperate.GetDBOperate().IsDataReady) { //获取数据(之所以打算在新线程运行, 是因为怕第二次KeyCheck请求因为获取数据时会堵住. 但也之所以去掉是因为(貌似数据还没准备好这个错误不是很友好, 所以已在KeyCheck加入了锁) //Task.Factory.StartNew(() => //{ DBOperate.GetDBOperate().LoadData(); //}); } } else { IsCheck = false; } } } } } else { IsCheck = false; IsFind = false; IsOpen = false; IsInitialTime = false; if (IsFirt) { CheckKey(IsInstall, IsIgnoreData, false); } } }