{
"button": [
{
"name": "客户中心",
"sub_button": [
{
"type": "view",
"name": "维护申请",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?maintain-apply.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "view",
"name": "新增报装",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?expand-apply.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "view",
"name": "业务查询",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?member-queryCenter.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "view",
"name": "闪电开票",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?invoice-myInvoice.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "view",
"name": "单边账查询",
"url": "http://mp.weixin.qq.com/s/4BSQNBLltRaVU4wRNy5O-A",
"sub_button": []
}
]
},
{
"name": "积分商城",
"sub_button": [
{
"type": "click",
"name": "我要积分",
"key": "你好!谢谢关注收银宝宝!精彩即将开启!"
},
{
"type": "view",
"name": "积分兑换",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?shop-createOrder.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "click",
"name": "最新动态",
"key": "你好!谢谢关注收银宝宝!精彩即将开启!"
},
{
"type": "click",
"name": "俱乐部",
"key": "你好!谢谢关注收银宝宝!精彩即将开启!"
},
{
"type": "click",
"name": "一起玩",
"key": "你好!谢谢关注收银宝宝!精彩即将开启!"
}
]
},
{
"name": "上班打卡",
"sub_button": [
{
"type": "view",
"name": "生成二维码",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?sign.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
},
{
"type": "scancode_push",
"name": "签到/签退",
"key": "cahser_menu_0_1",
"sub_button": []
},
{
"type": "view",
"name": "个人页面",
"url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxef02546ba42bd930&redirect_uri=http://myweb.com/?personal.html&response_type=code&scope=snsapi_base&state=FROM_WEIXIN_AUTH#wechat_redirect",
"sub_button": []
}
]
}
]
}

微信公众号菜单demo的更多相关文章

  1. 使用NW.js封装微信公众号菜单编辑器为桌面应用

    开发微信公众号的朋友都会遇到一个常见的需求就是修改自定义菜单,如果每个人都去开发这个不经常使用的功能确实有点浪费时间.前段时间在github上找到一个仿企业号的菜单编辑界面,结合微信的C# SDK开发 ...

  2. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  3. 微信公众号菜单openid 点击菜单即可打开并登录微站

    现在大部分微站都通过用户的微信openid来实现自动登录.在我之前的开发中,用户通过点击一个菜单,公众号返回一个图文,用户点击这个图文才可以自动登录微站.但是如果你拥有高级接口,就可以实现点击菜单,打 ...

  4. Vue.js学习 — 微信公众号菜单编辑器(一)

    学习里一段时间Vue.js,于是想尝试着做一个像微信平台里那样的菜单编辑器,在这里分享下 具体样式代码查看项目github 创建一个vue实例 <!DOCTYPE html> <ht ...

  5. 微信公众号菜单添加小程序,miniprogram,pagepath参数详解,php开发公众号

    随着微信小程序功能的开发, 已经可以跟公众号打通了, 主要有两种方式: 1) 在公众号文章中插入小程序 2) 在公众号菜单中添加小程序 第一种方式, 子恒老师在前面的课程已经详细介绍过, 今天来讲第二 ...

  6. unigui如何把webApp的子功能映射到微信公众号菜单

    只需要用UniApplication.Parameters.Values[‘xxx’]读取url的参数然后调用就可以 例如:要打开公众号菜单的取样送检指南查询模块,在自定义菜单设定:http://ww ...

  7. unigui不是单个网页相应的链接,而是整体Web Application,如何把webApp的子功能映射到微信公众号菜单?

    只需要用UniApplication.Parameters.Values[‘xxx’]读取url的参数然后调用就可以 例如:要打开公众号菜单的取样送检指南查询模块,在自定义菜单设定:http://ww ...

  8. 微信公众号菜单与应用交互session

    http://www.cnblogs.com/yank/p/3476874.html http://blog.csdn.net/zmhawk/article/details/43671195 http ...

  9. appium+java(四)微信公众号自动化测试实践

    前言 随着手机阅读的普遍应用,微信公众号阅读,更为普遍,微信和qq一样,都是基于腾讯自研X5内核,不是google原生webview(其实就是进行了二次定制).实质上也是混合应用的一种,现在很多app ...

随机推荐

  1. 小程序怎样控制rich-text中的<img>标签自适应

    小程序通过rich-text实现字符串转化为html,即 <rich-text node="{{html}}"></rich-text>.如果html字符串 ...

  2. DRF初识

    目录 Web API接口 什么是Web API接口 接口四大特征 接口文档的编写测试 restful接口规范 url链接设计 五大请求方式 响应结果 DRF框架安装 基于原生Django实现十大接口 ...

  3. JAVA 类加载机制学习笔记

    JAVA 类生命周期 如上图所示,Java类的生命周期如图所示,分别为加载.验证.准备.解析.初始化.使用.卸载.其中验证.准备.解析这三个步骤统称为链接. 加载:JVM根据全限定名来获取一段二进制字 ...

  4. Clion IDE的安装

    /下载压缩包 wget https://download.jetbrains.8686c.com/cpp/CLion-2016.2.2.tar.gz //解压 tar -zxvf CLion-2016 ...

  5. duilib教程之duilib入门简明教程5.自绘标题栏

    如果大家有做过标题栏的自绘,肯定会感慨各种不容易,并且现有的一些资料虽然完美的实现了功能,但是代码比较乱,需要自行整理.如果用duilib,就是小case啦.    duilib其实并没有区分标题栏和 ...

  6. 洛谷 P1242 新汉诺塔

    原题链接 题目描述 设有n个大小不等的中空圆盘,按从小到大的顺序从1到n编号.将这n个圆盘任意的迭套在三根立柱上,立柱的编号分别为A.B.C,这个状态称为初始状态. 现在要求找到一种步数最少的移动方案 ...

  7. 为什么要使用Vue.$set(target,key,value)

    vue中不能检测到数组和对象的两种变化: 1.数组长度的变化 vm.arr.length = 4 2,数组通过索引值修改内容 vm.arr[1] = 'aa' Vue.$set(target,key, ...

  8. 深入浅出 Java Concurrency (25): 并发容器 part 10 双向并发阻塞队列 BlockingDeque[转]

    这个小节介绍Queue的最后一个工具,也是最强大的一个工具.从名称上就可以看到此工具的特点:双向并发阻塞队列.所谓双向是指可以从队列的头和尾同时操作,并发只是线程安全的实现,阻塞允许在入队出队不满足条 ...

  9. 主机入侵防御系统(HIPS)分析

    主机入侵防御系统(Host Intrusion Prevent System,HIPS)是近几年出现并迅速发展的新兴产物,与传统意义的防火墙和杀毒软件不同,它并不具备特征码扫描和主动杀毒等功能,所以想 ...

  10. 【JEECG-Boot 技术文档】新手入门教程

    Jeecg-Boot入门教程必看(新手学习) 1.开发环境搭建 http://jeecg-boot.mydoc.io/?t=345670 开发工具 :https://pan.baidu.com/sha ...