コード例 #1
0
ファイル: LoginForm.cs プロジェクト: Kristd/backup
        private void buttonLogin_Click(object sender, EventArgs e)
        {
            if (textBoxAccount.Text.Trim() == "" || textBoxPassword.Text.Trim() == "")
            {
                MessageBox.Show("账号或密码不能为空,请重新输入");
                this.DialogResult = DialogResult.None;
            }
            else
            {
                try
                {
                    XmlDocument xmldoc = new XmlDocument();
                    xmldoc.Load(Application.StartupPath + "/LoginConfig.xml");
                    XmlNode address = xmldoc.SelectSingleNode("//address");
                    XmlNode account = xmldoc.SelectSingleNode("//account");
                    XmlNode password = xmldoc.SelectSingleNode("//password");
                    XmlNode token = xmldoc.SelectSingleNode("//token");
                    XmlNode isLoginDefault = xmldoc.SelectSingleNode("//isLoginDefault");

                    address.InnerText = m_strAddr;
                    account.InnerText = this.textBoxAccount.Text.Trim();
                    password.InnerText = "";
                    isLoginDefault.InnerText = "false";

                    xmldoc.Save(Application.StartupPath + "/LoginConfig.xml");
                }
                catch (Exception ex)
                {
                    string strErr = ex.Message;
                    MessageBox.Show("配置文件出错.请重新安装程序修复", "提示");
                }

                try
                {
                    HttpHelper httphelper = new HttpHelper();
                    NameValueCollection namevaluec = new NameValueCollection();
                    namevaluec.Add("client_id", "100006");
                    namevaluec.Add("username", this.textBoxAccount.Text.Trim());
                    namevaluec.Add("password", this.textBoxPassword.Text);
                    namevaluec.Add("grant_type", "password");

                    string loginrequest = httphelper.postHttpRequest("http://" + m_strAddr + "/oauth/token", namevaluec);

                    if(LoginjJsonResult(loginrequest))
                    {
                        this.Hide();
                        m_loginProg = new LoginProgress(this);
                        m_loginProg.Show();

                        Thread downloadThread = new Thread(new ThreadStart(DownloadUserInfo));
                        downloadThread.Start();

                        while (string.IsNullOrEmpty(PaperInfoForm.static_postpaperrequest))
                        {
                            Thread.Sleep(sleep);
                            loop++;

                            if (loop == tryMax)
                            {
                                break;
                            }
                        }

                        m_loginProg.Close();

                        if (progressBarRet)
                        {
                            this.Close();
                        }
                        else
                        {
                            this.Show();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误");
                }
            }
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: Kristd/backup
        /// <summary>
        /// 提交试卷内容
        /// </summary>
        private void PostPaper(string paper)
        {
            XmlDocument xmldocc = new XmlDocument();
            xmldocc.Load(Application.StartupPath + "/LoginConfig.xml");
            XmlNode access_token = xmldocc.SelectSingleNode("//access_token");
            XmlNode refresh_token = xmldocc.SelectSingleNode("//refresh_token");

            if (string.IsNullOrEmpty(access_token.InnerText) || string.IsNullOrEmpty(refresh_token.InnerText))
            {
                LoginForm pm = new LoginForm();
                DialogResult dr = pm.ShowDialog();
                if (dr.Equals(DialogResult.Cancel))
                {
                    return;
                }
                xmldocc.Load(Application.StartupPath + "/LoginConfig.xml");
                access_token = xmldocc.SelectSingleNode("//access_token");
                refresh_token = xmldocc.SelectSingleNode("//refresh_token");
            }
            XmlNode address = xmldocc.SelectSingleNode("//address");
            XmlNode account = xmldocc.SelectSingleNode("//account");
            XmlNode password = xmldocc.SelectSingleNode("//password");
            XmlNode token_type = xmldocc.SelectSingleNode("//token_type");
            XmlNode openid = xmldocc.SelectSingleNode("//openid");
            XmlNode postpaper = xmldocc.SelectSingleNode("//postpaper");

            HttpHelper httphelper = new HttpHelper();
            NameValueCollection namevaluec = new NameValueCollection();
            namevaluec.Add("access_token", access_token.InnerText);
            namevaluec.Add("refresh_token", refresh_token.InnerText);
            namevaluec.Add("token_type", token_type.InnerText);
            namevaluec.Add("openid", openid.InnerText);
            namevaluec.Add("userid", account.InnerText);
            namevaluec.Add("client_id", "100006");
            namevaluec.Add("clientip", "127.0.0.1");
            namevaluec.Add("oauth_version", "2.a");
            namevaluec.Add("paper", System.Web.HttpUtility.UrlEncode(paper, System.Text.Encoding.UTF8));
            string postpaperrequest = httphelper.postHttpRequest(postpaper.InnerText, namevaluec);      //postHttpRequest: 上传xml流

            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(postpaperrequest)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(UploadImgResp));
                UploadImgResp uploadimgresp = (UploadImgResp)serializer.ReadObject(ms);
                if (uploadimgresp.ret.Equals("1"))
                {
                    MessageBox.Show(uploadimgresp.msg, "提示");
                }
                else
                {
                    this.progressBar.Value = 100;
                    this.groupBox1.Visible = false;
                    UploadSuccess uploadSuccess = new UploadSuccess();
                    uploadSuccess.ExamId = uploadimgresp.data.examId;
                    uploadSuccess.ShowDialog();
                }
            }
        }
コード例 #3
0
ファイル: LoginForm.cs プロジェクト: Kristd/backup
        private bool LoginJsonUserSetting()
        {
            XmlDocument xmldocc = new XmlDocument();
            string postpaperrequest = string.Empty;

            try
            {
                xmldocc.Load(Application.StartupPath + "/LoginConfig.xml");
                XmlNode access_token = xmldocc.SelectSingleNode("//access_token");
                XmlNode refresh_token = xmldocc.SelectSingleNode("//refresh_token");

                if (string.IsNullOrEmpty(access_token.InnerText) || string.IsNullOrEmpty(refresh_token.InnerText))
                {
                    return false;      //config.xml不存在
                }

                XmlNode address = xmldocc.SelectSingleNode("//address");
                XmlNode account = xmldocc.SelectSingleNode("//account");
                XmlNode password = xmldocc.SelectSingleNode("//password");
                XmlNode token_type = xmldocc.SelectSingleNode("//token_type");
                XmlNode openid = xmldocc.SelectSingleNode("//openid");
                XmlNode postpaper = xmldocc.SelectSingleNode("//postpaper");

                HttpHelper httphelper = new HttpHelper();
                NameValueCollection namevaluec = new NameValueCollection();
                namevaluec.Add("access_token", access_token.InnerText);
                namevaluec.Add("refresh_token", refresh_token.InnerText);
                namevaluec.Add("token_type", token_type.InnerText);
                namevaluec.Add("openid", openid.InnerText);
                namevaluec.Add("userid", account.InnerText);
                namevaluec.Add("client_id", "100006");
                namevaluec.Add("clientip", "127.0.0.1");
                namevaluec.Add("oauth_version", "2.a");
                namevaluec.Add("pagesize", "100");

                postpaperrequest = httphelper.postHttpRequest("http://graph.ciwong.com/paperclip/get_paper_clip", namevaluec);

                if(string.IsNullOrEmpty(postpaperrequest))
                {
                    return false;      //登录失败
                }

                PaperInfoForm.static_postpaperrequest = postpaperrequest;
                return true;       //成功
            }
            catch(Exception ex)
            {
                string strErr = ex.Message;
                MessageBox.Show("可能由于网络原因,试卷上传失败,请稍后再重新上传!", "提示");
                return false;
            }
        }