微信自定义菜单开发教程

合集下载

【微信小程序】自定义抽屉式菜单(底部,从下向上拉出)

【微信小程序】自定义抽屉式菜单(底部,从下向上拉出)

【微信⼩程序】⾃定义抽屉式菜单(底部,从下向上拉出)通过使⽤这个创建动画的api,可以做出很多特效出来下⾯介绍⼀个抽屉菜单的案例实现代码:wxml:<!--button--><view class="btn" bindtap="powerDrawer" data-statu="open">button</view><!--mask--><view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view><!--content--><!--使⽤animation属性指定需要执⾏的动画--><view animation="{{animationData}}" class="drawer_attr_box" wx:if="{{showModalStatus}}"><!--drawer content--><view class="drawer_content"><view class="drawer_title line">菜单1</view><view class="drawer_title line">菜单2</view><view class="drawer_title line">菜单3</view><view class="drawer_title line">菜单4</view><view class="drawer_title">菜单5</view></view></view>wxss:/*button*/.btn {width: 80%;padding: 20rpx 0;border-radius: 10rpx;text-align: center;margin: 40rpx 10%;background: #0C1939;color: #fff;}/*mask*/.drawer_screen {width: 100%;height: 100%;position: fixed;top: 0;left: 0;z-index: 1000;background: #000;opacity: 0.2;overflow: hidden;}/*content*/.drawer_attr_box {width: 100%;overflow: hidden;position: fixed;bottom: 0;left: 0;z-index: 1001;background: #fff;}.drawer_content {padding: 20rpx 40rpx;height: 470rpx;overflow-y: scroll;}.drawer_title{padding:20rpx;font:42rpx "microsoft yahei";text-align: center;}.line{border-bottom: 1px solid #f8f8f8;} js:Page({data: {showModalStatus: false},powerDrawer: function (e) {var currentStatu = e.currentTarget.dataset.statu;this.util(currentStatu)},util: function(currentStatu){/* 动画部分 */// 第1步:创建动画实例var animation = wx.createAnimation({duration: 200, //动画时长timingFunction: "linear", //线性delay: 0 //0则不延迟});// 第2步:这个动画实例赋给当前的动画实例this.animation = animation;// 第3步:执⾏第⼀组动画:Y轴偏移240px后(盒⼦⾼度是240px),停 animation.translateY(240).step();// 第4步:导出动画对象赋给数据对象储存this.setData({animationData: animation.export()})// 第5步:设置定时器到指定时候后,执⾏第⼆组动画setTimeout(function () {// 执⾏第⼆组动画:Y轴不偏移,停animation.translateY(0).step()// 给数据对象储存的第⼀组动画,更替为执⾏完第⼆组动画的动画对象 this.setData({animationData: animation})//关闭抽屉if (currentStatu == "close") {this.setData({showModalStatus: false});}}.bind(this), 200)// 显⽰抽屉if (currentStatu == "open") {this.setData({showModalStatus: true});}}})效果: 。

公众号开发流程

公众号开发流程

公众号开发流程
公众号开发是指根据微信公众平台的要求,进行自定义菜单、消息回复、素材管理等功能的开发。

下面是公众号开发的一般流程:
1. 注册微信公众平台账号:首先需要在微信公众平台上注册一个账号,并选择要开发的类型,如订阅号、服务号或企业号。

2. 完善公众号基本信息:注册账号后,需要填写公众号的基本信息,包括公众号名称、头像、简介等。

3. 申请微信公众号开发者权限:为了能够使用公众号开发接口,需要申请微信公众号开发者权限。

申请步骤包括提供公众号的基本信息、开发者身份验证等。

4. 开发公众号功能:开发功能包括自定义菜单、消息回复、素材管理等。

可以使用微信提供的开发工具集成开发环境(IDE)
进行开发。

5. 部署代码:开发完成后,需要将代码部署到服务器上,确保公众号能够正常运行。

6. 测试和调试:在部署代码后,需要进行测试和调试,确保公众号的功能能够正常运行。

7. 提交审核:当开发完成并通过测试后,需要将开发的功能提交到微信公众平台审核。

审核包括选择要审核的功能,填写相
关说明等。

8. 上线发布:通过审核后,功能可以上线发布,用户可以通过搜索公众号或扫描二维码关注公众号。

9. 运营与推广:公众号上线后,需要进行运营与推广,包括推送内容、互动回复、关注活动等,吸引用户关注和使用公众号。

总结起来,公众号开发流程包括注册账号、完善基本信息、申请开发者权限、开发功能、部署代码、测试调试、提交审核、上线发布和运营与推广。

通过以上步骤,可以完成一个公众号的开发工作,并吸引用户关注和使用公众号。

微信公众号的自定义菜单该设置什么内容?

微信公众号的自定义菜单该设置什么内容?

微信公众号的自定义菜单该设置什么内容?趁早上挤地铁的时间扒了扒微信里关注的公众号。

205个!一天有205篇新文章要看,看1篇平均5分钟,17个小时才能看完。

还有7小时留来睡觉。

这么算,一天啥事不用干,光看文章就行了!花了点时间抽取了其中的53个经常更新的来分析下它们的自定义菜单功能都如何设置。

我把它们的菜单项归纳为7种类型,如下:1、自我介绍:关于我、我们2、活动:招聘会、考察、交流、培训班3、合作:投稿、联系我们、设计咨询4、电商:商城、店铺、5、文章:精选、近期、历史、推荐、资讯6、社群:互动社区、论坛、微信群7、广告:推书籍、推作品、推公众号8、空格:菜单为空。

这53个公众号,共有159个菜单项,1个没有设置置底的菜单。

5个只用了2个菜单项。

现在还有没设置菜单的公众号,这公号是有多懒。

统计后,占比见下图:文章分类遥遥领先竟然还有浪费菜单项的,直接空的合作的需求很大活动跟电商有不少了社群还没有受到重视打广告的还算比较少下面具体看看这几种类型的作用:一、文章分类:改善阅读体验出现这种类型的原因应该是微信公众号缺少分类功能,更符合碎片化阅读的场景。

读者查看时需要在历史记录里翻阅这么多文章,一篇篇往前翻,多费劲,而且还只能按时间来排序,缺少个提纲挈领的目录。

所以大小公众号往往为了避免碎片化阅读的弊端,吸取结构化阅读的优点,用菜单功能做了分类文章的功能,具体用“往期文章、必读、导读、精选、好文、最新资讯”来实现索引功能。

我们PK 下结构化阅读与碎片化阅读。

结构化阅读就像看一本书,有前言、提纲、章节。

碎片化阅读其实一直都有,比如报纸,一篇篇文章直接的关联性不是很强,经典的著作《论语》也是碎片化的。

2者各有利弊,结构化是系统性的、可以深入阅读,碎片化是随机的,灵活的、快速的。

碎片化更符合当前时代。

除了用菜单功能实现文章分类外,还有设置链接到一个轻应用的方式。

可选的有白鹭引擎最近上线的一款青雀的产品,有赞也不错,罗辑思维用的就是它。

微信公众号自定义菜单完整代码

微信公众号自定义菜单完整代码

微信公众号⾃定义菜单完整代码<?php$url = "https:///cgi-bin/token?grant_type=client_credential&appid=wxdf1c98cc137c3925&secret=948b41615d25d52236e13eb6531efcfd"; $dataa = getCurl($url);//通过⾃定义函数getCurl得到https的内容$resultArr = json_decode($dataa, true);//转为数组$access_token = $resultArr['access_token'];//echo $access_token;die;function getCurl($url){//get https的内容$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不输出内容curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$result = curl_exec($ch);curl_close ($ch);return $result;}function createMenu($data,$url1){$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$url1);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_AUTOREFERER, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$tmpInfo = curl_exec($ch);if (curl_errno($ch)) {return curl_error($ch);}curl_close($ch);return $tmpInfo;}$url1 = "https:///cgi-bin/menu/create?access_token=".$access_token;$data = '{"button":[{"type":"click","name":"⾸页","key":"home"},{"type":"click","name":"简介","key":"introduct"},{"name":"个⼈中⼼","sub_button":[{"type":"view","name":"我的商城","url":"/" },{"type":"view","name":"我的媳妇","url":"https://"}]}]}';echo createMenu($data,$url1);。

微信公众平台开发教程

微信公众平台开发教程

公众平台开发教程公众平台开发教程1:概述1.1 什么是公众平台1.2 公众平台的作用1.3 公众平台开发的基本流程2:注册与配置2.1 注册公众平台账号2.2 配置开发者权限2.3 创建自定义菜单2.4 增加关注欢迎语2.5 设置自定义回复消息3:消息处理3.1 接收用户消息3.2 处理用户消息3.3 发送客服消息3.4 接收地理位置消息3.5 接收事件消息4:素材管理4.1 临时素材4.2 临时素材4.3 永久素材4.4 永久素材4.5 素材管理API调用示例5:用户管理5.1 获取用户基本信息5.2 获取用户列表5.3 获取用户分组5.4 管理用户分组5.5 用户标签管理5.6 用户管理6:账号管理7:网页授权7.1 用户授权流程7.2 获取授权用户信息7.3 刷新和验证授权8:数据统计8.1 用户分析数据接口8.2 图文分析数据接口8.3 消息分析数据接口8.4 接口分析数据接口附件:- 附带源代码示例- 附带案例演示文件法律名词及注释:1:公众平台:由腾讯公司开发和运营的一个公众号管理平台,提供了丰富的功能和接口,供开发者开发和管理公众号。

2:开发者权限:在公众平台注册开发者账号后,获取的一系列权限,包括菜单配置、消息处理、素材管理等。

3:自定义菜单:允许公众号开发者在中自定义菜单,方便用户交互和导航功能。

4:关注欢迎语:当用户关注公众号后,显示给用户的欢迎消息。

5:自定义回复消息:根据用户发送的消息自动回复相应的内容,提供个性化的用户体验。

微信小程序用navigationStyle自定义导航栏做法

微信小程序用navigationStyle自定义导航栏做法
</view>
2.编 写 导 航 栏 css样 式
.nav { width: 100%; height: 66px; overflow: hidden; position: relative; top: 0; left: 0; z-index: 10; background: #FFA822; }
.title_text { width: 100%; height: 45px; color: white; line-height: 45px; text-align: center; position: absolute; bottom: 0; left: 0; z-index: 10; font-size: 34rpx; }
网络错误503请刷新页面重试持续报错请尝试更换浏览器或网络环境
微信小程序用 navigationStyle自定义导航栏做法
1.html自 己 编 写 一 个 导 航 栏 结 构
<view class='nav' style='height:{{navH}}px'> <view class='title_icon' bindtap="myCenterPage"> <image src="{{userimg}}" mode='aspectFit' class='back' bindtap='navBack'></image> </view> <view class='title_text'>{{title}}</view>
.title_icon view { height: 18px; border-left: 1px solid #eaeaea; margin-top: 6px; }

微信订阅号开通自定义菜单流程

微信订阅号开通自定义菜单流程

微信订阅号开通自定义菜单流程大家都知道微信自定义菜单的好处,微信导航的功能极大的方便的各类营销活动。

而订阅号每天可以发送消息,也起到了很好的推广作用。

那么,订阅号如何获得自定义菜单功能呢?专业微信营销机构杰客科技指出,企业、政府、媒体、个体、个人、工作室、网站的订阅号均可帮忙开通自定义菜单接口,以下是详细流程。

∙订阅号菜单的形式可创建最多3个一级菜单,每个一级菜单下可创建最多5个二级菜单。

并且可设置订阅者点击菜单后,公众号做出的相应动作。

如发送信息、跳转到网页(商品购买页面)。

∙订阅号如何开通菜单企业、政府、媒体、个体、个人、工作室、网站的订阅号均开通自定义菜单接口,需要的资料为微信账号信息、身份证、手机、邮箱、联系地址等。

将以上资料整理好发给杰客科技在线客服人员,即可帮忙开通自定义菜单功能。

所需时间为3工作日左右,要求提供的照片清晰、信息准确。

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

开启自定义菜单后,公众号界面如图所示:目前自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。

一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。

请注意,创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来。

建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。

∙菜单功能按钮目前自定义菜单接口可实现两种类型按钮,如下:click:用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互;view:用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值(即网页链接),达到打开网页的目的,建议与网页授权获取用户基本信息接口结合,获得用户的登入个人信息。

微信公众平台开发教程

微信公众平台开发教程

公众平台开发教程公众平台开发教程一:概述1.1 什么是公众平台公众平台是一个提供给公众号运营者进行管理和开发的平台,通过该平台,运营者可以创建并管理自己的公众号,并通过开发接口和功能,实现更多的个性化服务。

1.2 公众号类型有订阅号、服务号、企业等不同类型的公众号,不同类型的公众号在功能和权限上有所区别。

1.3 开发准备工作在进行开发前,需要注册成为公众号的开发者,并获取开发者ID和密钥等信息。

二:公众平台接口2.1 服务器配置配置服务器,将接收消息和事件的URL地址与公众号进行绑定。

2.2 接收消息通过开发接口,接收用户发送的文本、图片、语音、视频等消息。

2.3 发送消息开发接口,实现向用户发送文本、图片、语音、视频等消息。

2.4 用户管理通过开发接口,获取用户的基本信息,实现对用户进行管理。

2.5 素材管理开发接口,用于、、删除公众号的图片、语音、视频等素材。

三:高级功能开发3.1 自定义菜单创建自定义菜单,实现公众号的个性化菜单设置。

3.2 模板消息开发接口,用于向用户发送模板消息,实现消息的定制化。

3.3 网页授权通过网页授权,获取用户的基本信息及访问权限,实现网页的个性化展示。

3.4 客服功能开发接口,实现与用户的实时对话功能,提供更好的客户服务。

3.5 数据统计获取公众号的用户、消息、菜单等统计数据,进行数据分析和优化。

四:开发工具推荐4.1 公众号开发文档介绍公众平台开发文档的使用方法和注意事项。

4.2 开发工具推荐一些常用的开发工具,如开发者工具、Postman等。

4.3 开发资源提供一些开发资源的,如常见问题、开发案例等。

4.4 其他参考资料给出一些其他有关公众平台开发的参考资料推荐。

附件:附件1:公众平台开发接口文档附件2:公众平台开发示例代码法律名词及注释:1. 公众号:平台上的一种类型账号,由个人、企业、机构等注册并管理,用于向用户提供信息和服务。

2. 开发者ID:公众平台开放给开发者的唯一标识,用于接口调用和认证。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自定义菜单开发模式详解
一、如何获取凭证(token)
话说微信的接口指南一直做得不咋地,这边鼓励大家都转服务号,这边给的说明文档除了码农真没几个能看明白的,一点也不考虑大量的小白运营者,干脆叫指北算了。

牢骚完毕先说下开发自定义菜单第一步要做的就是获取凭证,即access_token,这步非常重要,微信接下来会开放更多的开发接口,开发者要操作接口都要通过这个access_token,而这个凭证是需要通过接口来生成的,并且是有失效时间的。

生成凭证需要两个第三方的固定ID和秘钥,进入开发模式的页面,已经获取到自定义菜单接口权限的朋友会看到下图:
除了原来接口通讯url和自己设置的token多了两个新字段即Appid和AppSecret,也就是第三方的固定ID和秘钥,有了这个就能通过接口程序获取到临时的凭证。

将这两个id放到代码如下图位置:
这段代码主要是初始化了memcache和curl类,分别是缓存和抓取用的,同时将ID和秘钥也赋值了。

接下来就是通过接口获取token,代码如下图:
这是一个获取接口的函数,函数运行时首先是监测缓存中是否已经有token,如果有则直接从缓存中取,要知道官方限制每天只能获取100次token,所以做个
缓存很有必要。

如果缓存中没有token或者缓存时间过期,那么就使用curl这个类发送Appid 和AppSecret到接口获取token,curl_setopt是定义抓取属性的,curl_exec是运行抓取,想了解相关的可以百度一下。

获取的到是一个json格式数据,使用json_decode转化为数组,然后判断是否获取到,如果没有则输出错误信息,获取成功则将该token保存到缓存中,同时函数返回token退出。

这样我们就很方便的拿到了凭证。

二、自定义菜单创建、查询和删除
拿到access_token以后我们就可以开始进行自定义菜单操作了,首先是创建自定义菜单,官方说明很简单“通过POST一个特定结构体,实现在微信客户端创建自定义菜单。

”然后有一个特定结构体的示例,如下图:
还有一些关于这个特定结构体字段的说明:
参数是否必须说明
button 是按钮数组,按钮个数应为2~3个
sub_button 否子按钮数组,按钮个数应为2~5个
type 是按钮类型,目前有click类型
name 是按钮描述,既按钮名字,不超过16个字节,子菜单不超过40个字节key 类型为click必须按钮KEY值,用于消息接口(event类型)推送,不超过128字节
我估计有不少朋友会看的头晕,一是这个特定结构体传输过去时应该赋值给那个
变量?二是这个结构体如何生成?首先传输过去不需要任何变量参数,其次这就
是一个json格式数据,我们可以用数组来转换生成。

创建菜单的函数非常简单,如下图:
在这里curl抓取页面的方式不是get而是post,所以属性会有所不同,但是主
要是接口地址和发送的特定结构体,这里的特定结构体是外面传递进来的值,变
量名为$menu。

主要来看下我做的简易版的菜单生成器,直接在浏览器里打开make_menu.php
就可以看到如下图(注意修改下代码里的Appid和AppSecret):
本来想做些JS效果的,但是这个菜单结构本来就很简单,就不多事了,上图三个区块分别对应三个底栏的主菜单,每个区块都有主菜单名、关键字和子菜单。

在说上面的菜单前先讲下自定义菜单的规则,无论是主菜单还是子菜单目前都是由最多三个属性组成的,即名称、关键字、类型(目前只有click,进行点击操作时会将关键字发送给微信后台),其中主菜单如果有子菜单的话,属性就两个,即名称、子菜单(点击操作时显示子菜单)。

如上所述我设计的这个简易版生成器忽略了类型选择,如果主菜单有子菜单时主菜单关键字其实是不记录的,子菜单没什么可变化的就两个属性名称和关键字,类型默认为click。

当然未来会有新的菜单类型出来,比如地理位置,在这个基础改动下也非常方便就能使用。

下面详细说下这个菜单的输入框要填写什么。

主菜单名称:底栏显示的名字,建议4-5个中文字或者8-10个英文字符,否则会名称显示会出现省略号;
主菜单关键字:主菜单向后台发送的关键字,如果该菜单有子菜单则关键字失效。

子菜单:子菜单我使用了textarea,每个子菜单格式为“菜单名,关键字”,用换行来区分多个子菜单项。

表单提交后程序将进行处理,如图:
进行三次循环,每次都会读取一个区块的菜单,如果该区块主菜单名称不为空,
则判断是否有子菜单,没有子菜单则直接生成主菜单,否则读取子菜单,同时判断子菜单是否超过5个。

这里使用urlencode是因为中文在数组转json时会被编码为unicode,微信接口无法识别,所以得在json_encode前先来个编码,等转换后再用urldecode转回来,这样传输给接口的就是正常的中文了。

另外特定结构体的数组结构其实是[button]-》[main_menu]-》[sub_menu],所以三个主菜单最后是赋值给button这个数组的一个元素。

当特定结构体生成后分别执行新建make_menu类,删除旧菜单,创建新菜单,即:
$mk_menu=new make_menu();
$mk_menu->del_menu();
$mk_menu->create_new_menu($menu);
查询、删除菜单的代码非常简单大家可以自己看,分别是get_menu()和del_menu()两个函数。

三、接收自定义菜单关键字
自定义菜单生成后最重要的还是要和用户互动,那么如何进行互动呢?首先要理解自定义菜单到底是个什么玩意,其实点击菜单跟向微信公众平台发送一个文字是一样的,也就是用户输入文字公众平台自动回复可以做的事情理论上自定义菜单都可以完成!
但是有一点不同的是,用户输入文字时我们接收的消息类型是文字消息,但是自定义菜单的消息是事件推送,也就是它的类型是event,如果有看过我之前教程的朋友应该知道,可以通过这个类型的两个事件subscribe和unsubscribe来统计关注和取消关注的人数,菜单点击则是第三个类型“CLICK”。

也就是当后台捕捉到“CLICK”这个操作时就表示这是用户点击了自定义菜单,然后可以获取到EventKey(事件关键字),就是在创建菜单时设置的菜单关键字,后面的就不用我再详细说了吧。

以下是一些代码截图,可供参考:
先获取消息类型为事件推送,然后监测到事件类型是自定义菜单点击,然后获取该菜单关键字。

回复文字消息
回复音乐消息
回复图文消息。

相关文档
最新文档