/// <summary> /// 加载单个模块数据 /// </summary> /// <param name="pathName"></param> private static ModelPublishModuleItem Load_PublishItem(string pathName) { ModelPublishModuleItem model = new ModelPublishModuleItem(); try { string fileName = pathName; model = (ModelPublishModuleItem)ObjFileStoreHelper.Deserialize(fileName); } catch { model = null; } return(model); }
/// <summary> /// 测试发布内容 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTestContent_Click(object sender, EventArgs e) { this.txtHtmlView.Clear(); this.txtResultView.Clear(); model = this.GetModelXml(this.cmbModuleList.Text); Encoding ed = Encoding.GetEncoding(model.PageEncode); if (!IsLogin) { btnTestLogin_Click(null, null); } string PostData = model.ContentPostData; PostData = PostData.Replace("[标题]", this.txtTitle.Text); PostData = PostData.Replace("[内容]", this.txtContent.Text); ListItem li = (ListItem)this.cmbViewClassList.SelectedItem; PostData = PostData.Replace("[分类ID]", li.Value); PostData = PostData.Replace("[分类名称]", li.Text); //加载随机值 this.Load_RandomLabel("内容"); //替换随机值 foreach (KeyValuePair <string, string> item in dic) { PostData = PostData.Replace("[" + item.Key + "]", item.Value); } string result = string.Empty; try { result = SimulationHelper.PostPage( this.txtTestSiteAdminUrl.Text + model.ContentUrl, PostData, this.txtTestSiteAdminUrl.Text + model.ContentRefUrl, model.PageEncode, ref this.LoginedCookies); this.txtHtmlView.Clear(); this.txtHtmlView.Text = result; this.txtResultView.Clear(); this.txtResultView.Text = "内容发布成功!"; } catch (Exception ex) { this.txtHtmlView.Clear(); this.txtHtmlView.Text = result; this.txtResultView.Clear(); this.txtResultView.Text = "内容发布失败!" + ex.Message + "==" + ex.StackTrace; } }
/// <summary> /// 获取分类列表 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTestClassList_Click(object sender, EventArgs e) { this.txtHtmlView.Clear(); this.txtResultView.Clear(); model = this.GetModelXml(this.cmbModuleList.Text); Encoding ed = Encoding.GetEncoding(model.PageEncode); if (!IsLogin) { btnTestLogin_Click(this, null); } string result = SimulationHelper.PostPage( this.txtTestSiteAdminUrl.Text + model.ListUrl, "", this.txtTestSiteAdminUrl.Text + model.ListRefUrl, model.PageEncode, ref this.LoginedCookies); this.txtHtmlView.Text = result; if (!string.IsNullOrEmpty(model.ListClassIDNameRegex)) { string CutClassRegex = model.ListClassIDNameRegex; CutClassRegex = HtmlHelper.Instance.ParseCollectionStrings(CutClassRegex); CutClassRegex = CutClassRegex.Replace("\\[参数:分类ID]", "([\\S\\s].*?)"); CutClassRegex = CutClassRegex.Replace("\\[参数:分类名称]", "([\\S\\s].*?)"); CutClassRegex = CutClassRegex.Replace("(*)", "[\\S\\s].*?"); Match mch = null; Regex reg = new Regex(CutClassRegex, RegexOptions.IgnoreCase | RegexOptions.Compiled); this.cmbClassList.Items.Clear(); this.cmbViewClassList.Items.Clear(); for (mch = reg.Match(result); mch.Success; mch = mch.NextMatch()) { string classid = mch.Groups[1].Value; string classname = mch.Groups[2].Value; this.txtResultView.AppendText(classid + "===" + classname + "\r\n"); this.cmbClassList.Items.Add(new ListItem(classid, classname)); this.cmbViewClassList.Items.Add(new ListItem(classid, classname)); } this.cmbClassList.Items.Insert(0, new ListItem("0", "请选择")); this.cmbClassList.SelectedIndex = 0; this.cmbViewClassList.Items.Insert(0, new ListItem("0", "请选择")); this.cmbViewClassList.SelectedIndex = 0; } }
/// <summary> /// 测试登陆数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTestLogin_Click(object sender, EventArgs e) { this.txtHtmlView.Clear(); model = this.GetModelXml(this.cmbModuleList.Text); Encoding ed = Encoding.GetEncoding(model.PageEncode); string PostData = model.LoginPostData; PostData = PostData.Replace("[用户名]", this.txtTestUserName.Text); PostData = PostData.Replace("[密码]", this.txtTestUserPwd.Text); //加载随机值 this.Load_RandomLabel("登陆"); //替换随机值 foreach (KeyValuePair <string, string> item in dic) { PostData = PostData.Replace("[" + item.Key + "]", item.Value); } string result = SimulationHelper.PostLogin(this.txtTestSiteAdminUrl.Text + model.LoginChkrl, PostData, model.LoginRefUrl, model.PageEncode, ref LoginedCookies); this.txtHtmlView.Text = result; foreach (string str in model.LoginErrorResult.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries)) { if (result.IndexOf(str) > -1) { this.txtResultView.Clear(); this.txtResultView.AppendText("登录失败!值为:" + str); return; } } if (result.IndexOf(model.LoginSuccessResult) > -1) { IsLogin = true; this.txtResultView.Clear(); this.txtResultView.AppendText("登录成功!Cookies值为:" + LoginedCookies); } else { this.txtResultView.Clear(); this.txtResultView.Text = result; } }
/// <summary> /// 创建分类 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnTestClassListCreate_Click(object sender, EventArgs e) { this.txtHtmlView.Clear(); this.txtResultView.Clear(); model = this.GetModelXml(this.cmbModuleList.Text); Encoding ed = Encoding.GetEncoding(model.PageEncode); if (!IsLogin) { btnTestLogin_Click(null, null); } string PostData = model.ListCreatePostData; PostData = PostData.Replace("[分类名称]", this.txtClassName.Text); this.Load_RandomLabel("列表"); foreach (KeyValuePair <string, string> item in dic) { PostData = PostData.Replace("[" + item.Key + "]", item.Value); } string result = string.Empty; try { result = SimulationHelper.PostPage( this.txtTestSiteAdminUrl.Text + model.ListCreateUrl, PostData, this.txtTestSiteAdminUrl.Text + model.ListCreateRefUrl, model.PageEncode, ref this.LoginedCookies); this.txtHtmlView.Clear(); this.txtHtmlView.Text = result; this.txtResultView.Clear(); this.txtResultView.Text = "创建分类成功!"; } catch (Exception ex) { this.txtHtmlView.Clear(); this.txtHtmlView.Text = result; this.txtResultView.Clear(); this.txtResultView.Text = "创建分类失败!" + ex.Message + "==" + ex.StackTrace; } }
/// <summary> /// 模块编辑 /// </summary> private void Bind_DataEditSave() { string oldFileName = this.txtOldModuleName.Text; string PublishModuleName = this.txtPublishModuleName.Text; string PageEncode = ((ListItem)this.ddlPageEncode.SelectedItem).Value; string ModuleReadMe = this.txtModuleReadMe.Text; string LoginUrl = this.txtLoginUrl.Text; string LoginChkUrl = this.txtLoginChkUrl.Text; string LoginRefUrl = this.txtLoginRefUrl.Text; string LoginVerCodeUrl = this.txtLoginVerCodeUrl.Text; string LoginPostData = this.txtLoginPostData.Text; string LoginErrorResult = this.txtLoginErrorResult.Text; string LoginSuccessResult = this.txtLoginSuccessResult.Text; string ListUrl = this.txtListUrl.Text; string ListRefUrl = this.txtListRefUrl.Text; string ListStartCut = this.txtListStartCut.Text; string ListEndCut = this.txtListEndCut.Text; string ListClassIDNameRegex = this.txtListClassIDNameRegex.Text; string ListCreateUrl = this.txtListCreateUrl.Text; string ListCreateRefUrl = this.txtListCreateRefUrl.Text; string ListCreatePostData = this.txtListCreatePostData.Text; string ListCreateSuccess = this.txtListCreateSuccess.Text; string ListCreateError = this.txtListCreateError.Text; string ContentUrl = this.txtContentUrl.Text; string ContentRefUrl = this.txtContentRefUrl.Text; string ContentPostData = this.txtContentPostData.Text; string ContentErrorResult = this.txtContentErrorResult.Text; string ContentSuccessResult = this.txtContentSuccessResult.Text; string UploadUrl = this.txtUploadUrl.Text; string UploadRefUrl = this.txtUploadRefUrl.Text; string UploadPostData = this.txtUploadPostData.Text; errorProvider.Clear(); if (string.IsNullOrEmpty(PublishModuleName)) { errorProvider.SetError(this.txtPublishModuleName, "模块名称不能为空!"); return; } if (string.IsNullOrEmpty(PageEncode)) { errorProvider.SetError(this.ddlPageEncode, "网站编码不能为空!"); return; } ModelPublishModuleItem model = new ModelPublishModuleItem(); model.PublishModuleName = PublishModuleName; model.PageEncode = PageEncode; model.ModuleReadMe = ModuleReadMe; model.LoginUrl = LoginUrl; model.LoginChkrl = LoginChkUrl; model.LoginRefUrl = LoginRefUrl; model.LoginVerCodeUrl = LoginVerCodeUrl; model.LoginPostData = LoginPostData; model.LoginErrorResult = LoginErrorResult; model.LoginSuccessResult = LoginSuccessResult; model.ListUrl = ListUrl; model.ListRefUrl = ListRefUrl; model.ListStartCut = ListStartCut; model.ListEndCut = ListEndCut; model.ListClassIDNameRegex = ListClassIDNameRegex; model.ListCreateUrl = ListCreateUrl; model.ListCreateRefUrl = ListCreateRefUrl; model.ListCreatePostData = ListCreatePostData; model.ListCreateSuccess = ListCreateSuccess; model.ListCreateError = ListCreateError; model.ContentUrl = ContentUrl; model.ContentRefUrl = ContentRefUrl; model.ContentPostData = ContentPostData; model.ContentErrorResult = ContentErrorResult; model.ContentSuccessResult = ContentSuccessResult; model.UploadUrl = UploadUrl; model.UploadRefUrl = UploadRefUrl; model.UploadPostData = UploadPostData; foreach (ListViewItem item in this.listView_Random.Items) { ModelRandom m = new ModelRandom(); m.LabelName = item.SubItems[0].Text; m.RandomUrl = item.SubItems[1].Text; m.RandomRefUrl = item.SubItems[2].Text; m.RandomPostData = item.SubItems[3].Text; m.RandomCutRegex = item.SubItems[4].Text; m.RandomLabelType = item.SubItems[5].Text; model.ListRandomModel.Add(m); } foreach (ListViewItem item in this.listView_CreateHtml.Items) { ModelCreateHtml m = new ModelCreateHtml(); m.CreateName = item.SubItems[0].Text; m.CreateHtmlUrl = item.SubItems[1].Text; m.CreateHtmlRefUrl = item.SubItems[2].Text; m.CreateHtmlPostData = item.SubItems[3].Text; model.ListCreateHtmlModel.Add(m); } //修改 if (!string.IsNullOrEmpty(oldFileName)) { if (PublishModuleName != oldFileName) { string modulePathName = modulePath + PublishModuleName + ".pmod"; if (File.Exists(modulePathName)) { MessageBox.Show("该模块已经存在!请换个名称试一试!"); return; } //删除旧的数据 string oldModulePathName = modulePath + oldFileName + ".pmod"; if (File.Exists(oldModulePathName)) { File.Delete(oldModulePathName); } } } DoModelToXml(model); }
/// <summary> /// 模块编辑 /// </summary> /// <param name="EditItem"></param> private void Bind_DataEdit(object EditItem) { string Name = (string)EditItem; ModelPublishModuleItem model = GetModelXml(Name); this.txtOldModuleName.Text = model.PublishModuleName; this.txtPublishModuleName.Text = model.PublishModuleName; this.ddlPageEncode.SelectedItem = model.PageEncode; this.txtModuleReadMe.Text = model.ModuleReadMe; this.txtLoginUrl.Text = model.LoginUrl; this.txtLoginChkUrl.Text = model.LoginChkrl; this.txtLoginRefUrl.Text = model.LoginRefUrl; this.txtLoginVerCodeUrl.Text = model.LoginVerCodeUrl; this.txtLoginPostData.Text = model.LoginPostData; this.txtLoginErrorResult.Text = model.LoginErrorResult; this.txtLoginSuccessResult.Text = model.LoginSuccessResult; this.txtListUrl.Text = model.ListUrl; this.txtListRefUrl.Text = model.ListRefUrl; this.txtListStartCut.Text = model.ListStartCut; this.txtListEndCut.Text = model.ListEndCut; this.txtListClassIDNameRegex.Text = model.ListClassIDNameRegex; this.txtListCreateUrl.Text = model.ListCreateUrl; this.txtListCreateRefUrl.Text = model.ListCreateRefUrl; this.txtListCreatePostData.Text = model.ListCreatePostData; this.txtListCreateSuccess.Text = model.ListCreateSuccess; this.txtListCreateError.Text = model.ListCreateError; this.txtContentUrl.Text = model.ContentUrl; this.txtContentRefUrl.Text = model.ContentRefUrl; this.txtContentPostData.Text = model.ContentPostData; this.txtContentErrorResult.Text = model.ContentErrorResult; this.txtContentSuccessResult.Text = model.ContentSuccessResult; this.txtUploadUrl.Text = model.UploadUrl; this.txtUploadRefUrl.Text = model.UploadRefUrl; this.txtUploadPostData.Text = model.UploadPostData; foreach (ListViewItem item in this.listView_Random.Items) { this.listView_Random.Items.Remove(item); } foreach (ModelRandom item in model.ListRandomModel) { ListViewItem li = new ListViewItem(item.LabelName); li.SubItems.Add(item.RandomUrl); li.SubItems.Add(item.RandomRefUrl); li.SubItems.Add(item.RandomPostData); li.SubItems.Add(item.RandomCutRegex); li.SubItems.Add(item.RandomLabelType); this.listView_Random.Items.Add(li); } foreach (ListViewItem item in this.listView_CreateHtml.Items) { this.listView_CreateHtml.Items.Remove(item); } foreach (ModelCreateHtml item in model.ListCreateHtmlModel) { ListViewItem li = new ListViewItem(item.CreateName); li.SubItems.Add(item.CreateHtmlUrl); li.SubItems.Add(item.CreateHtmlRefUrl); li.SubItems.Add(item.CreateHtmlPostData); this.listView_CreateHtml.Items.Add(li); } }