コード例 #1
0
        //登录信息门户

        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;
                //其他异常
            }
        }
コード例 #2
0
 public void OnNavigatedTo(NavigationParameters parameters)
 {
     naviParam    = parameters;
     _httpService = (Services.HttpBaseService)parameters["httpservice"];
     _login       = (Models.ILogin)parameters["ILogin"];
     GetCheckCode();
 }
コード例 #3
0
        //获取成绩
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public SalaryPageViewModel()
 {
     _deService   = new DbService();
     _httpService = new Services.HttpBaseService();
     QueryCommand = new DelegateCommand(Query);
     Salaries     = new ObservableCollection <Models.SalaryModel>();
 }
コード例 #6
0
ファイル: StatusService.cs プロジェクト: cjw1115/SchoolTrade
 public static Services.HttpBaseService GetHttpService()
 {
     if (_httpService == null)
     {
         _httpService = new HttpBaseService();
     }
     return(_httpService);
 }
コード例 #7
0
        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);
        }
コード例 #8
0
        //获取课程表数据
        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);
        }
コード例 #9
0
        public async Task <Models.CampusCardInfoModel> GetCampusCardSalaryInfo(Services.HttpBaseService _httpService)
        {
            var re = await _httpService.SendRequst(cardSalaryInfoUri, HttpMethod.Get);

            var info = PraseCampusCardSalaryInfo(re);

            return(info);
        }
コード例 #10
0
        public static async Task GetCaptchaText(INavigationService naviService, Services.HttpBaseService httpService)
        {
            //获取验证码,非等待,继续执行
            var naviParam = new NavigationParameters();

            naviParam.Add("httpservice", httpService);
            naviParam.Add("ILogin", CoreService);
            await naviService.NavigateAsync(typeof(Views.CaptchaPage).Name, naviParam);
        }
コード例 #11
0
 public void OnNavigatedTo(NavigationParameters parameters)
 {
     _newsHeader  = parameters[typeof(Models.NewsHeaderModel).Name] as Models.NewsHeaderModel;
     _httpService = parameters["httpservice"] as Services.HttpBaseService;
     if (_newsHeader != null)
     {
         LoadNews();
     }
 }
コード例 #12
0
        public AboutPageViewModel(INavigationService navigationService)
        {
            _navigationService = navigationService;
            _httpService       = new Services.HttpBaseService();
            FeedCommand        = new DelegateCommand(Feed);
            UpdateCommand      = new DelegateCommand(Update);

            Version = Xamarin.Forms.DependencyService.Get <Models.IApplicationInfo>().GetVersion();
        }
コード例 #13
0
 public MomentsViewPageViewModel(INavigationService navigationService)
 {
     _httpService       = new Services.HttpBaseService();
     _navigationService = navigationService;
     PostCommand        = new DelegateCommand(OpenPost);
     RefreshCommand     = new DelegateCommand(Refresh);
     ItemTappedCommand  = new DelegateCommand <object>(ItemTapped);
     LoadMoreCommand    = new DelegateCommand(LoadMore);
 }
コード例 #14
0
        //登录教务管理中心
        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;
            }
        }
コード例 #15
0
        //检测是否已经认证过教务系统
        public async Task <bool> GetAuthState(Services.HttpBaseService _httpService, string username)
        {
            var re = await _httpService.GetResponseCode(GetBaseUri() + checckAuthUri + username);

            if (re == System.Net.HttpStatusCode.OK)
            {
                return(true);
            }
            return(false);
        }
コード例 #16
0
        public FeedBackPageViewModel(INavigationService navigationService)
        {
            _toolService       = new Services.ToolService();
            _httpService       = new Services.HttpBaseService();
            _navigationService = navigationService;


            SubmitCommand = new DelegateCommand(Submit);

            FeedModel = new Models.FeedModel();
        }
