コード例 #1
0
        /// <summary>
        /// 尝试从存储读取Cookie,尝试更新Main。
        /// </summary>
        public async void SelfCheckAndInit()
        {
            gridMain.Visibility   = Visibility.Visible;
            gridSecond.Visibility = Visibility.Collapsed;

            JSCodeString.SetWebView(webViewMain);
            WebSetUpdate(true, false, false, false);

            ShowLoading("读取设置...");
            bool isSettingsRead = await StorageManager.ReadSettings();

            if (StorageManager.AppSettings.isFirstIn || StorageManager.AppSettings.version != "1.4.3")
            {
                ContentNewDialog    cnd  = new ContentNewDialog();
                ContentDialogResult cdr2 = await cnd.ShowAsync();

                if (cdr2 == ContentDialogResult.Secondary)
                {
                    StorageManager.AppSettings.isFirstIn = false;
                    StorageManager.AppSettings.version   = "1.4.3";
                }
                ShowLoading("更新设置...");

                await StorageManager.SaveSettings();
            }

            if (!isSettingsRead)
            {
                await StorageManager.SaveSettings();
            }

            ShowLoading("读取Edit设置...");
            await StorageManager.ReadEditSettings();

            if (Window.Current.Bounds.Width < 1100)
            {
                textUserName.Text = "您的窗口过窄";
            }
            Uri[] uris =
            {
                new Uri("ms-appx:///Assets/8-5-4.jpg"),
                new Uri("ms-appx:///Assets/8-5-5.jpg"),
                new Uri("ms-appx:///Assets/8-5-6.jpg"),
                new Uri("ms-appx:///Assets/8-5-1.jpg"),
                new Uri("ms-appx:///Assets/8-5-2.jpg"),
                new Uri("ms-appx:///Assets/8-5-3.jpg")
            };

            Random r = new Random();
            int    i = r.Next() % 6;

            ShowLoading("加载背景...");
            try
            {
                StorageFile file =
                    await StorageFile.GetFileFromApplicationUriAsync(uris[i]);

                IRandomAccessStream stream =
                    await file.OpenReadAsync(); //打开读取流


                BitmapImage img = new BitmapImage();
                await img.SetSourceAsync(stream);       //从流产生BitmapImage

                ImageBrush ib = new ImageBrush();       //新建ImageBrush画刷
                ib.ImageSource = img;
                ib.Stretch     = Stretch.UniformToFill; //设置拉伸样式


                this.Background = ib;

                //如上设置刚才创建的ImageBrush
                //Background是一个Brush类型属性


                stream.Dispose();
            }
            catch (Exception e)
            {
                await ShowMessageDialog("非关键异常", "自动背景图更换失败,请联系开发者\n" + e.Message);
            }



            isSelfChecked = true;
            ShowControls();
            HelpStoryboard.Begin();
            OpenFolderStoryboard.Begin();

            ShowLoading("读取Cookie...");
            string cookieGet = await StorageManager.GetCookieTry();

            if (cookieGet != null)
            {
                if (!ExpManager.SetCookie(cookieGet))
                {
                    return;
                }
                ShowLoading("尝试更新个人信息...");
                bool getSucceed = await UpdateMain();

                if (!getSucceed)
                {
                    await ShowMessageDialog("主页获取不成功", "如果不是网络问题,那可能是BDUSS已经失效。(是否有退出登录操作?)");
                }
                HideLoading();
            }
            else
            {
                buttonSetCookie_Click(null, null);
            }
        }
コード例 #2
0
        /// <summary>
        /// 设置按钮状态,弹窗请求输入Cookie,设置Cookie,尝试更新Main。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void buttonSetCookie_Click(object sender, RoutedEventArgs e)
        {
            buttonSetCookie.IsEnabled          = false;
            buttonSetCookieProgress.IsActive   = true;
            buttonSetCookieProgress.Visibility = Visibility.Visible;

            ShowLoading("Cookie设置流程中...");
            ContentWelcomeDialog cwd       = new ContentWelcomeDialog();
            ContentDialogResult  resultCwd = await cwd.ShowAsync();

            if (resultCwd == ContentDialogResult.Primary)
            {
                ContentTeachDialog ctd = new ContentTeachDialog();
                await ctd.ShowAsync();

                ContentHelpDialog chd = new ContentHelpDialog();
                await chd.ShowAsync();
            }


            ContentSetCookieDialog scd = new ContentSetCookieDialog();
            ContentDialogResult    cdr = await scd.ShowAsync();

            HideLoading();
            if (cdr == ContentDialogResult.None)
            {
                ShowMessageDialog("设置取消", "设置取消,保持原状。");
                buttonSetCookie.IsEnabled          = true;
                buttonSetCookieProgress.IsActive   = false;
                buttonSetCookieProgress.Visibility = Visibility.Collapsed;

                return;
            }
            if (scd.userInputCookie.Trim() == "")
            {
                ShowMessageDialog("输入为空", "设置取消,保持原状。");
                buttonSetCookie.IsEnabled          = true;
                buttonSetCookieProgress.IsActive   = false;
                buttonSetCookieProgress.Visibility = Visibility.Collapsed;
                return;
            }


            bool isCookieOK = ExpManager.SetCookie(scd.userInputCookie);



            if (!isCookieOK)
            {
                ShowMessageDialog("Cookie添加", ExpManager.setcookieFailedInfo);
                buttonSetCookie.IsEnabled          = true;
                buttonSetCookieProgress.IsActive   = false;
                buttonSetCookieProgress.Visibility = Visibility.Collapsed;
                return;
            }
            VisualStateManager.GoToState(buttonSetCookie, "stateWaiting", false);
            bool isValid = await UpdateMain();

            VisualStateManager.GoToState(buttonSetCookie, "stateNormal", false);

            buttonSetCookie.IsEnabled          = true;
            buttonSetCookieProgress.IsActive   = false;
            buttonSetCookieProgress.Visibility = Visibility.Collapsed;
            if (isValid)
            {
                await StorageManager.SaveCookie(ExpManager.cookie);

                buttonSetCookieText.Text = "√ Cookie";
                await ShowMessageDialog("设置完成", "Cookie有效,可以更新信息了。\n点击头像链接到个人中心。");


                ContentTipsDialog scd3 = new ContentTipsDialog();
                await scd3.ShowAsync();
            }
            else
            {
                ShowMessageDialog("验证Cookie", "Cookie无效,请重新设置");
            }

            HideLoading();
        }