public static void SetupLang(string locale) { if (locale != null) { ApplicationLanguages.PrimaryLanguageOverride = locale; return; } if (LocalSettingHelper.HasValue("AppLang") == false) { var lang = GlobalizationPreferences.Languages[0]; if (lang.Contains("zh")) { ApplicationLanguages.PrimaryLanguageOverride = "zh-CN"; } else { ApplicationLanguages.PrimaryLanguageOverride = "en-US"; } LocalSettingHelper.AddValue("AppLang", ApplicationLanguages.PrimaryLanguageOverride); } else { ApplicationLanguages.PrimaryLanguageOverride = LocalSettingHelper.GetValue("AppLang"); } }
public MainViewModel() { SelectedIndex = -1; NoItemVisibility = Visibility.Collapsed; _dateTimer = new DispatcherTimer(); _dateTimer.Interval = TimeSpan.FromMilliseconds(1000); _dateTimer.Tick += (sender, e) => { CurrentDate = "今天:" + DateTime.Now.ToString(); }; _dateTimer.Start(); LoginVM = new LoginViewModel() { MainVM = this }; CurrentPlants = new ObservableCollection <Plant>(); if (ConfigHelper.IsLogin) { CurrentUser = new PlantSitterUser() { Email = LocalSettingHelper.GetValue("email"), }; var task1 = GetUserPlan(); var task2 = RefreshAllSensor(); } }
public static async Task <string> GetLocalityLanguage() { string langreturn = String.Empty; if (LocalSettingHelper.IsExistsLocalSettingKey(LocalSettingHelper.LanguageTranslateTo) == false) { bool isAllowGPS = false; isAllowGPS = Convert.ToBoolean(LocalSettingHelper.GetLocalSettingValue(LocalSettingHelper.AllowGPSKey)); if (isAllowGPS == true) { Point coordinates = await Util.GetGeo2Coordinates(); string local = await Util.GetLocalCountryCode(coordinates); langreturn = getLanguageFromCountryCode(local); } else { langreturn = "English"; } } else { langreturn = Convert.ToString(LocalSettingHelper.GetLocalSettingValue(LocalSettingHelper.LanguageTranslateTo)); } return(langreturn); }
public static string GetRecognizeLanguage() { string languagert = "English"; if (LocalSettingHelper.IsExistsLocalSettingKey(LocalSettingHelper.RecogLanguageKey)) { // Ngôn ngữ được sử dụng để phân tích hình ảnh var ocrlanguage = (OcrLanguage)LocalSettingHelper.GetLocalSettingValue(LocalSettingHelper.RecogLanguageKey); if (ocrlanguage == OcrLanguage.English) { return("English"); } // Lấy ra các key của các countries ví dụ es, jp var keycode = Util.AvailableCountries.Where(country => country.Value == ocrlanguage).Select(c => c.Key).First(); var temp = Util.CountryLanguagePair.Where(country => country.Value == keycode); if (temp.Any()) { var list = temp.Select(lang => lang.Key); foreach (var item in list) { if (Util.SupportedLanguages.Values.Contains(item)) { languagert = Util.SupportedLanguages.Where(lang => lang.Value == item).Select(l => l.Key).First(); break; } } } } return(languagert); }
private async Task AddAllToDos() { foreach (var sche in MyToDos) { var result = await PostHelper.AddSchedule(LocalSettingHelper.GetValue("sid"), sche.Content, sche.IsDone? "1" : "0", SelectedCate.ToString()); } }
private void GestureControl_OnClickToDismiss(object sender, EventArgs e) { ToggleGestureTipsControlAnimation(false); var key = (string)App.Current.Resources["GestureKey"]; LocalSettingHelper.AddValue(key, true); }
private void Grid_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { if (_pointOriX < 10 && e.Delta.Translation.X > 10 && LocalSettingHelper.GetValue("EnableGesture") == "true") { SlideInStory.Begin(); HamburgerBtn.PlayHamInStory(); _isDrawerSlided = true; } }
public ImageRecognizeViewModel() { OcrLanguage language = (OcrLanguage)Enum.Parse( typeof(OcrLanguage), (LocalSettingHelper.GetLocalSettingValue(LocalSettingHelper.RecogLanguageKey)).ToString()); _ocrEngine = new OcrEngine(language); _imageModel = new ImageModel(); }
private async Task <bool> Login() { try { var loader = new ResourceLoader(); IsLoading = Visibility.Visible; var check = await PostHelper.CheckExist(TempEmail); if (check) { string salt = await PostHelper.GetSalt(TempEmail); if (!String.IsNullOrEmpty(salt)) { //尝试登录 var login = await PostHelper.Login(TempEmail, InputPassword, salt); if (login) { App.isInOfflineMode = false; LocalSettingHelper.AddValue("OfflineMode", "false"); return(true); } else { Messenger.Default.Send <GenericMessage <string> >(new GenericMessage <string>(loader.GetString("NotCorrectContent")), "toast"); IsLoading = Visibility.Collapsed; return(false); } } else { Messenger.Default.Send <GenericMessage <string> >(new GenericMessage <string>(loader.GetString("NotCorrectContent")), "toast"); IsLoading = Visibility.Collapsed; return(false); } } else { Messenger.Default.Send <GenericMessage <string> >(new GenericMessage <string>(loader.GetString("AccountNotExistContent")), "toast"); IsLoading = Visibility.Collapsed; return(false); } } catch (Exception e) { var task = ExceptionHelper.WriteRecord(e); return(false); } }
private async Task Login() { try { var saltResult = await CloudService.GetSalt(Email, CTSFactory.MakeCTS(100000).Token); saltResult.ParseAPIResult(); if (!saltResult.IsSuccessful) { throw new APIException(saltResult.ErrorMsg); } var saltObj = JsonObject.Parse(saltResult.JsonSrc); var salt = JsonParser.GetStringFromJsonObj(saltObj, "Salt"); if (string.IsNullOrEmpty(salt)) { throw new APIException("User does not exist."); } var newPwd = MD5.GetMd5String(Password); var newPwdInSalt = MD5.GetMd5String(newPwd + salt); var loginResult = await CloudService.Login(Email, newPwdInSalt, CTSFactory.MakeCTS(100000).Token); loginResult.ParseAPIResult(); if (!loginResult.IsSuccessful) { throw new APIException(loginResult.ErrorMsg); } var loginObj = JsonObject.Parse(loginResult.JsonSrc); var userObj = loginObj["UserInfo"]; var uid = JsonParser.GetStringFromJsonObj(userObj, "uid"); var accessToken = JsonParser.GetStringFromJsonObj(userObj, "access_token"); if (uid.IsNotNullOrEmpty() && accessToken.IsNotNullOrEmpty()) { LocalSettingHelper.AddValue("uid", uid); LocalSettingHelper.AddValue("access_token", accessToken); NavigationService.NavigateViaRootFrame(typeof(MainPage)); } } catch (TaskCanceledException) { ToastService.SendToast("Connection time out"); } catch (APIException e) { ToastService.SendToast(e.ErrorMessage.IsNotNullOrEmpty() ? e.Message : "Fail to login"); } catch (Exception e) { ToastService.SendToast("Fail to login"); var task = ExceptionHelper.WriteRecordAsync(e, nameof(LoginViewModel), nameof(Login)); } finally { ShowLoading = Visibility.Collapsed; } }
/// <summary> /// 获得默认的参数 /// 将会返回带 UID AccessToken 的 /// </summary> /// <returns></returns> private static List <KeyValuePair <string, string> > GetDefaultParamWithAuthParam() { var param = new List <KeyValuePair <string, string> >(); param.Add(new KeyValuePair <string, string>("a", new Random().Next().ToString())); param.Add(new KeyValuePair <string, string>("uid", LocalSettingHelper.GetValue("uid"))); param.Add(new KeyValuePair <string, string>("access_token", LocalSettingHelper.GetValue("access_token"))); return(param); }
public static string MakeFullUrlForPostReq(string baseUrl, bool withAuth) { StringBuilder sb = new StringBuilder(baseUrl); if (withAuth) { sb.Append("&uid=" + LocalSettingHelper.GetValue("uid")); sb.Append("&access_token=" + LocalSettingHelper.GetValue("access_token")); } return(sb.ToString()); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (LocalSettingHelper.GetValue("EnableBackgroundTask") == "true") { BackgroundTaskHelper.RegisterBackgroundTask(DeviceKind.Windows); } Frame.BackStack.Clear(); }
private async Task <bool> RegisterAsync() { try { //注册 IsLoading = true; var loader = new ResourceLoader(); var check = await CloudService.CheckEmailExistAsync(TempEmail); if (check) { throw new MyerListException() { ErrorCode = "202" }; } string salt = await CloudService.RegisterAsync(TempEmail, InputPassword); if (!string.IsNullOrEmpty(salt)) { LocalSettingHelper.AddValue("email", TempEmail); LocalSettingHelper.AddValue("password", InputPassword); return(true); } else { throw new MyerListException() { ErrorCode = "" }; } } catch (MyerListException e) { ToastService.SendToast(ErrorUtils.GetUserMsgFromErrorCode(int.Parse(e.ErrorCode))); IsLoading = false; return(false); } catch (TaskCanceledException) { ToastService.SendToast(ResourcesHelper.GetResString("RequestError")); IsLoading = false; return(false); } catch (COMException) { ToastService.SendToast(ResourcesHelper.GetResString("RequestError")); IsLoading = false; return(false); } }
private async Task ClearUserSettings() { LocalSettingHelper.CleanUpAll(); var folder = ApplicationData.Current.LocalFolder; var file = await folder.TryGetFileAsync(SerializerFileNames.CategoryFileName); if (file != null) { await file.DeleteAsync(StorageDeleteOption.PermanentDelete); } }
/// <summary> /// 登录 /// </summary> /// <param name="email">电子邮件</param> /// <param name="password">原始密码</param> /// <returns>成功返回True</returns> public async static Task <bool> Login(string email, string password, string salt) { try { var md5 = MD5.Create(); var ps = NetworkHelper.GetMd5Hash(md5, password); //把密码MD5加密,这是数据库存的密码 var pss = NetworkHelper.GetMd5Hash(md5, ps + salt); //加密后的密码跟盐串联再MD5加密 var param = new Dictionary <string, string>() { { "email", email }, { "password", pss }, }; Debug.WriteLine(pss); HttpClient client = new HttpClient(); var messsage = await client.PostAsync(UserLoginUri, new FormUrlEncodedContent(param)); if (messsage.IsSuccessStatusCode) { var response = await messsage.Content.ReadAsStringAsync(); if (String.IsNullOrEmpty(response)) { return(false); } JObject job = JObject.Parse(response); if ((bool)job["isSuccessed"]) { LocalSettingHelper.AddValue("sid", (string)job["UserInfo"]["sid"]); LocalSettingHelper.AddValue("access_token", (string)job["UserInfo"]["access_token"]); LocalSettingHelper.AddValue("email", email); LocalSettingHelper.AddValue("password", password); return(true); } else { return(false); } } else { return(false); } } catch (Exception e) { var task = ExceptionHelper.WriteRecord(e); return(false); } }
public SettingsViewModel() { if (LocalSettingHelper.HasValue(SAVING_POSITION)) { var position = LocalSettingHelper.GetValue(SAVING_POSITION); SavingPositionPath = position; } else { SavingPositionPath = "\\Pictures\\MyerSplash"; } }
/// <summary> /// 进入 MainPage 会调用 /// </summary> /// <param name="param"></param> public async void Activate(object param) { TitleBarHelper.SetUpCateTitleBar(Enum.GetName(typeof(CateColors), SelectedCate)); if (param is LoginMode) { if (LOAD_ONCE) { return; } LOAD_ONCE = true; var mode = (LoginMode)param; switch (mode) { //已经登陆过的了 case LoginMode.Login: { CurrentUser.Email = LocalSettingHelper.GetValue("email"); ShowLoginBtnVisibility = Visibility.Collapsed; ShowAccountInfoVisibility = Visibility.Visible; //没有网络 if (App.IsNoNetwork) { await RestoreData(true); await Task.Delay(500); Messenger.Default.Send(new GenericMessage <string>(ResourcesHelper.GetString("NoNetworkHint")), MessengerTokens.ToastToken); } //有网络 else { Messenger.Default.Send(new GenericMessage <string>(ResourcesHelper.GetString("WelcomeBackHint")), MessengerTokens.ToastToken); await SyncAllToDos(); CurrentDisplayToDos = MyToDos; var resotreTask = RestoreData(false); } }; break; //处于离线模式 case LoginMode.OfflineMode: { ShowLoginBtnVisibility = Visibility.Visible; ShowAccountInfoVisibility = Visibility.Collapsed; var restoreTask = RestoreData(true); }; break; } } }
/// <summary> /// 从云端同步所有待办事项 /// </summary> /// <returns></returns> private async Task SyncAllToDos() { try { //没网络 if (App.IsNoNetwork) { //通知没有网络 Messenger.Default.Send(new GenericMessage <string>(ResourcesHelper.GetString("NoNetworkHint")), MessengerTokens.ToastToken); return; } //加载滚动条 IsLoading = Visibility.Visible; DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(3.2); timer.Tick += ((sendert, et) => { IsLoading = Visibility.Collapsed; }); timer.Start(); var result = await PostHelper.GetMySchedules(LocalSettingHelper.GetValue("sid")); if (!string.IsNullOrEmpty(result)) { //获得无序的待办事项 var scheduleWithoutOrder = ToDo.ParseJsonToObs(result); //获得顺序列表 var orders = await PostHelper.GetMyOrder(LocalSettingHelper.GetValue("sid")); //排序 MyToDos = ToDo.SetOrderByString(scheduleWithoutOrder, orders); ChangeDisplayCateList(SelectedCate); Messenger.Default.Send(new GenericMessage <string>(ResourcesHelper.GetString("SyncSuccessfully")), MessengerTokens.ToastToken); await SerializerHelper.SerializerToJson <ObservableCollection <ToDo> >(MyToDos, SerializerFileNames.ToDoFileName, true); } //最后更新动态磁贴 Messenger.Default.Send(new GenericMessage <ObservableCollection <ToDo> >(MyToDos), MessengerTokens.UpdateTile); } catch (Exception e) { var task = ExceptionHelper.WriteRecord(e); } }
public async Task DownloadFullImageAsync(CancellationToken token) { var url = GetSaveImageUrlFromSettings(); if (string.IsNullOrEmpty(url)) { return; } ToastService.SendToast("Downloading in background...", 2000); StorageFolder folder = null; if (LocalSettingHelper.HasValue(SettingsViewModel.SAVING_POSITION)) { var path = LocalSettingHelper.GetValue(SettingsViewModel.SAVING_POSITION); if (path == SettingsViewModel.DEFAULT_SAVING_POSITION) { folder = await KnownFolders.PicturesLibrary.CreateFolderAsync("MyerSplash", CreationCollisionOption.OpenIfExists); } else { folder = await StorageFolder.GetFolderFromPathAsync(path); } } if (folder == null) { folder = await KnownFolders.PicturesLibrary.CreateFolderAsync("MyerSplash", CreationCollisionOption.OpenIfExists); } var fileName = $"{Owner.Name} {CreateTimeString}"; var newFile = await folder.CreateFileAsync($"{fileName}.jpg", CreationCollisionOption.GenerateUniqueName); //backgroundDownloader.FailureToastNotification = ToastHelper.CreateToastNotification("Failed to download :-(", "You may cancel it. Otherwise please check your network."); _backgroundDownloader.SuccessToastNotification = ToastHelper.CreateToastNotification("Saved:D", $"You can find it in {folder.Path}."); var downloadOperation = _backgroundDownloader.CreateDownload(new Uri(url), newFile); var progress = new Progress <DownloadOperation>(); try { await downloadOperation.StartAsync().AsTask(token, progress); } catch (TaskCanceledException) { await downloadOperation.ResultFile.DeleteAsync(); downloadOperation = null; throw; } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (DeviceHelper.IsDesktop) { var key = (string)App.Current.Resources["CoachKey"]; if (!LocalSettingHelper.HasValue(key)) { LocalSettingHelper.AddValue(key, true); await PopupService.Instance.ShowAsync(new TipsControl()); } } }
private void ListPickerFlyOut2Picker(ListPickerFlyout sender, ItemsPickedEventArgs args) { var items = args.AddedItems; if (items.Any() == false) { return; } string lang = items.First().ToString(); LocalSettingHelper.SetLocalSettingKeyValue(LocalSettingHelper.LanguageTranslateTo, lang); langtoTranslate.Content = Util.SupportedLanguages[lang]; }
private void ListPickerFlyOutPicker(ListPickerFlyout sender, ItemsPickedEventArgs args) { var items = args.AddedItems; if (items.Any() == false) { return; } LocalSettingHelper.SetLocalSettingKeyValue(LocalSettingHelper.RecogLanguageKey, (int)items.First()); //settingbtn.Content = items.First().ToString(); _imageViewModel.Language = (OcrLanguage)Enum.Parse( typeof(OcrLanguage), items.First().ToString()); }
public void Activate(object param) { var task = HandleLaunchArg(param as string); if (DeviceHelper.IsDesktop) { if (!LocalSettingHelper.HasValue("TIPS261")) { LocalSettingHelper.AddValue("TIPS261", true); var uc = new TipsControl(); var task2 = PopupService.Instance.ShowAsync(uc); } } }
public static string MakeFullUrlForGetReq(string baseUrl, List <KeyValuePair <string, string> > paramList, bool withAuth) { StringBuilder sb = new StringBuilder(baseUrl); foreach (var item in paramList) { sb.Append(item.Key + "=" + item.Value + "&"); } if (withAuth) { sb.Append("&uid=" + LocalSettingHelper.GetValue("uid")); sb.Append("&access_token=" + LocalSettingHelper.GetValue("access_token")); } return(sb.ToString()); }
/// <summary> /// 初始化,还原列表等 /// 区分账户的各种状态:离线模式,没有网络,登录了有网络 /// </summary> /// <param name="args"></param> /// <returns></returns> private async Task HandleActive(LoginMode mode) { IsLoading = Visibility.Visible; await InitialCate(mode); //已经登陆过的了 if (mode != LoginMode.OfflineMode) { CurrentUser.Email = LocalSettingHelper.GetValue("email"); ShowLoginBtnVisibility = Visibility.Collapsed; ShowAccountInfoVisibility = Visibility.Visible; await RestoreData(); //没有网络 if (App.IsNoNetwork) { ToastService.SendToast(ResourcesHelper.GetResString("NoNetworkHint")); } //有网络 else { SelectedCate = 0; //从离线模式注册/登录的 if (mode == LoginMode.OfflineModeToLogin || mode == LoginMode.OfflineModeToRegister) { await AddAllOfflineToDos(); } await ReSendStagedToDos(); await SyncAllToDos(); CurrentDisplayToDos = AllToDos; } } //处于离线模式 else if (mode == LoginMode.OfflineMode) { ShowLoginBtnVisibility = Visibility.Visible; ShowAccountInfoVisibility = Visibility.Collapsed; await RestoreData(); } IsLoading = Visibility.Collapsed; }
/// <summary> /// Invoked when the application is launched normally by the end user. Other entry points /// will be used such as when the application is launched to open a specific file. /// </summary> /// <param name="e">Details about the launch request and process.</param> protected async override void OnLaunched(LaunchActivatedEventArgs e) { #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { this.DebugSettings.EnableFrameRateCounter = true; } #endif var appView = ApplicationView.GetForCurrentView(); appView.SetPreferredMinSize(new Size(400, 700)); Frame rootFrame = Window.Current.Content as Frame; if (rootFrame == null) { rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Load state from previously suspended application } Window.Current.Content = rootFrame; GlobalHelper.SetupLang(); if (LocalSettingHelper.HasValue("email")) { rootFrame.Navigate(typeof(MainPage), LoginMode.Login); } else if (LocalSettingHelper.GetValue("OfflineMode") == "true") { IsInOfflineMode = true; rootFrame.Navigate(typeof(MainPage), LoginMode.OfflineMode); } else { IsInOfflineMode = false; rootFrame.Navigate(typeof(StartPage)); } } Window.Current.Activate(); await UmengAnalytics.StartTrackAsync(UmengKey.UMENG_APP_KEY, "Marketplace"); }
public SettingPageViewModel() { ShowHint = Visibility.Collapsed; var lang = LocalSettingHelper.GetValue("AppLang"); if (lang.Contains("zh")) { CurrentLanguage = 1; } else { CurrentLanguage = 0; } InitialTileColors(); }
public ImageRecognizePage() { Current = this; this.InitializeComponent(); this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; // gán static resouce bên xaml để xài _imageViewModel = Resources["imageDataContext"] as ImageRecognizeViewModel; listpickerflyout.ItemsSource = Util.AvailableCountries.Values; _imageViewModel.Language = (OcrLanguage)Enum.Parse( typeof(OcrLanguage), LocalSettingHelper.GetLocalSettingValue(LocalSettingHelper.RecogLanguageKey).ToString()); HardwareButtons.BackPressed += hardwareButtons_BackPressed; }
private void ChangeLanguage() { if (CurrentLanguage == 1) { ApplicationLanguages.PrimaryLanguageOverride = "zh-CN"; LocalSettingHelper.AddValue("AppLang", "zh-CN"); var resourceContext = ResourceContext.GetForCurrentView(); resourceContext.Reset(); } else { ApplicationLanguages.PrimaryLanguageOverride = "en-US"; LocalSettingHelper.AddValue("AppLang", "en-US"); var resourceContext = ResourceContext.GetForCurrentView(); resourceContext.Reset(); } }