private async void GetCourseByDean() { BitmapImage bmp = new BitmapImage(); Stream stream = await WebConnection.Connect_for_stream("http://dean.pku.edu.cn/student/yanzheng.php?act=init"); if (stream == null) { Constants.BoxPage.ShowMessage("获取验证码失败!"); return; } var ran_stream = await Util.StreamToRandomAccessStream(stream); bmp.SetSource(ran_stream); IMGverify.Source = bmp; PRGRScourse.ProgressStart(); ContentDialogResult res = await DLGverify.ShowAsync(); if (res != ContentDialogResult.Primary) { this.IsEnabled = true; PRGRScourse.ProgressEnd(); return; } String str = await Dean.get_session_id(VerifyCode); if (str == "") { return; } /** * 下面这段注释的代码可能是用来获取自选课程的,不是dean */ //List<Parameters> list = new List<Parameters>(); //list.Add(new Parameters("token", Constants.token)); //list.Add(new Parameters("phpsessid", str)); //Parameters parameter = await WebConnection.Connect(Constants.domain + "/services/pkuhelper/course.php", list); Parameters parameter = await WebConnection.Connect("http://dean.pku.edu.cn/student/newXkInfo_1105.php?PHPSESSID=" + str, null); if (parameter != null && parameter.name == "200") { CourseUtil.DecodeDeanHtml(parameter.value); CourseUtil.SaveCourses("DeanCourses", CourseUtil.DeanCourses); if (Constants.CourseUseCustom) { await CourseUtil.GetCustomCourses(str); } ShowCourse(); this.IsEnabled = true; PRGRScourse.ProgressEnd(); } else { Util.DealWithDisconnect(parameter); this.IsEnabled = true; PRGRScourse.ProgressEnd(); } }
private async void BTNsaveCustomCourse_Click(object sender, RoutedEventArgs e) { PRGRSadd.ProgressStart(); List <Parameters> l = new List <Parameters>(); l.Add(new Parameters("token", Constants.token)); l.Add(new Parameters("operation", "set")); l.Add(new Parameters("content", CourseUtil.ToStandardJsonStr(CourseUtil.CustomCourses))); Parameters parameter = await WebConnection.Connect(Constants.domain + "/services/course.php", l); if (!parameter.name.Equals("200")) { Util.DealWithDisconnect(parameter); PRGRSadd.ProgressEnd(); return; } try { JsonObject json = JsonObject.Parse(parameter.value); int code; try { code = (int)json.GetNamedNumber("code"); } catch { code = int.Parse(json.GetNamedString("code")); } if (!(code == 0)) { return; } CourseUtil.SaveCourses("CustomCourses", CourseUtil.CustomCourses); CourseUtil.currentCoursePage.RefreshCourse(); PRGRSadd.ProgressEnd(); STRBDpopout.Begin(); } catch (Exception ex) { Debug.WriteLine("fail to update custom courses! at" + ex.StackTrace); } }
private async void GetCustomCourses() { PRGRSadd.ProgressStart(); CourseUtil.CustomCourses.Clear(); Parameters parameter = await WebConnection.Connect(Constants.domain + "/services/pkuhelper/course.php?token=" + Constants.token + "&?=" + DateTime.Now.Millisecond, null); if (!"200".Equals(parameter.name)) { Util.DealWithDisconnect(parameter); PRGRSadd.ProgressEnd(); return; } CourseUtil.ParseCourseJson(parameter.value, ref CourseUtil.CustomCourses); CourseUtil.SaveCourses("CustomCourses", CourseUtil.CustomCourses); CourseUtil.SimpleCustomInfo.Clear(); foreach (var info in CourseUtil.CustomCourses) { CourseUtil.SimpleCustomInfo.Add(new SimpleCustomCourseInfo(info.Key)); } LSTVWcustomCourse.ItemsSource = CourseUtil.SimpleCustomInfo; PRGRSadd.ProgressEnd(); }