Ejemplo n.º 1
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("PublishmentSystemID");
            returnUrl = StringUtils.ValueFromUrl(GetQueryString("returnUrl"));

            if (!IsPostBack)
            {
                //base.BreadCrumbConsole(AppManager.CMS.LeftMenu.ID_Site, "绑定微信公众帐号", AppManager.Permission.Platform_Site);


                #region 确认绑定接口没有问题
                if (!IsNet45OrNewer())
                {
                    FailMessage("请检查是否安装了.NET Framework 4.5以上版本");
                    return;
                }

                var hostUrl = PageUtils.GetHost();
                if (hostUrl.IndexOf(":") >= 0)
                {
                    var port = hostUrl.Split(new char[] { ':' })[1];
                    if (port != "80")
                    {
                        FailMessage("请检查站点是否设置为80端口");
                        return;
                    }
                }

                var testUrl = PageUtils.AddProtocolToUrl("/api/mp/url?id=1");
                var result  = string.Empty;
                WebClientUtils.Post(testUrl, string.Empty, out result);
                if (!StringUtils.EqualsIgnoreCase(result, "failed:id=1") && !StringUtils.EqualsIgnoreCase(result, "参数错误"))
                {
                    FailMessage("绑定微信公众账号需要的api有问题! 详细错误信息:" + result);
                    return;
                }


                #endregion

                var accountInfo = WeiXinManager.GetAccountInfo(PublishmentSystemID);

                EWXAccountTypeUtils.AddListItems(rblWXAccountType);
                ControlUtils.SelectListItems(rblWXAccountType, EWXAccountTypeUtils.GetValue(EWXAccountTypeUtils.GetEnumType(accountInfo.AccountType)));

                tbWhchatID.Text = accountInfo.WeChatID;

                ltlURL.Text = PageUtilityWX.API.GetMPUrl(PublishmentSystemID);

                ltlToken.Text = accountInfo.Token;

                tbAppID.Text     = accountInfo.AppID;
                tbAppSecret.Text = accountInfo.AppSecret;
            }
        }
Ejemplo n.º 2
0
        public static bool IsBinding(AccountInfo accountInfo)
        {
            var isBinding = false;

            var accountType = EWXAccountTypeUtils.GetEnumType(accountInfo.AccountType);

            if (accountType == EWXAccountType.Subscribe)
            {
                isBinding = accountInfo.IsBinding;
            }
            else
            {
                isBinding = accountInfo.IsBinding && !string.IsNullOrEmpty(accountInfo.AppID) && !string.IsNullOrEmpty(accountInfo.AppSecret);
            }

            return(isBinding);
        }
