首页 > PHP资讯 > 工具库 > 微信公众平台开发:个性化菜单接口说明

微信公众平台开发:个性化菜单接口说明

工具库
前不久微信上线了个性化菜单接口,Senparc.Weixin SDK也已经同步更新。

本次更新升级Senparc.Weixin.MP版本到v13.5.2,依赖Senparc.Weixin版本4.5.4。.NET4.5(master) / .NET4.0两个分支都已同步更新。

由于个性化菜单变化比较大,所以对整个菜单接口进行了目前为止最大面积的重构(可以向下兼容)。

相比之前的自定义菜单,目前整个菜单相关功能针对文件结构进行了全面的整理,:

接口

  菜单接口已经全部归入CommonAPIs/Menu目录下,CommonApi部分类下面再分出3个类文件:

菜单接口文件

  其中自定义菜单接口已经确保向下兼容,以前如果有已经开发自定义菜单功能的项目,可以放心升级。

  个性化菜单类内容如下:

/*----------------------------------------------------------------    Copyright (C) 2015 Senparc        文件名:CommonApi.Menu.Conditional    文件功能描述:个性化自定义菜单接口            创建标识:Senparc - 20151222            修改标识:Senparc - 20151222    修改描述:v13.5.1 添加个性化菜单接口----------------------------------------------------------------*//*    API:
 */using Senparc.Weixin.Entities;using Senparc.Weixin.Helpers;using Senparc.Weixin.MP.Entities;using Senparc.Weixin.MP.Entities.Menu;namespace Senparc.Weixin.MP.CommonAPIs{    public partial class CommonApi    {        ///         /// 创建个新华菜单        ///         /// 
        ///         public static WxJsonResult DeleteMenuConditional(string accessTokenOrAppId, string menuId)        {            return ApiHandlerWapper.TryCommonApi(accessToken =>            {                var url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token={0}", accessToken);                var data = new                {                    menuId = menuId                };                return CommonJsonSend.Send(accessToken, url, data, CommonJsonSendType.POST);            }, accessTokenOrAppId);        }        /* 使用普通自定义菜单删除接口可以删除所有自定义菜单(包括默认菜单和全部个性化菜单),请见自定义菜单删除接口的说明。 */    }}


  菜单公共方法中,GetButtonGroup()方法添加了一个参数:buttonGroup,用于指定菜单按钮列表类型(属于个性化菜单还是自定义菜单)。

  

实体

  有关实体类的变化都体现在Entities/Menu目录下,新建了IButtonGroupBase接口以及ButtonGroupBase基类。ButtonGroup(自定义菜单)和ConditionalButtonGroup(个性化菜单)按钮都继承自ButtonGroupBase。

  Entities/Menu/Buttons/目录下的所有按钮类型是通用的。

返回类型

  重新整理的返回类型都在Entities/JsonResult/Menu/目录下:

更多微信公众平台开发:个性化菜单接口说明相关文章请关注PHP中文网!

工具库

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持2不支持0