public UpdateTileTask() { userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); }
/// <summary> /// 获取天气类型 /// </summary> /// <returns></returns> public async Task <GetWeatherTypeRespose> GetWeatherTypeAsync() { GetWeatherTypeRespose respose = new GetWeatherTypeRespose(); respose = await Weather.Utils.JsonSerializeHelper.JsonDeSerializeForFileByInstalledLocationAsync <GetWeatherTypeRespose>("Data\\WeatherTypes.json").ConfigureAwait(false); return(respose); }
public async void Run(IBackgroundTaskInstance taskInstance) { BackgroundTaskDeferral _deferral = taskInstance.GetDeferral(); //用户配置 userRespose = await userService.GetUserAsync(); bool IsAutoUpdateTime = false; //是否处于停止更新时间 if (userRespose.UserConfig.IsAutoUpdateTimeSpan == 1) { IsAutoUpdateTime = IsAutoUpdateByTime(); } if (!IsAutoUpdateTime) { //天气类型 weatherTypeRespose = await weatherService.GetWeatherTypeAsync(); //默认城市 var defaultCity = await GetDefaultCity(); if (defaultCity != null) { if (userRespose.UserConfig.IsAutoUpdateForCity == 1) { //有网络 if (NetHelper.IsNetworkAvailable()) { //无论使用移动数据还是WIFI都允许自动更新 if (userRespose.UserConfig.IsWifiAutoUpdate == 0) { await SetWeatherByNetTask(defaultCity); } else //使用WIFI更新 { if (NetHelper.IsWifiConnection()) { await SetWeatherByNetTask(defaultCity); } else { await GetWeatherByClientTask(defaultCity); } } } else { await GetWeatherByClientTask(defaultCity); } } } } //表示完成任务 _deferral.Complete(); }
/// <summary> /// 此部分中提供的方法只是用于使 /// NavigationHelper 可响应页面的导航方法。 /// <para> /// 应将页面特有的逻辑放入用于 /// <see cref="NavigationHelper.LoadState"/> /// 和 <see cref="NavigationHelper.SaveState"/> 的事件处理程序中。 /// 除了在会话期间保留的页面状态之外 /// LoadState 方法中还提供导航参数。 /// </para> /// </summary> /// <param name="e">提供导航方法数据和 /// 无法取消导航请求的事件处理程序。</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { colorResponse = new GetColorRespose(); StatusBar sb = StatusBar.GetForCurrentView(); await sb.HideAsync(); VisualStateManager.GoToState(this, "MoreHide", false); cityId = e.Parameter == null ? "" : e.Parameter.ToString(); this.navigationHelper.OnNavigatedTo(e); userCityRespose = await userService.GetUserCityAsync(); if (userCityRespose == null) { Frame.Navigate(typeof(AddCityPage), 1); return; } else { if (cityId == "") { cityId = userCityRespose.UserCities.FirstOrDefault().CityId; } try { userRespose = await userService.GetUserAsync(); weatherTypeRespose = await weatherService.GetWeatherTypeAsync(); await GetWeather(cityId, 0); colorResponse = await colorService.GetColorAsync(); int timeSection = TimeHelper.GetNowSectionByWeight(); ChangeBgColor(timeSection); } catch (Exception) { } _timer = new DispatcherTimer(); _timer.Interval = TimeSpan.FromMinutes(1); _timer.Tick += _timer_Tick; _timer.Start(); } }
public MainPage() { this.navigationHelper = new NavigationHelper(this); this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Required; userService = UserService.GetInstance(); weatherService = WeatherService.GetInstance(); settingService = SettingService.GetInstance(); colorService = ColorService.GetInstance(); userRespose = new GetUserRespose(); userCityRespose = new GetUserCityRespose(); weatherRespose = new GetWeatherRespose(); weatherTypeRespose = new GetWeatherTypeRespose(); settingAutoUpdateTimeRepose = new GetSettingAutoUpdateTimeRepose(); colorResponse = new GetColorRespose(); homePageModel = new HomePageModel(); this.InitializeComponent(); Loaded += MainPage_Loaded; }