コード例 #17
0
        public static async Task <bool> CheckUpdate(Services.HttpBaseService _httpService)
        {
            try
            {
                var version = Xamarin.Forms.DependencyService.Get <Models.IApplicationInfo>().GetVersion();

                var updateModel = await Services.ToolService.GetLatestVersionCode(_httpService);

                if (updateModel != null && version != null)
                {
                    //if(updateModel.LatestVersion != version)
                    var newVerisons = updateModel.LatestVersion.Split('.');

                    var nowVersions = version.Split('.');
                    var hasNew      = false;
                    for (int i = 0; i < newVerisons.Length; i++)
                    {
                        var newNum = int.Parse(newVerisons[i]);
                        var nowNum = int.Parse(nowVersions[i]);
                        if (newNum > nowNum)
                        {
                            hasNew = true;
                            break;
                        }
                        else if (newNum < nowNum)
                        {
                            break;
                        }
                    }
                    if (hasNew)
                    {
                        if (Device.OS == TargetPlatform.Android)
                        {
                            Services.NotityService.Notify($"检测到新版本{updateModel.LatestVersion},开始下载...");
                            Device.OpenUri(new Uri(updateModel.DownloadUri));
                        }
                        else if (Device.OS == TargetPlatform.iOS)
                        {
                            Services.NotityService.Notify($"检测到新版本{updateModel.LatestVersion},请在应用商店检查更新");
                        }
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            catch
            {
            }
            return(false);
        }
コード例 #18
0
        public LoginPageViewModel(INavigationService navigationService)
        {
            LoginCommand    = new DelegateCommand(Login);
            RegistCommand   = new DelegateCommand(Regist);
            RetrieveCommand = new DelegateCommand(Retrieve);

            _httpService       = new Services.HttpBaseService();
            _navigationService = navigationService;

            InitCollege();
            InitGender();
        }
コード例 #19
0
        public CampusCardPageViewModel(INavigationService navigationService)
        {
            _navigationService = navigationService;
            _httpService       = new HttpBaseService();
            //_dbService = new Services.DbService();
            _dbService          = new DbService();
            _campusCardSercvice = new CampusCardService();

            LoadedCommand      = new DelegateCommand(Loaded);
            ItemClickedCommand = new DelegateCommand <object>(ItemClicked);
            LostCommand        = new DelegateCommand(LostCampusCard);
            FoundCommand       = new DelegateCommand(FoundCampusCard);
        }
コード例 #20
0
        //获取信息门户到一卡通中心的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;
            }
        }
コード例 #21
0
        //获取学年学期信息
        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);
        }
コード例 #22
0
        public MyBjutPageViewModel(INavigationService navigationService)
        {
            _navigationService = navigationService;
            _httpService       = new HttpBaseService();
            _dbService         = new DbService();

            ItemClickCommand = new DelegateCommand <object>(HeaderItemClicked);

            SalaryCommand       = new DelegateCommand(Salary);
            LoadedCommand       = new DelegateCommand(Loaded);
            ScheduleCommand     = new DelegateCommand(Schedule);
            BookingGradeCommand = new DelegateCommand(BookingGrade);

            HeaderList = new List <NewsHeaderModel>();
        }
コード例 #23
0
        public void OnNavigatedTo(NavigationParameters parameters)
        {
            if (!parameters.ContainsKey("backfromdetail"))
            {
                _coreService = EduPageViewModel.CoreService;
                _httpService = EduPageViewModel.HttpService;
                _studentName = EduPageViewModel.Name;

                //Loaded();
                //加载离线数据
                LoadGradeChart();

                //获取最新成绩
                LoadOnlineData();
            }
        }
コード例 #24
0
        public async void OnNavigatedTo(NavigationParameters parameters)
        {
            if (parameters != null)
            {
                _coreService = EduPageViewModel.CoreService;
                _httpService = EduPageViewModel.HttpService;
                _studentName = EduPageViewModel.Name;

                BJUTEduCenterUserinfo = _dbService.GetAll <Models.BJUTEduCenterUserinfo>().FirstOrDefault();

                IsLoading = true;
                await GetExamInfo();

                IsLoading = false;
            }
        }
コード例 #25
0
        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;
            }
        }
コード例 #26
0
        //获取验证码
        public async Task <ImageSource> GetCheckCode(Services.HttpBaseService _httpService)
        {
            Stream stream = null;

            try
            {
                stream = await _httpService.SendRequstForStream(GetBaseUri() + checkCodeUri, HttpMethod.Get);

                var iamgesource = ImageSource.FromStream(() => { return(stream); });
                return(iamgesource);
            }
            catch
            {
                return(null);
            }
        }
コード例 #27
0
        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);
            }
        }
コード例 #28
0
        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);
        }
コード例 #29
0
        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);
            }
        }
コード例 #30
0
        //检测是否能链接到教务系统
        public async Task <bool> GetConnectedStatus(Services.HttpBaseService _httpService)
        {
            try
            {
                var re = await _httpService.GetResponseCode(GetBaseUri() + educenterUri);

                if (re == System.Net.HttpStatusCode.OK)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }