public string GetFunctionOrChannelOrContentSelectScript(WebMenuInfo menuInfo) { if (ENavigationTypeUtils.Equals(menuInfo.NavigationType, ENavigationType.Function)) { if (menuInfo.FunctionId > 0) { var functionName = KeywordManager.GetFunctionName(EKeywordTypeUtils.GetEnumType(menuInfo.KeywordType), menuInfo.FunctionId); return($@"selectKeyword(""{menuInfo.KeywordType},{menuInfo.FunctionId},{functionName}"")"); } } else if (ENavigationTypeUtils.Equals(menuInfo.NavigationType, ENavigationType.Site)) { if (menuInfo.ContentId > 0) { var tableStyle = NodeManager.GetTableStyle(PublishmentSystemInfo, menuInfo.ChannelId); var tableName = NodeManager.GetTableName(PublishmentSystemInfo, menuInfo.ChannelId); var contentInfo = DataProvider.ContentDao.GetContentInfo(tableStyle, tableName, menuInfo.ContentId); var pageUrl = PageUtilityWX.GetContentUrl(PublishmentSystemInfo, contentInfo); return ($@"contentSelect(""{contentInfo.Title}"", ""{menuInfo.ChannelId}"", ""{menuInfo.ContentId}"", ""{pageUrl}"")"); } else if (menuInfo.ChannelId > 0) { var nodeNames = NodeManager.GetNodeNameNavigation(PublishmentSystemId, menuInfo.ChannelId); var pageUrl = PageUtilityWX.GetChannelUrl(PublishmentSystemInfo, NodeManager.GetNodeInfo(PublishmentSystemId, menuInfo.ChannelId)); return($"selectChannel('{nodeNames}', '{menuInfo.ChannelId}', '{pageUrl}');"); } } return(string.Empty); }
public static string ParseWebMenu(PublishmentSystemInfo publishmentSystemInfo) { if (publishmentSystemInfo.Additional.WxIsWebMenu && !string.IsNullOrEmpty(publishmentSystemInfo.Additional.WxWebMenuType)) { var directoryUrl = SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, $"weixin/components/webMenu/{publishmentSystemInfo.Additional.WxWebMenuType}"); if (PageUtils.IsProtocolUrl(publishmentSystemInfo.PublishmentSystemUrl)) { directoryUrl = PageUtils.AddProtocolToUrl(SiteFilesAssets.GetUrl(publishmentSystemInfo.Additional.ApiUrl, $"weixin/components/webMenu/{publishmentSystemInfo.Additional.WxWebMenuType}")); } var menuPath = SiteFilesAssets.GetPath($"weixin/components/webMenu/{publishmentSystemInfo.Additional.WxWebMenuType}/template.html"); var menuHtml = StlCacheManager.FileContent.GetContentByFilePath(menuPath, ECharset.utf_8); var startIndex = menuHtml.IndexOf("<!--menu-->"); var endIndex = menuHtml.IndexOf("<!--menu-->", startIndex + 1); var menuTemplate = menuHtml.Substring(startIndex, endIndex - startIndex); var startSubIndex = menuTemplate.IndexOf("<!--submenu-->"); var endSubIndex = menuTemplate.IndexOf("<!--submenu-->", startSubIndex + 1); var subMenuTemplate = menuTemplate.Substring(startSubIndex, endSubIndex - startSubIndex); var menuBuilder = new StringBuilder(); var menuInfoList = DataProviderWX.WebMenuDAO.GetMenuInfoList(publishmentSystemInfo.PublishmentSystemId, 0); var index = 0; foreach (var menuInfo in menuInfoList) { var subMenuBuilder = new StringBuilder(); var subMenuInfoList = DataProviderWX.WebMenuDAO.GetMenuInfoList(publishmentSystemInfo.PublishmentSystemId, menuInfo.ID); if (subMenuInfoList != null && subMenuInfoList.Count > 0) { menuInfo.NavigationType = ENavigationTypeUtils.GetValue(ENavigationType.Url); menuInfo.Url = PageUtils.UnclickedUrl; foreach (var subMenuInfo in subMenuInfoList) { var subMenu = subMenuTemplate.Replace("{{url}}", GetNavigationUrl(publishmentSystemInfo, ENavigationTypeUtils.GetEnumType(subMenuInfo.NavigationType), EKeywordTypeUtils.GetEnumType(subMenuInfo.KeywordType), subMenuInfo.FunctionID, subMenuInfo.ChannelID, subMenuInfo.ContentID, subMenuInfo.Url)); subMenu = subMenu.Replace("{{menuName}}", subMenuInfo.MenuName); subMenuBuilder.Append(subMenu); } } var menu = menuTemplate.Substring(0, startSubIndex) + subMenuBuilder.ToString() + menuTemplate.Substring(endSubIndex); menu = menu.Replace("{{url}}", GetNavigationUrl(publishmentSystemInfo, ENavigationTypeUtils.GetEnumType(menuInfo.NavigationType), EKeywordTypeUtils.GetEnumType(menuInfo.KeywordType), menuInfo.FunctionID, menuInfo.ChannelID, menuInfo.ContentID, menuInfo.Url)); menu = menu.Replace("{{index}}", index.ToString()); menu = menu.Replace("{{menuName}}", menuInfo.MenuName); menuBuilder.Append(menu); index++; } menuHtml = menuHtml.Substring(0, startIndex) + menuBuilder.ToString() + menuHtml.Substring(endIndex); return($@" <link rel=""stylesheet"" type=""text/css"" href=""{directoryUrl}/style.css"" /> <script type=""text/javascript"" src=""{directoryUrl}/script.js""></script> {menuHtml}"); } return(string.Empty); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("PublishmentSystemID"); menuID = TranslateUtils.ToInt(GetQueryString("menuID")); parentID = TranslateUtils.ToInt(GetQueryString("parentID")); if (!IsPostBack) { ENavigationTypeUtils.AddListItems(ddlNavigationType); var menuInfo = DataProviderWX.WebMenuDAO.GetMenuInfo(menuID); if (menuInfo == null) { menuID = 0; } if (menuID == 0) { ltlPageTitle.Text = $"添加{(parentID == 0 ? "主" : "子")}菜单"; } else { ltlPageTitle.Text = $"修改{(parentID == 0 ? "主" : "子")}菜单({menuInfo.MenuName})"; tbMenuName.Text = menuInfo.MenuName; ControlUtils.SelectListItems(ddlNavigationType, menuInfo.NavigationType); tbUrl.Text = menuInfo.Url; ltlScript.Text = $"<script>{GetFunctionOrChannelOrContentSelectScript(menuInfo)}</script>"; } ddlNavigationType_OnSelectedIndexChanged(null, EventArgs.Empty); btnFunctionSelect.Attributes.Add("onclick", "parent." + Modal.FunctionSelect.GetOpenWindowString(PublishmentSystemID, "selectKeyword")); btnContentSelect.Attributes.Add("onclick", "parent." + Modal.ContentSelect.GetOpenWindowString(PublishmentSystemID, false, "contentSelect")); btnChannelSelect.Attributes.Add("onclick", "parent." + CMS.BackgroundPages.Modal.ChannelSelect.GetOpenWindowString(PublishmentSystemID)); } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("PublishmentSystemId"); _menuId = Body.GetQueryInt("menuID"); _parentId = Body.GetQueryInt("parentID"); if (!IsPostBack) { ENavigationTypeUtils.AddListItems(DdlNavigationType); var menuInfo = DataProviderWx.WebMenuDao.GetMenuInfo(_menuId); if (menuInfo == null) { _menuId = 0; } if (_menuId == 0) { LtlPageTitle.Text = $"添加{(_parentId == 0 ? "主" : "子")}菜单"; } else { LtlPageTitle.Text = $"修改{(_parentId == 0 ? "主" : "子")}菜单({menuInfo.MenuName})"; TbMenuName.Text = menuInfo.MenuName; ControlUtils.SelectListItems(DdlNavigationType, menuInfo.NavigationType); TbUrl.Text = menuInfo.Url; LtlScript.Text = $"<script>{GetFunctionOrChannelOrContentSelectScript(menuInfo)}</script>"; } ddlNavigationType_OnSelectedIndexChanged(null, EventArgs.Empty); BtnFunctionSelect.Attributes.Add("onclick", "parent." + ModalFunctionSelect.GetOpenWindowString(PublishmentSystemId, "selectKeyword")); BtnContentSelect.Attributes.Add("onclick", "parent." + ModalContentSelect.GetOpenWindowString(PublishmentSystemId, false, "contentSelect")); BtnChannelSelect.Attributes.Add("onclick", "parent." + ModalChannelSelect.GetOpenWindowString(PublishmentSystemId)); } }
public void ddlNavigationType_OnSelectedIndexChanged(object sender, EventArgs e) { var isHideAll = false; if (_parentId == 0 && _menuId > 0) { var childrenCount = DataProviderWx.WebMenuDao.GetCount(PublishmentSystemId, _menuId); if (childrenCount > 0) { isHideAll = true; } } if (isHideAll) { PhNavigationType.Visible = PhUrl.Visible = PhFunction.Visible = PhSite.Visible = false; } else { var navigationType = ENavigationTypeUtils.GetEnumType(DdlNavigationType.SelectedValue); PhUrl.Visible = PhFunction.Visible = PhSite.Visible = false; if (navigationType == ENavigationType.Url) { PhUrl.Visible = true; } else if (navigationType == ENavigationType.Function) { PhFunction.Visible = true; } else if (navigationType == ENavigationType.Site) { PhSite.Visible = true; } } }
public void ddlNavigationType_OnSelectedIndexChanged(object sender, EventArgs e) { var isHideAll = false; if (parentID == 0 && menuID > 0) { var childrenCount = DataProviderWX.WebMenuDAO.GetCount(PublishmentSystemID, menuID); if (childrenCount > 0) { isHideAll = true; } } if (isHideAll) { phNavigationType.Visible = phUrl.Visible = phFunction.Visible = phSite.Visible = false; } else { var navigationType = ENavigationTypeUtils.GetEnumType(ddlNavigationType.SelectedValue); phUrl.Visible = phFunction.Visible = phSite.Visible = false; if (navigationType == ENavigationType.Url) { phUrl.Visible = true; } else if (navigationType == ENavigationType.Function) { phFunction.Visible = true; } else if (navigationType == ENavigationType.Site) { phSite.Visible = true; } } }
public void Sync(int publishmentSystemID) { DeleteAll(publishmentSystemID); var menuInfoList = DataProviderWX.MenuDAO.GetMenuInfoList(publishmentSystemID, 0); foreach (var menuInfo in menuInfoList) { var navigationType = ENavigationType.Url; if (menuInfo.MenuType == EMenuType.Site) { navigationType = ENavigationType.Site; } else if (menuInfo.MenuType == EMenuType.Keyword) { navigationType = ENavigationType.Function; } var keywordType = EKeywordType.Text; var functionID = 0; if (menuInfo.MenuType == EMenuType.Keyword && !string.IsNullOrEmpty(menuInfo.Keyword)) { var keywordID = DataProviderWX.KeywordMatchDAO.GetKeywordIDByMPController(publishmentSystemID, menuInfo.Keyword); if (keywordID > 0) { var keywordInfo = DataProviderWX.KeywordDAO.GetKeywordInfo(keywordID); functionID = KeywordManager.GetFunctionID(keywordInfo); } } var webMenuInfo = new WebMenuInfo { PublishmentSystemID = publishmentSystemID, MenuName = menuInfo.MenuName, NavigationType = ENavigationTypeUtils.GetValue(navigationType), Url = menuInfo.Url, ChannelID = menuInfo.ChannelID, ContentID = menuInfo.ContentID, KeywordType = EKeywordTypeUtils.GetValue(keywordType), FunctionID = functionID, ParentID = 0 }; var menuID = Insert(webMenuInfo); var subMenuInfoList = DataProviderWX.MenuDAO.GetMenuInfoList(publishmentSystemID, menuInfo.MenuID); if (subMenuInfoList != null && subMenuInfoList.Count > 0) { foreach (var subMenuInfo in subMenuInfoList) { navigationType = ENavigationType.Url; if (subMenuInfo.MenuType == EMenuType.Site) { navigationType = ENavigationType.Site; } else if (subMenuInfo.MenuType == EMenuType.Keyword) { navigationType = ENavigationType.Function; } keywordType = EKeywordType.Text; functionID = 0; if (subMenuInfo.MenuType == EMenuType.Keyword && !string.IsNullOrEmpty(subMenuInfo.Keyword)) { var keywordID = DataProviderWX.KeywordMatchDAO.GetKeywordIDByMPController(publishmentSystemID, subMenuInfo.Keyword); if (keywordID > 0) { var keywordInfo = DataProviderWX.KeywordDAO.GetKeywordInfo(keywordID); functionID = KeywordManager.GetFunctionID(keywordInfo); } } var subWebMenuInfo = new WebMenuInfo { PublishmentSystemID = publishmentSystemID, MenuName = subMenuInfo.MenuName, NavigationType = ENavigationTypeUtils.GetValue(navigationType), Url = subMenuInfo.Url, ChannelID = subMenuInfo.ChannelID, ContentID = subMenuInfo.ContentID, KeywordType = EKeywordTypeUtils.GetValue(keywordType), FunctionID = functionID, ParentID = menuID }; Insert(subWebMenuInfo); } } } }
public override void Submit_OnClick(object sender, EventArgs e) { if (Page.IsPostBack && Page.IsValid) { try { var menuInfo = new WebMenuInfo(); if (_menuId > 0) { menuInfo = DataProviderWx.WebMenuDao.GetMenuInfo(_menuId); } menuInfo.MenuName = TbMenuName.Text; menuInfo.ParentId = _parentId; menuInfo.PublishmentSystemId = PublishmentSystemId; menuInfo.NavigationType = DdlNavigationType.SelectedValue; if (ENavigationTypeUtils.Equals(menuInfo.NavigationType, ENavigationType.Url)) { menuInfo.Url = TbUrl.Text; } else if (ENavigationTypeUtils.Equals(menuInfo.NavigationType, ENavigationType.Function)) { var keywordType = Request.Form["keywordType"]; var functionId = TranslateUtils.ToInt(Request.Form["functionID"]); if (!string.IsNullOrEmpty(keywordType) && functionId > 0) { menuInfo.KeywordType = keywordType; menuInfo.FunctionId = functionId; } else { FailMessage("菜单保存失败,必须选择微功能页面,请点击下方按钮进行选择"); return; } } else if (ENavigationTypeUtils.Equals(menuInfo.NavigationType, ENavigationType.Site)) { var idsCollection = Request.Form["idsCollection"]; if (!string.IsNullOrEmpty(idsCollection)) { menuInfo.ChannelId = TranslateUtils.ToInt(idsCollection.Split('_')[0]); menuInfo.ContentId = TranslateUtils.ToInt(idsCollection.Split('_')[1]); } if (menuInfo.ChannelId == 0 && menuInfo.ContentId == 0) { FailMessage("菜单保存失败,必须选择微网站页面,请点击下方按钮进行选择"); return; } } if (_menuId > 0) { DataProviderWx.WebMenuDao.Update(menuInfo); SuccessMessage("底部导航菜单修改成功!"); } else { _menuId = DataProviderWx.WebMenuDao.Insert(menuInfo); SuccessMessage("底部导航菜单新增成功!"); } var redirectUrl = PageWebMenu.GetRedirectUrl(PublishmentSystemId, _parentId, _menuId); LtlPageTitle.Text += $@"<script>parent.redirect('{redirectUrl}');</script>"; } catch (Exception ex) { FailMessage(ex, "底部导航菜单配置失败!"); } } }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } PageUtils.CheckRequestParameter("PublishmentSystemID"); searchID = TranslateUtils.ToInt(GetQueryString("searchID")); if (!IsPostBack) { var pageTitle = searchID > 0 ? "编辑微搜索" : "添加微搜索"; BreadCrumb(AppManager.WeiXin.LeftMenu.ID_Function, AppManager.WeiXin.LeftMenu.Function.ID_Search, pageTitle, AppManager.WeiXin.Permission.WebSite.Search); ltlPageTitle.Text = pageTitle; ltlImageUrl.Text = $@"<img id=""preview_imageUrl"" src=""{SearchManager.GetImageUrl(PublishmentSystemInfo, string.Empty)}"" width=""370"" align=""middle"" />"; ltlContentImageUrl.Text = $@"<img id=""preview_contentImageUrl"" src=""{SearchManager.GetContentImageUrl( PublishmentSystemInfo, string.Empty)}"" width=""370"" align=""middle"" />"; ltlSearchNavs.Text = $@" itemController.openFunctionSelect = function(itemIndex){{ var openString = ""{Modal.FunctionSelect.GetOpenWindowStringByItemIndex(PublishmentSystemID, "selectFunction", "itemIndexValue")}"".replace(""itemIndexValue"", itemIndex); openString = openString.substr(0, openString.indexOf(';')); eval(openString); }}; itemController.openChannelSelect = function(itemIndex){{ var openString = ""{CMS.BackgroundPages.Modal.ChannelSelect.GetOpenWindowStringByItemIndex( PublishmentSystemID, "selectChannel", "itemIndexValue")}"".replace(""itemIndexValue"", itemIndex); openString = openString.substr(0, openString.indexOf(';')); eval(openString); }}; itemController.openContentSelect = function(itemIndex){{ var openString = ""{Modal.ContentSelect.GetOpenWindowStringByItemIndex(PublishmentSystemID, "selectContent", "itemIndexValue")}"".replace(""itemIndexValue"", itemIndex); openString = openString.substr(0, openString.indexOf(';')); eval(openString); }}; itemController.openImageCssClassSelect = function(itemIndex){{ var openString = ""{Modal.ImageCssClassSelect.GetOpenWindowStringByItemIndex(PublishmentSystemID, "selectImageCssClass", "itemIndexValue")}"".replace(""itemIndexValue"", itemIndex); openString = openString.substr(0, openString.indexOf(';')); eval(openString); }}; "; if (searchID == 0) { ltlSearchNavs.Text += "itemController.itemCount = 2;itemController.items = [{navigationType : 'Url', imageCssClass : 'fa fa-angle-double-down'}, {navigationType : 'Url', imageCssClass : 'fa fa-angle-double-down'}];"; } else { var searchInfo = DataProviderWX.SearchDAO.GetSearchInfo(searchID); tbKeywords.Text = DataProviderWX.KeywordDAO.GetKeywords(searchInfo.KeywordID); cbIsEnabled.Checked = !searchInfo.IsDisabled; tbTitle.Text = searchInfo.Title; if (!string.IsNullOrEmpty(searchInfo.ImageUrl)) { ltlImageUrl.Text = $@"<img id=""preview_imageUrl"" src=""{PageUtility.ParseNavigationUrl( PublishmentSystemInfo, searchInfo.ImageUrl)}"" width=""370"" align=""middle"" />"; } tbSummary.Text = searchInfo.Summary; cbIsOutsiteSearch.Checked = searchInfo.IsOutsiteSearch; cbIsNavigation.Checked = searchInfo.IsNavigation; tbNavTitleColor.Text = searchInfo.NavTitleColor; tbNavImageColor.Text = searchInfo.NavImageColor; if (!string.IsNullOrEmpty(searchInfo.ContentImageUrl)) { ltlContentImageUrl.Text = $@"<img id=""preview_contentImageUrl"" src=""{PageUtility.ParseNavigationUrl( PublishmentSystemInfo, searchInfo.ContentImageUrl)}"" width=""370"" align=""middle"" />"; } var searchNavigationInfoList = DataProviderWX.SearchNavigationDAO.GetSearchNavigationInfoList(PublishmentSystemID, searchID); var itemBuilder = new StringBuilder(); foreach (var searchNavigationInfo in searchNavigationInfoList) { var searchPageTitle = string.Empty; if (searchNavigationInfo.NavigationType == ENavigationTypeUtils.GetValue(ENavigationType.Url)) { searchPageTitle = string.Empty; } else if (searchNavigationInfo.NavigationType == ENavigationTypeUtils.GetValue(ENavigationType.Function)) { searchPageTitle = KeywordManager.GetFunctionName(EKeywordTypeUtils.GetEnumType(searchNavigationInfo.KeywordType), searchNavigationInfo.FunctionID); } else if (searchNavigationInfo.NavigationType == ENavigationTypeUtils.GetValue(ENavigationType.Site)) { if (searchNavigationInfo.ContentID > 0) { var tableStyle = NodeManager.GetTableStyle(PublishmentSystemInfo, searchNavigationInfo.ChannelID); var tableName = NodeManager.GetTableName(PublishmentSystemInfo, searchNavigationInfo.ChannelID); var contentInfo = DataProvider.ContentDAO.GetContentInfo(tableStyle, tableName, searchNavigationInfo.ContentID); var pageUrl = PageUtilityWX.GetContentUrl(PublishmentSystemInfo, contentInfo); searchPageTitle = $@"内容页:{contentInfo.Title}"; } else { var nodeNames = NodeManager.GetNodeNameNavigation(PublishmentSystemID, searchNavigationInfo.ChannelID); var pageUrl = PageUtility.GetChannelUrl(PublishmentSystemInfo, NodeManager.GetNodeInfo(PublishmentSystemID, searchNavigationInfo.ChannelID)); searchPageTitle = $@"栏目页:{nodeNames}"; } } itemBuilder.AppendFormat("{{id: '{0}', title: '{1}',pageTitle: '{2}', url: '{3}', imageCssClass: '{4}',navigationType:'{5}',keywordType:'{6}',functionID:'{7}',channelID:'{8}',contentID:'{9}'}},", searchNavigationInfo.ID, searchNavigationInfo.Title, searchPageTitle, searchNavigationInfo.Url, searchNavigationInfo.ImageCssClass, searchNavigationInfo.NavigationType, searchNavigationInfo.KeywordType, searchNavigationInfo.FunctionID, searchNavigationInfo.ChannelID, searchNavigationInfo.ContentID); } if (itemBuilder.Length > 0) { itemBuilder.Length--; } ltlSearchNavs.Text += $@" itemController.itemCount = {searchNavigationInfoList.Count};itemController.items = [{itemBuilder.ToString()}];"; imageUrl.Value = searchInfo.ImageUrl; contentImageUrl.Value = searchInfo.ContentImageUrl; tbImageAreaTitle.Text = searchInfo.ImageAreaTitle; tbTextAreaTitle.Text = searchInfo.TextAreaTitle; if (searchInfo.ImageAreaChannelID > 0) { var nodeNames = NodeManager.GetNodeNameNavigation(PublishmentSystemID, searchInfo.ImageAreaChannelID); ltlSearchNavs.Text += $@" $(document).ready(function() {{ selectChannel(1, '{nodeNames}', {searchInfo.ImageAreaChannelID}); }}); "; } if (searchInfo.TextAreaChannelID > 0) { var nodeNames = NodeManager.GetNodeNameNavigation(PublishmentSystemID, searchInfo.TextAreaChannelID); ltlSearchNavs.Text += $@" $(document).ready(function() {{ selectChannel(2, '{nodeNames}', {searchInfo.TextAreaChannelID}); }}); "; } } btnImageChannelSelect.Attributes.Add("onclick", CMS.BackgroundPages.Modal.ChannelSelect.GetOpenWindowStringByItemIndex(PublishmentSystemID, "selectChannel", "1")); btnTextChannelSelect.Attributes.Add("onclick", CMS.BackgroundPages.Modal.ChannelSelect.GetOpenWindowStringByItemIndex(PublishmentSystemID, "selectChannel", "2")); btnReturn.Attributes.Add("onclick", $@"location.href=""{BackgroundSearch.GetRedirectUrl(PublishmentSystemID)}"";return false"); } }
public override void Submit_OnClick(object sender, EventArgs e) { if (Page.IsPostBack && Page.IsValid) { var selectedStep = 0; if (phStep1.Visible) { selectedStep = 1; } else if (phStep2.Visible) { selectedStep = 2; } else if (phStep3.Visible) { selectedStep = 3; } phStep1.Visible = phStep2.Visible = phStep3.Visible = false; if (selectedStep == 1) { var isConflict = false; var conflictKeywords = string.Empty; if (!string.IsNullOrEmpty(tbKeywords.Text)) { if (searchID > 0) { var searchInfo = DataProviderWX.SearchDAO.GetSearchInfo(searchID); isConflict = KeywordManager.IsKeywordUpdateConflict(PublishmentSystemID, searchInfo.KeywordID, PageUtils.FilterXSS(tbKeywords.Text), out conflictKeywords); } else { isConflict = KeywordManager.IsKeywordInsertConflict(PublishmentSystemID, PageUtils.FilterXSS(tbKeywords.Text), out conflictKeywords); } } if (isConflict) { FailMessage($"触发关键词“{conflictKeywords}”已存在,请设置其他关键词"); phStep1.Visible = true; } else { phStep2.Visible = true; } } else if (selectedStep == 2) { var isItemReady = true; if (isItemReady) { var itemCount = TranslateUtils.ToInt(Request.Form["itemCount"]); if (itemCount > 0) { var itemIDList = TranslateUtils.StringCollectionToIntList(Request.Form["itemID"]); var imageCssClassList = TranslateUtils.StringCollectionToStringList(Request.Form["itemImageCssClass"]); var keywordTypeList = TranslateUtils.StringCollectionToStringList(Request.Form["itemKeywordType"]); var functionIDList = TranslateUtils.StringCollectionToIntList(Request.Form["itemFunctionID"]); var channelIDList = TranslateUtils.StringCollectionToIntList(Request.Form["itemChannelID"]); var contentIDList = TranslateUtils.StringCollectionToIntList(Request.Form["itemContentID"]); var titleList = TranslateUtils.StringCollectionToStringList(Request.Form["itemTitle"]); var navigationTypeList = TranslateUtils.StringCollectionToStringList(Request.Form["itemNavigationType"]); var urlList = TranslateUtils.StringCollectionToStringList(Request.Form["itemUrl"]); var navigationInfoList = new List <SearchNavigationInfo>(); for (var i = 0; i < itemCount; i++) { var navigationInfo = new SearchNavigationInfo { ID = itemIDList[i], PublishmentSystemID = PublishmentSystemID, SearchID = searchID, Title = titleList[i], Url = urlList[i], ImageCssClass = imageCssClassList[i], NavigationType = navigationTypeList[i], KeywordType = keywordTypeList[i], FunctionID = functionIDList[i], ChannelID = channelIDList[i], ContentID = contentIDList[i] }; if (string.IsNullOrEmpty(navigationInfo.Title)) { FailMessage("保存失败,导航链接名称为必填项"); isItemReady = false; } if (string.IsNullOrEmpty(navigationInfo.ImageCssClass)) { FailMessage("保存失败,导航链接图标为必填项"); isItemReady = false; } if (navigationInfo.NavigationType == ENavigationTypeUtils.GetValue(ENavigationType.Url) && string.IsNullOrEmpty(navigationInfo.Url)) { FailMessage("保存失败,导航链接地址为必填项"); isItemReady = false; } navigationInfoList.Add(navigationInfo); } if (isItemReady) { DataProviderWX.SearchNavigationDAO.DeleteAllNotInIDList(PublishmentSystemID, searchID, itemIDList); foreach (var navigationInfo in navigationInfoList) { if (navigationInfo.ID > 0) { DataProviderWX.SearchNavigationDAO.Update(navigationInfo); } else { DataProviderWX.SearchNavigationDAO.Insert(navigationInfo); } } } } } if (isItemReady) { phStep3.Visible = true; btnSubmit.Text = "确 认"; } else { phStep2.Visible = true; } } else if (selectedStep == 3) { var searchInfo = new SearchInfo(); if (searchID > 0) { searchInfo = DataProviderWX.SearchDAO.GetSearchInfo(searchID); } searchInfo.PublishmentSystemID = PublishmentSystemID; searchInfo.KeywordID = DataProviderWX.KeywordDAO.GetKeywordID(PublishmentSystemID, searchID > 0, tbKeywords.Text, EKeywordType.Search, searchInfo.KeywordID); searchInfo.IsDisabled = !cbIsEnabled.Checked; searchInfo.Title = PageUtils.FilterXSS(tbTitle.Text); searchInfo.ImageUrl = imageUrl.Value;; searchInfo.Summary = tbSummary.Text; searchInfo.ContentImageUrl = contentImageUrl.Value; searchInfo.IsOutsiteSearch = cbIsOutsiteSearch.Checked; searchInfo.IsNavigation = cbIsNavigation.Checked; searchInfo.NavTitleColor = tbNavTitleColor.Text; searchInfo.NavImageColor = tbNavImageColor.Text; searchInfo.ImageAreaTitle = tbImageAreaTitle.Text; searchInfo.ImageAreaChannelID = TranslateUtils.ToInt(Request.Form["imageChannelID"]); searchInfo.TextAreaTitle = tbTextAreaTitle.Text; searchInfo.TextAreaChannelID = TranslateUtils.ToInt(Request.Form["textChannelID"]); try { if (searchID > 0) { DataProviderWX.SearchDAO.Update(searchInfo); LogUtils.AddLog(BaiRongDataProvider.AdministratorDao.UserName, "修改微搜索", $"微搜索:{tbTitle.Text}"); SuccessMessage("修改微搜索成功!"); } else { searchID = DataProviderWX.SearchDAO.Insert(searchInfo); DataProviderWX.SearchNavigationDAO.UpdateSearchID(PublishmentSystemID, searchID); LogUtils.AddLog(BaiRongDataProvider.AdministratorDao.UserName, "添加微搜索", $"微搜索:{tbTitle.Text}"); SuccessMessage("添加微搜索成功!"); } var redirectUrl = BackgroundSearch.GetRedirectUrl(PublishmentSystemID); AddWaitAndRedirectScript(redirectUrl); } catch (Exception ex) { FailMessage(ex, "微搜索设置失败!"); } } } }