//获取成绩 public async Task <string> GetGrade(Services.HttpBaseService _httpService, string name, string username) { //http://gdjwgl.cjw1115.com/xscjcx.aspx?xh=14024238&xm=%B3%C2%BC%D1%CE%C0&gnmkdm=N121605 string re; re = await _httpService.SendRequst(GetBaseUri() + edugradeUri + username + "&xm=" + name + "&gnmkdm=N121605", HttpMethod.Get, referUri : GetBaseUri() + edugradeUri + username + "&xm=" + "" + "&gnmkdm=N121605"); string __VIEWSTATEString; __VIEWSTATEString = Services.EduService.GetViewstate(re); var __EVENTVALIDATION = Services.EduService.GetValidation(re); IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("__EVENTTARGET", ""); parameters.Add("__EVENTVALIDATION", __EVENTVALIDATION); parameters.Add("__EVENTARGUMENT", ""); parameters.Add("__VIEWSTATE", __VIEWSTATEString); parameters.Add("hidLanguage", ""); parameters.Add("ddlXN", ""); parameters.Add("ddlXQ", ""); parameters.Add("ddl_kcxz", ""); parameters.Add("btn_zcj", "历年成绩"); re = await _httpService.SendRequst(GetBaseUri() + edugradeUri + username + "&xm=" + name + "&gnmkdm=N121605", HttpMethod.Post, parameters); return(re); }
public async Task <string> GetSpecificSchedule(Services.HttpBaseService _httpService, string name, string username, string year, int term) { string re; re = await _httpService.SendRequst(GetBaseUri() + eduscheduleUri + username + "&xm=" + name + "&gnmkdm=N121603", HttpMethod.Get, referUri : GetBaseUri() + checckAuthUri + username); string __VIEWSTATEString; __VIEWSTATEString = Services.EduService.GetViewstate(re); IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("__EVENTTARGET", "xnd"); parameters.Add("__EVENTARGUMENT", ""); parameters.Add("__VIEWSTATE", __VIEWSTATEString); parameters.Add("xnd", year); parameters.Add("xqd", "2"); re = await _httpService.SendRequst(GetBaseUri() + eduscheduleUri + username + "&xm=" + name + "&gnmkdm=N121603", HttpMethod.Post, parameters); if (term == 1) { __VIEWSTATEString = Services.EduService.GetViewstate(re); parameters["__EVENTTARGET"] = "xqd"; parameters["__VIEWSTATE"] = __VIEWSTATEString; parameters["xqd"] = "1"; re = await _httpService.SendRequst(GetBaseUri() + eduscheduleUri + username + "&xm=" + name + "&gnmkdm=N121603", HttpMethod.Post, parameters); } return(re); }
//登录教务管理中心 public async Task <string> LoginEduCenter(Services.HttpBaseService _httpService, string username, string password, string checkCode) { try { var str = await _httpService.SendRequst(GetBaseUri() + educenterUri, HttpMethod.Get); var __VIEWSTATEString = Services.EduService.GetViewstate(str); if (__VIEWSTATEString == "") { return(null); } var validation = Services.EduService.GetValidation(str); if (validation == null) { return(null); } IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("__VIEWSTATE", __VIEWSTATEString); parameters.Add("__EVENTVALIDATION", validation); parameters.Add("txtUserName", username); parameters.Add("TextBox2", password); parameters.Add("txtSecretCode", checkCode); parameters.Add("RadioButtonList1", "学生"); parameters.Add("Button1", ""); parameters.Add("lbLanguage", ""); parameters.Add("hidPdrs", ""); parameters.Add("hidsc", ""); var reStr = await _httpService.SendRequst(GetBaseUri() + educenterUri, HttpMethod.Post, parameters); var name = Services.EduService.GetName(reStr); if (string.IsNullOrEmpty(name)) { string messageRegex = @"(?<=defer\>alert\(')\w.+(?='\);)"; var message = Regex.Match(reStr, messageRegex).Value; if (message.Contains("验证")) { throw new InvalidCheckcodeException(message); } else { throw new InvalidUserInfoException(message); } } return(name); } catch (HttpRequestException requestException) { throw; } catch (Exception ex) { throw; } }
//获取信息门户到一卡通中心的filter public async Task GetCardCenterClient(Services.HttpBaseService _httpSerice) { try { var re = await _httpSerice.SendRequst(campusCardLoginUri, HttpMethod.Get); re = await _httpSerice.SendRequst(campusCardAjaxLoginUri, HttpMethod.Get); } catch (Exception ex) { throw; } }
//登录信息门户 public async Task LoginInfoCenter(Services.HttpBaseService _httpService, string username, string password) { try { Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("Login.Token1", username); parameters.Add("Login.Token2", password); parameters.Add("goto", "http://my.bjut.edu.cn/loginSuccess.portal"); parameters.Add("gotoOnFail", "http://my.bjut.edu.cn/loginFailure.portal"); var re = await _httpService.SendRequst(loginUri, HttpMethod.Post, parameters); if (re.Contains("handleLoginSuccessed")) { return; } else { throw new InvalidUserInfoException("用户名或密码错误"); //登录失败 } } catch (Exception e) { throw; //其他异常 } }
public async Task <Models.CampusCardInfoModel> GetCampusCardSalaryInfo(Services.HttpBaseService _httpService) { var re = await _httpService.SendRequst(cardSalaryInfoUri, HttpMethod.Get); var info = PraseCampusCardSalaryInfo(re); return(info); }
public static async Task <Models.EduTimeModel> GetEduTime(Services.HttpBaseService _httpService) { var re = await _httpService.SendRequst(edutimeUri, HttpMethod.Get); var model = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.EduTimeModel>(re); return(model); }
//获取课程表数据 public async Task <string> GetCurrentSchedule(Services.HttpBaseService _httpService, string name, string username) { string re; re = await _httpService.SendRequst(GetBaseUri() + eduscheduleUri + username + "&xm=" + name + "&gnmkdm=N121603", HttpMethod.Get, referUri : GetBaseUri() + checckAuthUri + username); return(re); }
//获取学年学期信息 public async Task <Models.EduTimeModel> GetEduBasicInfo(Services.HttpBaseService _httpService) { var re = await _httpService.SendRequst(calendarUri, HttpMethod.Get); var p = Regex.Match(re, @"<.*weekteaching.*\s*.*\s*</p>").Value; var year = Regex.Match(p, @"\d+-\d+").Value; var term = Regex.Match(p, @".(?=学期)").Value == "二" ? 2 : 1; var week = Regex.Match(p, @"\d*(?=\s*教学)").Value; Models.EduTimeModel model = new Models.EduTimeModel(); model.SchoolYear = year; model.Term = term; model.Week = int.Parse(week); return(model); }
public async static Task <UpdateModel> GetLatestVersionCode(Services.HttpBaseService httpService) { UpdateModel updateModel = null; try { var re = await httpService.SendRequst(latestVersionCodeUri, HttpMethod.Get); updateModel = Newtonsoft.Json.JsonConvert.DeserializeObject <UpdateModel>(re); return(updateModel); } catch { throw; } }
public static async Task <Models.NewsModel> GetNews(Services.HttpBaseService httpService, int id) { try { var re = await httpService.SendRequst($"{newsUri}/?={id}", HttpMethod.Get); return(Newtonsoft.Json.JsonConvert.DeserializeObject <Models.NewsModel>(re)); } catch (HttpRequestException) { return(null); } catch (Exception e) { return(null); } }
public static async Task <IList <Models.NewsHeaderModel> > GetHeaders(Services.HttpBaseService httpService) { try { var re = await httpService.SendRequst(newsHeadersUri, HttpMethod.Get); var headers = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.NewsHeaderModel[]>(re); return(headers); } catch (HttpRequestException) { return(null); } catch (Exception e) { return(null); } }
public async Task <Models.CampusCardInfoModel> GetCampusCardBasicInfo(Services.HttpBaseService _httpService) { var re = await _httpService.SendRequst(cardBasicInfoUri, HttpMethod.Get); var info = PraseCampusCardBasicInfo(re); //using (var stream = await _httpService.SendRequstForStream(personImageUri, HttpMethod.Get)) //{ // stream.Seek(0, SeekOrigin.Begin); // using (var ras = stream.AsRandomAccessStream()) // { // WriteableBitmap bitmap = new WriteableBitmap(1, 1); // bitmap.SetSource(ras); // info.PersonImage = bitmap; // } //} return(info); }
public async void LoadNews() { IsLoading = true; if (_newsHeader.ContentUri == "https://cjw1115.com/bjutduhelper/appview/") { try { var _news = new Models.NewsModel(); _news.Title = "工大助手公告"; _news.Author = "工大助手团队"; _news.PostTime = DateTime.Now; _news.Content = await _httpService.SendRequst(_newsHeader.ContentUri, HttpMethod.Get); News = _news; } catch (HttpRequestException) { Services.NotityService.Notify("网络不给力!/(ㄒoㄒ)/~~"); await _navigationService.GoBackAsync(); } catch { Services.NotityService.Notify("未知异常/(ㄒoㄒ)/~~"); await _navigationService.GoBackAsync(); } } else { var re = await Services.NewsService.GetNews(_httpService, _newsHeader.NewsID); if (re != null) { News = re; } else { Services.NotityService.Notify("出现问题!/(ㄒoㄒ)/~~"); await _navigationService.GoBackAsync(); } } IsLoading = false; }
public async Task <IList <Models.CampusCardTransactionItemModel> > GetTransactionInfo(Services.HttpBaseService _httpService) { try { #region 获取消费记录 IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("int_start", "0"); parameters.Add("int_maxSize", "15"); var re = await _httpService.SendRequst(campusCardTransactionUri, HttpMethod.Post, parameters); var list = PraseTransactionInfo(re); return(list); #endregion } catch { return(null); } }
public async Task <string> FundCampusCard(Services.HttpBaseService _httpService, string smtCardid) { try { var parameters = new Dictionary <string, string>(); parameters.Add("lg_smtCardid", smtCardid); var re = await _httpService.SendRequst(foundCampusUri, HttpMethod.Post, parameters); var json = Newtonsoft.Json.Linq.JObject.Parse(re); var messageObject = (string)json["message"]; return(string.IsNullOrWhiteSpace(messageObject) ? "解挂成功,注意保存一卡通" : messageObject); } catch (HttpRequestException requestException) { return("网络错误"); } catch { return("其他错误"); } }
public async Task <string> Feed(Services.HttpBaseService httpService, Models.FeedModel model) { Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("Content", model.Content); dic.Add("Contact", model.Contact); dic.Add("FeedTime", DateTime.Now.ToString()); dic.Add("Version", model.Version); string re = null; try { re = await httpService.SendRequst(feedUri, HttpMethod.Post, dic); var resultModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ResualtModel>(re); return(resultModel.message); } catch { throw; } }
public async void Comment() { if (string.IsNullOrEmpty(CommentContent)) { Services.NotityService.Notify("写点什么呗"); return; } var user = Services.UserService.Instance.UserInfo; if (user == null || user.Username == null || user.Token == null) { await _navigationService.NavigateAsync(typeof(Views.MyBJUT.LoginPage).Name); return; } IsLoading = true; try { var dic = new Dictionary <string, string>(4); dic.Add("MomentID", Moment.ID.ToString()); dic.Add("CommentToID", _selectedComment == null?string.Empty: _selectedComment.ID.ToString()); dic.Add("Content", CommentContent); dic.Add("Username", user.Username); var resultStr = await _httpService.SendRequst(momentsCommentUri, HttpMethod.Post, dic, Authorization : Services.UserService.Instance.Token); var result = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.MyBJUT.MomentCommentResult>(resultStr); if (result.Code == 200) { //insert into top of the comment list; var comment = new MomentCommentsViewModel(); comment.Content = CommentContent; comment.MomentID = Moment.ID; comment.Nickname = user.NickName; comment.Username = user.Username; comment.PostedTime = DateTime.Now; if (_selectedComment != null) { comment.CommentTo = _selectedComment.ID; comment.CommentToUsername = _selectedComment.Username; comment.CommentToNickname = _selectedComment.Nickname; } comment.FilterNicknameAndContent(); MomentComments.Insert(0, comment); CommentContent = string.Empty; _selectedComment = null; SelectedUser = null; Services.NotityService.Notify("评论成功"); } else { Services.NotityService.Notify(result.Msg); } } catch (InvalidUserInfoException) { Services.NotityService.Notify("登录信息失效"); await _navigationService.NavigateAsync(typeof(Views.MyBJUT.LoginPage).Name); } catch { Services.NotityService.Notify("遇到未知错误"); } finally { IsLoading = false; } }
public async void Publish() { if (string.IsNullOrWhiteSpace(Content)) { Services.NotityService.Notify("至少写点什么吧"); return; } HttpClient client = null; IsLoading = true; try { var baseUri = "https://up-z1.qbox.me"; List <String> imgUris = new List <string>(); client = new HttpClient(); for (int i = 0; i < Images.Count; i++) { var index = Images[i].Path.LastIndexOf('/'); var fileName = Images[i].Path.Substring(index + 1, Images[i].Path.Length - index - 1); fileName = DateTime.UtcNow.ToString("yyyyMMddHHmmssms") + fileName; StreamContent imageContent = null; var stream = Images[i].GetStream(); { imageContent = new StreamContent(stream); } var content = new MultipartFormDataContent(); content.Add(new StringContent(fileName), "key"); content.Add(new StringContent(MakeToken(fileName)), "token"); content.Add(imageContent, "file", fileName); var re = await client.PostAsync(baseUri, content); if (re.IsSuccessStatusCode) { imgUris.Add(fileName); } #if DEBUG var msg = await re.Content.ReadAsStringAsync(); Views.MyBJUT.MomentPublishPage.Instance.ShowMsg(msg); #endif stream.Dispose(); } Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("Content", Content); for (int i = 0; i < imgUris.Count; i++) { dic.Add($"Imgs[{i}]", imgUris[i]); } var user = Services.UserService.Instance.LoadLocalUserinfo(); dic.Add("Username", user.Username); var resoncseMsg = await _httpService.SendRequst(momentsUploadUri, HttpMethod.Post, dic, Authorization : Services.UserService.Instance.Token); var result = Newtonsoft.Json.JsonConvert.DeserializeObject <Result>(resoncseMsg); string message = result.Msg; Services.NotityService.Notify(message); if (result.Code == 200) { NavigationParameters param = new NavigationParameters(); //param.Add("IsLoad", true); await _navigationService.GoBackAsync(param); } } catch (InvalidUserInfoException) { await _navigationService.NavigateAsync(typeof(Views.MyBJUT.LoginPage).Name); } catch (Exception e) { Services.NotityService.Notify("遇到错误"); #if DEBUG Views.MyBJUT.MomentPublishPage.Instance.ShowMsg(e.Message); #endif } finally { client?.Dispose(); IsLoading = false; } }