示例#1
0
        public MainPage()
        {
            this.InitializeComponent();
            c     = new Conf();
            top50 = new PixivTop50();
            like  = new PixivLike();

            timer          = new DispatcherTimer();
            timer.Interval = TimeSpan.FromMinutes(c.time);
            timer.Tick    += Timer_Tick;
            timer.Start();

            li_uptimer          = new DispatcherTimer();
            li_uptimer.Interval = TimeSpan.FromHours(1);
            li_uptimer.Tick    += Li_uptimer_Tick;
            li_uptimer.Start();

            if (c.lastImg != null)
            {
                ImageBrush br = new ImageBrush();
                br.Stretch     = Stretch.UniformToFill;
                br.AlignmentX  = AlignmentX.Left;
                br.AlignmentY  = AlignmentY.Top;
                br.ImageSource = new BitmapImage(new Uri("ms-appdata:///local/" + c.lastImg.imgId));
                gr.Background  = br;
            }
            else
            {
                ImageBrush br = new ImageBrush();
                br.Stretch     = Stretch.UniformToFill;
                br.AlignmentX  = AlignmentX.Left;
                br.AlignmentY  = AlignmentY.Top;
                br.ImageSource = new BitmapImage(new Uri("ms-appx:///Res/62258773_p0.png"));
                gr.Background  = br;
            }

            main.Navigate(typeof(ShowPage));
        }
示例#2
0
        /// <summary>
        /// 作品更新并显示
        /// </summary>
        public async Task <bool> update()
        {
            //timer.Stop();

            switch (c.mode)
            {
            case "Top_50":
                if (top50 == null)
                {
                    top50 = new PixivTop50();
                }
                await Task.Run(async() => { img = await top50.SelectArtWork(); });

                break;

            case "You_Like_V1":
                if (like == null)
                {
                    like = new PixivLike();
                }
                await Task.Run(async() => { img = await like.SelectArtWorkV1(); });

                break;

            case "You_Like_V2":
                if (like == null)
                {
                    like = new PixivLike();
                }
                img = await like.SelectArtWorkV2();     //该API在UI线程被建立,不支持从子线程调用

                break;

            default:
                if (top50 == null)
                {
                    top50 = new PixivTop50();
                }
                await Task.Run(async() => { img = await top50.SelectArtWork(); });

                break;
            }

            if (img != null)
            {
                c.lastImg = img;
                main.Navigate(typeof(ShowPage));//图片展示页面更新

                if (backgroundMode.Equals("BackgroundTask"))
                {
                    RegistTask(); //重新申请后台计时触发器
                }
                else
                {
                    timer.Interval = TimeSpan.FromMinutes(c.time);
                    timer.Start();
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }