文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一日一技:微信开发自定义菜单

2024-12-03 10:02

关注

概述

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。

文档定义

接口调用请求说明

http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

click和view的请求示例

  1.      "button":[ 
  2.      {   
  3.           "type":"click"
  4.           "name":"今日歌曲"
  5.           "key":"V1001_TODAY_MUSIC" 
  6.       }, 
  7.       { 
  8.            "name":"菜单"
  9.            "sub_button":[ 
  10.            {   
  11.                "type":"view"
  12.                "name":"搜索"
  13.                "url":"http://www.soso.com/" 
  14.             }, 
  15.             { 
  16.                  "type":"miniprogram"
  17.                  "name":"wxa"
  18.                  "url":"http://mp.weixin.qq.com"
  19.                  "appid":"wx286b93c14bbf93aa"
  20.                  "pagepath":"pages/lunar/index" 
  21.              }, 
  22.             { 
  23.                "type":"click"
  24.                "name":"赞一下我们"
  25.                "key":"V1001_GOOD" 
  26.             }] 
  27.        }] 
  28.  } 

实现方式

1、定义菜单json文档

  1.   "button": [ 
  2.  
  3.     { 
  4.       "name""运营提升"
  5.       "sub_button": [ 
  6.         { 
  7.           "type""view"
  8.           "name""免费试用"
  9.           "url""https://acc.bqool.cn/freetrial" 
  10.         }, 
  11.         { 
  12.           "type""view"
  13.           "name""新 AI调价"
  14.           "url""https://www.bqool.cn/products/repricing-central/" 
  15.         }, 
  16.         { 
  17.           "type""view"
  18.           "name""热 卖家酷"
  19.           "url""https://www.bqool.cn/bigcentral/" 
  20.         }, 
  21.  
  22.         { 
  23.           "type""view"
  24.           "name""热 选品酷"
  25.           "url""https://www.bqool.cn/products/chrome-extension/" 
  26.         }, 
  27.         { 
  28.           "type""view"
  29.           "name""更多产品.."
  30.           "url""https://www.bqool.cn/" 
  31.         } 
  32.       ] 
  33.     }, 
  34.     { 
  35.       "name""酷仔部落"
  36.       "sub_button": [ 
  37.         { 
  38.           "type""view"
  39.           "name""限时福利"
  40.           "url""https://mp.weixin.qq.com/mp/video?__biz=MzIzMjc1NTY3MQ==&mid=100007240&sn=04973c15f924fc78a78fec50cd75d706&vid=wxv_1500216251938308102&idx=1&vidsn=a27a0d1d9503802f9f9095534d4d2507&fromid=1&xtrack=1&scene=0&subscene=10000&clicktime=1600054770&enterid=1600054770#wechat_redirect" 
  41.         }, 
  42.         { 
  43.           "type""view"
  44.           "name""成功案例"
  45.           "url""https://www.bqool.cn/user-stories/" 
  46.         }, 
  47.         { 
  48.           "type""view"
  49.           "name""教学视频"
  50.           "url""https://www.bqool.cn/video-tutorial/" 
  51.         }, 
  52.         { 
  53.           "type""view"
  54.           "name""部落文章"
  55.           "url""https://mp.weixin.qq.com/mp/homepage?__biz=MzIzMjc1NTY3MQ==&hid=1&sn=db4536a338f0e128ce2e5db089f381e1&scene=18" 
  56.         } 
  57.  
  58.       ] 
  59.     }, 
  60.     { 
  61.       "name""权益中心"
  62.       "sub_button": [ 
  63.         { 
  64.           "type""view"
  65.           "name""签到抽奖"
  66.           "url""http://u135069.s.24hwpro.com/web/game/game_id/1220189859" 
  67.         }, 
  68.         { 
  69.           "type""view"
  70.           "name""商务合作"
  71.           "url""https://h5.eqxiul.com/ls/EyOfmUXk" 
  72.         }, 
  73.         { 
  74.           "type""view"
  75.           "name""电商服务"
  76.           "url""https://www.bqool.cn/seller-services/" 
  77.         }, 
  78.         { 
  79.           "type""view"
  80.           "name""联系酷仔"
  81.           "url""https://admin.qidian.qq.com/template/blue/mp/menu/qr-code-jump.html?linkType=0&env=ol&kfuin=2852161981&fid=95&key=71d05b6c5e0a545f0be22ec831f9d7af&cate=1&type=16&ftype=1&_type=wpa&qidian=true" 
  82.         } 
  83.       ] 
  84.     } 
  85.   ] 

2、读取json文件

  1. ///  
  2.         /// 自定义菜单 
  3.         ///  
  4.         /// name="OPENID"
  5.         /// name="template_id"
  6.         /// <returns>returns
  7.         [BQoolException] 
  8.         [HttpPost] 
  9.         public ApiResult CustomMenus(string CustomMenusPwd) 
  10.         { 
  11.             if (!string.IsNullOrWhiteSpace(CustomMenusPwd) && CustomMenusPwd.Trim() == MvcTools.GetAppSetting("WeixinCustomMenus")) 
  12.             { 
  13.                 CustomMenusParam param = new CustomMenusParam() { Account = "sys", UpdateUser = "sys" }; 
  14.                 param.Jsonstr = WeiXinHelper.ReadAccess(HttpRuntime.AppDomainAppPath.ToString() + "/App_Data/WeChat/Custom_Menus.json"); 
  15.                 ApiResult result = _weChatAlertsService.CustomMenus(param, AppId, Appsecret); 
  16.                 return result; 
  17.             } 
  18.             else 
  19.             { 
  20.                 return new ApiResult() { Success = false, Code = ApiResultCode.InvalidError, ErrorMessage = ApiResultCode.ErrorMessages[ApiResultCode.InvalidError] }; 
  21.             } 
  22.         } 

3、post提交数据到微信服务器

  1. private static Tuple CustomMenus(string AppId, string Appsecret, string jsonstr, bool isResh) 
  2.         { 
  3.             var accessToken = TryGetAccessToken(AppId, Appsecret, isResh); 
  4.             string url = APIConfig.Custom_Menus(accessToken); 
  5.             string str = APIConfig.CreatePostHttpResponse(url, jsonstr); 
  6.             _logger.Debug("自定义菜单\r\n" + "输入:" + url + "\r\n" + jsonstr + "\r\n输出:" + str); 
  7.             return new Tuple(JsonConvert.DeserializeObject(str), url, jsonstr); 
  8.         } 
  1. public static string WEIXIN_URL = "https://api.weixin.qq.com/"
  2.  
  3.         public static string Custom_Menus(string token) 
  4.         { 
  5.             return String.Format(WEIXIN_URL + "cgi-bin/menu/create?access_token={0}", token); 
  6.         } 

备注:一般情况下,不管是创建或者修改菜单,使用 "cgi-bin/menu/create这个接口即可。

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