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, "错误"); } } }
/// <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(); } } }
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; } }