예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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;
            }
        }
예제 #3
0
        /// <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;
            }
        }
예제 #4
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;
            }
        }
예제 #5
0
        /// <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;
            }
        }
예제 #6
0
        /// <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);
        }
예제 #7
0
        /// <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);
            }
        }