前不久, Senparc.Weixin SDK 跟随微信更新的步伐,上线了新的素材管理接口,其中也涉及到了 article_id 类型的自定义菜单接口。

  本文将演示如何使用新的菜单类型。

  官方文档传送门:https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Creating_Custom-Defined_Menu.html

方法一:直接撸代码

  在原有菜单设置代码的基础上(见:《自定义菜单接口说明》),将对应菜单的类型设置为 SingleArticleIdButton 或 SingleArticleViewLimitedButton 即可:

 1 ButtonGroup bg = new ButtonGroup();
2
3 //二级菜单
4 var subButton = new SubButton()
5 {
6 name = "二级菜单"
7 };
8 bg.button.Add(subButton);
9
10 subButton.sub_button.Add(new SingleArticleIdButton()
11 {
12 name = "article_id 按钮",
13 article_id = "YourArticleId"
14 });
15
16 subButton.sub_button.Add(new SingleArticleViewLimitedButton()
17 {
18 name = "article_view_limited 按钮",
19 article_id = "YourArticleId"
20 });
21
22 var result = CommonApi.CreateMenu(_appId, bg);

  其他使用方法和普通按钮一致。

  注意:article_id 即素材永久id。

方法二:UI 界面操作

  为了方便大家快速使用和体验 article_id 菜单按钮,Senparc.Weixin SDK 的 Sample 也已经更新了相应的 UI 操作界面。步骤如下:

1、 打开在线地址:https://sdk.weixin.senparc.com/

  当然您也可以使用源码在本地运行:

  https://github.com/JeffreySu/WeiXinMPSDK/tree/master/Samples/All/net6-mvc

2、 点击顶部菜单【工具箱】>【自定义菜单设置】

3、 点击页面下方按钮,展开可视化编辑区域:

  

  展开后:

4、 填写AppId/Secret或直接使用AccessToken(注意添加IP白名单),点击对应按钮:

5、 选中需要设置的单元格,在右侧菜单类型中,选择【article_id】或【article_view_limited】,然后填写 ArticleId参数:

  设置完成后,点击【更新到服务器】,即可在手机端查看公众号菜单的变化。

  更多 Senparc.Weixin SDK 开发教程请参考:《Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引》,感谢大家的关注,欢迎一起加入开源社区!

Senparc.Weixin SDK 微信公众号 .NET 开发教程 索引

微信新菜单类型 article_id 设置教程的更多相关文章

  1. 【ionic】微信表情设置教程

    NO.0 前提你的下载我的App :超级逗表情 Andorid:http://fir.im/chaojidbq Ios:https://github.com/apanly/chaojidbq (源码, ...

  2. destoon实现商铺管理主页设置增加新菜单的方法

    1.打开/lang/zh-cn/home.inc.php,找到9,10行替换如下: $HMENU = $DMENU = array('公司介绍', '供应产品', '采购清单', '新闻中心', '荣 ...

  3. C#开发微信门户及应用(29)--微信个性化菜单的实现

    有一段时间没有接着微信的主题继续介绍里面的功能模块了,这段时间来,微信也做了不少的变化改动,针对这些特性我全面核对了一下相关的微信公众号和企业号的接口,对原有的微信API和系统管理做了全面的更新,本随 ...

  4. C#开发微信门户及应用(6)--微信门户菜单的管理操作

    前面几篇继续了我自己对于C#开发微信门户及应用的技术探索和相关的经验总结,继续探索微信API并分享相关的技术,一方面是为了和大家对这方面进行互动沟通,另一方面也是专心做好微信应用的底层技术开发,把基础 ...

  5. BIOS设置教程

    BIOS设置图解教程之AMI篇 BIOS设置图解教程之AMI篇(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解AMI系列的BIOS设置图解教程, ...

  6. Windows Server 2008R2服务器安装及设置教程

    第一篇:系统安装与设置 前言本安装及设置教程适用于使用Windows2008R2为操作系统的服务器,目的是让服务器实现下列环境.语言脚本环境:ASP.ASP.Net1.1.ASP.Net2.0.ASP ...

  7. Magcodes.WeiChat——自定义CustomCreationConverter之实现微信自定义菜单的序列化

    微信自定义菜单接口是一个比较麻烦的接口,往往开发的小伙伴们看到下面的这段返回JSON,整个人就会不好了:   {"menu":{"button":[{" ...

  8. Magicodes.WeiChat——自定义knockoutjs template、component实现微信自定义菜单

    本人一向比较喜欢折腾,玩了这么久的knockoutjs,总觉得不够劲,于是又开始准备折腾自己了. 最近在完善Magicodes.WeiChat微信开发框架时,发现之前做的自定义菜单这块太不给力了,而各 ...

  9. Facebook 网页应用图文设置教程

    最近在弄一个项目,需要使用Facebook进行登陆并且获取用户Facebook相关的数据.网上查找有关Facebook应用设置教程,中文资料中,要么介绍的是N版之前的API,要么是App端的教程.Fa ...

随机推荐

  1. jQuery--文档处理案例

    需求 如上图,实现左右两边的选择菜单可以左右移动,'>'按钮一次只能移动被选中的一个菜单,'>>'按钮一次移动所有被选择的菜单,'>>>'按钮 将所有菜单进行移动, ...

  2. Spring Bean生命周期回调

    参阅官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory ...

  3. Redis++:Redis做分布式锁真的靠谱吗

    Redis做分布式锁真的靠谱吗 Redis的分布式锁可以通过Lua进行实现,通过setnx和expire命令连用的方式 || 也可以使用高版本的方法同时设置失效时间,但是假如在以下情况下,就会造成无锁 ...

  4. (stm32f103学习总结)—USART串口通信

    一. USART简介 USART即通用同步异步收发器,它能够灵活地与外部设备进行全双工 数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求. UART即通用异步收发器,它是在USART基 ...

  5. kali Linux 渗透测试 | ARP 欺骗

    目录 ARP 欺骗及其原理 ARP 欺骗实施步骤 必备工具安装 nmap 工具 dsniff 工具 driftnet 工具 ettercap 工具 ARP 欺骗测试 ARP 断网攻击 ARP 欺骗(不 ...

  6. Kurento安装与入门08——Group Call

    Group Call 本示例展示了一个视频聊天室的功能,不同的聊天室之间互相隔离. 官网文档 Group Call 首先从github上获取代码(如果已经获取可以跳过,获取的代码已经包括后面的示例代码 ...

  7. java中字符串池,String池,共享池到底是怎么回事?

    栈中有共享池的概念,比 如下面例子中,sz="hello";在栈中创建一个String对象引用变量sz,然后看看栈中有没有"hello",如果没有,则将&quo ...

  8. javaScript设计模式:发布订阅模式

    发布订阅模式的思想是在观察者模式的基础上演变而来,在观察者模式中客户端监听到对象某个行为就触发对应任务程序.而在发布订阅模式中依然基于这个核心思想,所以有时候也会将两者认为是同一种设计模式.它们的不同 ...

  9. 搭建Vue小页面

    学习链接:https://blog.csdn.net/zhenzuo_x/article/details/81013475 环境搭建: 浏览器:Chrome IDE:VS Code或者WebStorm ...

  10. Struts2中将表单数据封装到List和Map集合中

    一.将表单数据封装到Map集合中 1.创建MapAction类 import cn.entity.User; import com.opensymphony.xwork2.ActionSupport; ...