微信小程序聊天功能怎么开发和使用
估计有不少人都使用过微信的聊天功能,其实这项功能是通过开发微信小程序达到的,微信小程序聊天功能要怎么开发?一起来看看具体步骤吧。
1、整体框架
很简单,两个页面。两个tab,并修改window标题栏和tabBar的颜色等属*就好。这个全部在app.json中完成。
2、image组件的使用
image组件介绍:mp.weixin.qq/debug/wxadoc/dev/component/image.html?t=20161122
image组件的使用与web开发的image标签的用法类似。这里主要关注image的mode属*,它指定图片的缩放以及裁剪模式,共提供了3种缩放、9种裁剪模式。
3、form表单的使用
表单,将组件内的用户输入的 提交。
属*名类型说明
report-submitBoolean是否返回formId用于发送模板消息
bindsubmitEventHandle携带form中的数据触发submit事件,event.detail = {value : {‘name’: ‘value’} , formId: ”}
bindresetEventHandle表单重置时会触发reset事件
当点击 表单中 formType 为 submit 的组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。
表单提交的要点:
在form内的表单组件必须有name属*。
在form内的button的 formType 属*为 submit 。
form的属*bindsubmit即为数据提交事件绑定的响应函数。
4、wx.request接口的使用
wx.request发起的是 HTTPS 请求。一个微信小程序,同时只能有5个网络请求连接。
在开发调试模式开发工具没有做安全检查,因此是可以请求的。
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
method: 'GET',
success: function(res) {
console.log(res.data)
}
})12345678910111213141234567891011121314
了解的对这个开发接口参数应该不陌生,首先url为接口地址,data为请求的参数,header为请求的头,header中不能设置header 中不能设置 Referer。method为请求的方法,包括:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
5、scroll-view组件的使用
scroll-view为可滚动视图容器。这个主要用于聊天界面在有新的消息时需要自动滚动到最新聊天的位置。它的属*还是比较多的,参看文档:mp.weixin.qq/debug/wxadoc/dev/component/scroll-view.html?t=20161122
属*名类型默认值说明
scroll-x Booleanfalse
scroll-yBooleanfalse允许纵向滚动
upper-thresholdNumber50距顶部/左边多远时(单位px),触发 scrolltoupper 事件
lower-thresholdNumber50距底部/右边多远时(单位px),触发 scrolltolower 事件
scroll-topNumber 设置竖向滚动条位置
scroll-leftNumber 设置横向滚动条位置
scroll-into-viewString 值应为某子元素id,则滚动到该元素,元素顶部对齐滚动区域顶部
bindscrolltoupperEventHandle 滚动到顶部/左边,会触发 scrolltoupper 事件
bindscrolltolowerEventHandle 滚动到底部/右边,会触发 scrolltolower 事件
bindscrollEventHandle 滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}
这里我们主要用到scroll-y(允许纵向滚动)和scroll-top(设置竖向滚动条位置)属*,以完成聊天内容的自动下翻。
6、两个坑
a、更新数据同时更新scrollTop,无法达到效果
需要先更新数据,然后更新scrollTop
要这样写才可以更新聊天页面内容并将滚动条置于正确的位置
this.setData({content:newContent});
this.setData({scrollTop:newScrollTop});
而不能写为下面这样
this.setData({
content:newContent,
scrollTop:newScrollTop
});1234567812345678
b、textarea的value属*绑定逻辑层的data数据段
在逻辑层调用setData({text:”“}),textarea中数据并不会被清空。这个问题还没找出解决方案,等研究出方法再更新。
以上就是微信小程序聊天功能开发的全过程了,包括开发需要的小程序代码也都在这里了,对照这个过程你也可以进行微信聊天功能的小程序开发哦。更多相关资料请关注微信小程序素材网。
微信小程序分享功能在哪?微信小程序怎么分享?
订阅号小程序有什么用?订阅号小程序有什么功能?
微信小程序有什么功能?微信小程序功能介绍
上一篇:微信连wifi如何投放卡券?
下一篇: 怎么使用微信红包卡券,红包卡券在哪里呢?