微信公众号菜单开发配置

常常看到微信公众号下面有菜单,点击菜单可以跳转的不同的页面。如图.

菜单有两种配置方式,这两种方式都可以

   1.手动配置

   2.通过程序开发自动配置。

 微信公众号菜单开发配置_第1张图片

 今天我们看看通过程序开发自动配置怎么实现,也就是第二种方式怎么操作

1.关闭手动配置

  首先登陆微信公众平台,进行自定义菜单页面,关闭手动菜单配置,实现通过开发接口配置,如图

微信公众号菜单开发配置_第2张图片

 

2.基本设置

  首先进入开发中心,进行基本配置

  2.1 开发信息配置

        配置appid, 配置AppSecret, 配置IP白名单

        注意: IP白名单中要添加公众号菜单网址所在的服务器IP

        微信公众号菜单开发配置_第3张图片

     2.2 服务器配置

         这个配置是最麻烦的,最令人头疼的,我找了一下午才解决,主要是配置服务器的时候一直提示token验证失败,

但是一直没找到原因,最后还是解决了,现把解决办法说下,供大家借鉴

微信公众号菜单开发配置_第4张图片

     首先配置的时候要输入域名,token,

    然后在后头开发中配置的token和页面中的token一致,

     后头要写代码实现,进行token验证

     

  public class BaseWebChatController : Controller
    {

        /// 
        /// 微信后台验证地址(使用Get),微信后台的“接口配置信息”的Url
        /// 
        [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
        {
            var token = WXSettingHelper.Instance.Token;//微信公众平台后台设置的Token
            if (string.IsNullOrEmpty(token)) return Content("请先设置Token!");
            var ent = "";
            if (!BasicAPI.CheckSignature(signature, timestamp, nonce, token, out ent))
            {
                LogHelper.WriteLog("参数错误");
                return Content("参数错误!");
            }
            LogHelper.WriteLog("验证通过" + echostr);
            return Content(echostr); //返回随机字符串则表示验证通过
        }
}

    如果验证通过,页面就会提示成功。如果通不过,token一直提示失败.

   关键时刻到了,如果提示失败,可以使用如下方法,欺骗前台页面,绕过认证

 

  [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(string signature, string timestamp, string nonce, string echostr)
        {
            var token = WXSettingHelper.Instance.Token;//微信公众平台后台设置的Token
            if (string.IsNullOrEmpty(token)) return Content("请先设置Token!");
            var ent = "";
            
            return Content(echostr); //返回随机字符串则表示验证通过
        }

   这样前台页面就可以提交成功了。

   服务器配置好后,点击启用就可以了

3.创建菜单

    有了以上信息后,就可以写程序创建菜单了,创建菜单的具体代码可以百度下,这个难度不大。

菜单创建完成后,一分钟之内就可以在公众号中看到菜单了

 

 

 

你可能感兴趣的:(微信)