微信开发(1)自定义菜单
2015-08-10 09:12
344 查看
微信开发(1)自定义菜单
自定义菜单属于高级API,订阅号没有(成为开发者也不行)。因此需要服务号或者企业号。此外,也可以申请测试号。
点击“开发者中心”中的“接口测试申请系统”。
然后用你的微信扫描一下页面中的二维码,即可申请到一个测试号。
此后再点击“接口测试申请系统”就会进入到“管理测试号”页面:
在这个页面中,可以查看测试号的appid和appsecret。也可以配置接口URL和js安全域名:
图片链接
在“体验接口权限表”中,你可以看到测试账号已经获得“自定义菜单”权限:
图片链接
接下来就可以编写代码了。
首先在你自己的微信接口服务器上编写一个html页面create.php(如果你使用了新浪sae作为你的微信服务器,则可以使用sae的在线编辑工具,这样修改代码后立即就可以看到结果):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>创建自定义菜单</TITLE> <META charset=utf-8> <META name=viewport content="width=device-width, user-scalable=no, initial-scale=1"> <LINK rel="stylesheet" href="http://libs.baidu.com/jquerymobile/1.3.0/jquery.mobile-1.3.0.min.css" /> <SCRIPT src="http://libs.baidu.com/jquery/1.10.0/jquery.min.js"></SCRIPT> <SCRIPT src="http://libs.baidu.com/jquerymobile/1.3.0/jquery.mobile-1.3.0.min.js"></SCRIPT> <style> .kuang th { color: #333333;padding:0; font-size:16px; font-weight:normal;text-align: left;width: 130px; } </style> </HEAD> <BODY> <div data-role="page" id="page1"> <div data-role="content"> <form method="post" id="form" action='menu.php' enctype='multipart/form-data'> <div class="fieldcontain"> <h2>微信自定义菜单</h2> </div> <UL data-role="listview" data-inset="true"> <LI> <div class="fieldcontain"> <table class="kuang" width="100%" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <th><label>AppID</label></th> <td><input type="text" id="appid" name="appid" value="" placeholder="应用ID。从“开发者中心”->“配置项”中获得。" required></td> </tr> <tr> <th><label>AppSecret</label></th> <td><input type="text" id="appsecret" name="appsecret" value="" placeholder="应用密钥。从“开发者中心”->“配置项”中获得。" required></td> </tr> <tr> <th><label>自定义菜单内容</label></th> <td><textarea id="customermenu" name="customermenu" rows="9"> </textarea></td> </tr> </tbody> </table> </div> </LI> </UL> <input type="submit" name="submit" data-theme="b" data-icon="check" value="生成菜单" /> </form> </div> </div> </BODY> </HTML>
这实际上是一个HTML 表单,提交到menu.php页面。在浏览器中访问create.php页面,实际效果如下:
图片链接
在AppID栏和AppSecret栏中填入你的测试号的AppID和AppSecret,在自定义菜单内容中填入你要创建的JSON菜单数据,例如:
{ "button":[ { "type":"click", "name":"今日歌曲", "key":"V1001_TODAY_MUSIC" }, { "name":"菜单", "sub_button":[ { "type":"view", "name":"搜索", "url":"http://www.soso.com/" }, { "type":"view", "name":"视频", "url":"http://v.qq.com/" }, { "type":"click", "name":"赞一下我们", "key":"V1001_GOOD" }] }] }
然后点击“生成菜单”。页面返回“菜单创建成功”。
打开微信,扫描测试号的二维码,关注测试号(如果先前已经关注过,请先取消关注),然后进入测试号,你会发现你的自定义菜单已经生效,如下图所示:
图片链接
其中,menu.php文件的代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>创建自定义菜单</TITLE> <META charset=utf-8> <META name=viewport content="width=device-width, user-scalable=no, initial-scale=1"> <LINK rel="stylesheet" href="http://libs.baidu.com/jquerymobile/1.3.0/jquery.mobile-1.3.0.min.css"> <SCRIPT src="http://libs.baidu.com/jquery/1.10.0/jquery.min.js"></SCRIPT> <SCRIPT src="http://libs.baidu.com/jquerymobile/1.3.0/jquery.mobile-1.3.0.min.js"></SCRIPT> </HEAD> <BODY> <?php // 导入weixin.class.php,这是方倍工作室实现的微信API接口,网上搜一下就可以下载 require_once("../weixin.class.php"); // 表单中的AppID $appid=$_REQUEST['appid']; // 表单中的AppSecret $appsecret=$_REQUEST['appsecret']; // 表单中的菜单JSON数组 $data=$_REQUEST['customermenu']; // 实例化一个微信高级接口对象 $weixin = new class_weixin_adv($appid,$appsecret); // 调用高级接口中的创建菜单方法 $res=$weixin->create_menu($data); // 如果返回值中errcode为0,创建成功,否则创建失败 if($res['errcode']==0){ echo '菜单创建成功'; }else echo '错误:' . var_dump($res); ?> <p align='center'><a href="create.php">返回</a> </BODY> </HTML>
相关文章推荐
- 微信更新---素材库
- 微信接口获取昵称中的表情符的过滤
- 微信公众号抢现金红包活动的核心代码分析(asp.net C#)
- 微信Curl获取信息简单案例(PHP版)
- 基于微信硬件公众平台的智能控制开发流程
- 微信分享 apicloud方式 中遇到的坎
- 沐雪微信2.0最新版本升级啦
- 仿支付宝/微信的密码输入框效果GridPasswordView解析
- 键盘操作、小程序查看器
- 添加按钮\小程序查看器.java
- 绘图.java(小程序查看器)
- java小程序查看器
- 小程序查看器的用法.java
- 微信开发中不出现“该公众号无法提供服务”
- 微信公众号平台之自定义菜单开发
- 用C实现打字机模式的一个小程序
- 微信开发 文档集合 (链接)
- 微信支付--维权接口开发!
- 微信支付----没我想的那么难!
- 微信支付详解