Ejemplo n.º 3
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            if (Page.IsPostBack && Page.IsValid)
            {
                if (phStep1.Visible)
                {
                    phStep2.Visible = true;
                    phStep3.Visible = phStep1.Visible = false;
                }
                else if (phStep2.Visible)
                {
                    var accountType = EWXAccountTypeUtils.GetEnumType(rblWXAccountType.SelectedValue);
                    if (accountType == EWXAccountType.Subscribe)
                    {
                        var accountInfo = WeiXinManager.GetAccountInfo(PublishmentSystemID);

                        accountInfo.AccountType = rblWXAccountType.SelectedValue;
                        accountInfo.WeChatID    = tbWhchatID.Text;

                        try
                        {
                            DataProviderWX.AccountDAO.Update(accountInfo);

                            LogUtils.AddLog(BaiRongDataProvider.AdministratorDao.UserName, "绑定微信公众帐号",
                                            $"站点:{PublishmentSystemInfo.PublishmentSystemName}");

                            SuccessMessage("绑定微信公众帐号成功!");
                            AddWaitAndRedirectScript(returnUrl);
                        }
                        catch (Exception ex)
                        {
                            FailMessage(ex, "绑定微信公众帐号失败!");
                        }
                    }
                    else
                    {
                        phStep3.Visible = true;
                        phStep1.Visible = phStep2.Visible = false;
                    }
                }
                else
                {
                    var accountInfo = WeiXinManager.GetAccountInfo(PublishmentSystemID);

                    accountInfo.AccountType = rblWXAccountType.SelectedValue;
                    accountInfo.WeChatID    = tbWhchatID.Text;
                    accountInfo.AppID       = tbAppID.Text;
                    accountInfo.AppSecret   = tbAppSecret.Text;

                    try
                    {
                        DataProviderWX.AccountDAO.Update(accountInfo);

                        LogUtils.AddLog(BaiRongDataProvider.AdministratorDao.UserName, "绑定微信公众帐号",
                                        $"站点:{PublishmentSystemInfo.PublishmentSystemName}");

                        SuccessMessage("绑定微信公众帐号成功!");
                        AddWaitAndRedirectScript(returnUrl);
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "绑定微信公众帐号失败!");
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            menuID   = TranslateUtils.ToInt(GetQueryString("menuID"));
            parentID = TranslateUtils.ToInt(GetQueryString("parentID"));

            if (Request.QueryString["Delete"] != null && menuID > 0)
            {
                DataProviderWX.MenuDAO.Delete(menuID);
                SuccessMessage("菜单删除成功!");
            }
            if (Request.QueryString["Subtract"] != null && menuID > 0)
            {
                DataProviderWX.MenuDAO.UpdateTaxisToUp(parentID, menuID);
                SuccessMessage("菜单排序成功!");
            }
            if (!IsPostBack)
            {
                BreadCrumb(AppManager.WeiXin.LeftMenu.ID_Accounts, AppManager.WeiXin.LeftMenu.Function.ID_Menu, string.Empty, AppManager.WeiXin.Permission.WebSite.Menu);
                var accountInfo = WeiXinManager.GetAccountInfo(PublishmentSystemID);
                if (EWXAccountTypeUtils.Equals(accountInfo.AccountType, EWXAccountType.Subscribe))
                {
                    PageUtils.RedirectToErrorPage(@"您的微信公众账号类型为订阅号(非认证),微信目前不支持订阅号自定义菜单。如果您的公众账号类型不是订阅号,请到账户信息中设置微信绑定账号。");
                    return;
                }

                ltlIFrame.Text = @"<iframe frameborder=""0"" id=""menu"" name=""menu"" width=""100%"" height=""500""></iframe>";

                var menuInfoList = DataProviderWX.MenuDAO.GetMenuInfoList(PublishmentSystemID, 0);

                var builder = new StringBuilder();

                foreach (var menuInfo in menuInfoList)
                {
                    var subMenuInfoList = DataProviderWX.MenuDAO.GetMenuInfoList(PublishmentSystemID, menuInfo.MenuID);

                    var subBuilder = new StringBuilder();

                    if (subMenuInfoList.Count < 5)
                    {
                        var addSubUrl = BackgroundMenuAdd.GetRedirectUrl(PublishmentSystemID, menuInfo.MenuID, 0);
                        subBuilder.AppendFormat(@"
                            <dd class=""add"">
                              <a href=""{0}"" target=""menu""><font>新增菜单</font></a>
                            </dd>", addSubUrl);
                    }

                    var i = 0;
                    foreach (var subMenuInfo in subMenuInfoList)
                    {
                        i++;

                        var ddClass        = i == subMenuInfoList.Count ? "last" : string.Empty;
                        var editSubUrl     = BackgroundMenuAdd.GetRedirectUrl(PublishmentSystemID, subMenuInfo.ParentID, subMenuInfo.MenuID);
                        var deleteSubUrl   = GetDeleteRedirectUrl(PublishmentSystemID, subMenuInfo.ParentID, subMenuInfo.MenuID);
                        var subtractSubUrl = GetSubtractRedirectUrl(PublishmentSystemID, subMenuInfo.ParentID, subMenuInfo.MenuID);


                        subBuilder.AppendFormat(@"                                                                   
                            <dd class=""{0}"">
                              <a href=""{1}"" target=""menu""><font>{2}</font></a>
                              <a href=""{3}"" onclick=""javascript:return confirm('此操作将删除子菜单“{2}”,确认吗?');"" class=""delete""><img src=""images/iphone-btn-delete.png""></a>
                              <a href=""{4}"" style='top:20px;' class=""delete""><img src=""images/iphone-btn-up.png""></a>
                            </dd>", ddClass, editSubUrl, subMenuInfo.MenuName, deleteSubUrl, subtractSubUrl);
                    }

                    var editUrl      = BackgroundMenuAdd.GetRedirectUrl(PublishmentSystemID, menuInfo.ParentID, menuInfo.MenuID);
                    var subMenuStyle = parentID == menuInfo.MenuID ? string.Empty : "display:none";
                    var deleteUrl    = GetDeleteRedirectUrl(PublishmentSystemID, menuInfo.ParentID, menuInfo.MenuID);
                    builder.AppendFormat(@"
                    <li class=""secondMenu"">
                        <a href=""{0}"" class=""mainMenu"" target=""menu""><font>{1}</font></a>
                        <dl class=""subMenus"" style=""{2}"">
                            <span>
                                <img width=""9"" height=""6"" src=""images/iphone-btn-tri.png"">
                            </span>
                            {3}
                        </dl>
                        <a href=""{4}"" onclick=""javascript:return confirm('此操作将删除主菜单“{1}”,确认吗?');"" class=""delete""><img src=""images/iphone-btn-delete.png""></a>
                    </li>", editUrl, menuInfo.MenuName, subMenuStyle, subBuilder.ToString(), deleteUrl);
                }

                if (menuInfoList.Count < 3)
                {
                    var addUrl = BackgroundMenuAdd.GetRedirectUrl(PublishmentSystemID, 0, 0);
                    builder.AppendFormat(@"
                    <li class=""secondMenu addMain"">
                        <a href=""{0}"" class=""mainMenu"" target=""menu""><font>新增菜单</font></a>
                    </li>", addUrl);
                }

                ltlMenu.Text = builder.ToString();
            }
        }