项目功能介绍人工智能虚拟机器人“微软小冰”大家玩过吧,很酷的一个应用。发送文字、语音和图片都能得到智能的回复。
那现在我们就用小程序做一个模拟的应用,智能聊天机器人。发送文字它可以回复一段话,或一张图片,是不是有点小酷!
下面是小程序开发的一个智能聊天机器人的应用界面:
当然,这种智能回复的算法和数据库我们自己肯定是没有的,所以我们借助于图灵机器人的开放API接口来完成我们的功能。
图灵机器人接口:http://apistore.baidu.com/apiworks/servicedetail/736.html,在百度APIstore注册获取appkey就可以免费使用了。
智能聊天机器人的开发步骤1、整体框架很简单,两个页面。两个tab,并修改window标题栏和tabBar的颜色等属性就好。这个全部在app.json中完成。
2、image组件的使用image组件介绍:https://mp.weixin.qq.com/debug/wxadoc/dev/component/image.html?t=20161122image组件的使用与web开发的image标签的用法类似。这里主要关注image的mode属性,它指定图片的缩放以及裁剪模式,共提供了3种缩放、9种裁剪模式。
3、form表单的使用表单,将组件内的用户输入的switch/input/checkbox/slider/radio/picker/提交。
属性名类型说明report-submitBoolean是否返回formId用于发送模板消息bindsubmitEventHandle携带form中的数据触发submit事件,event.detail={value:{‘name’:‘value’},formId:”}bindresetEventHandle表单重置时会触发reset事件当点击表单中formType为submit的button/组件时,会将表单组件中的value值进行提交,需要在表单组件中加上name来作为key。
表单提交的要点:
在form内的表单组件必须有name属性。在form内的button的formType属性为submit。form的属性bindsubmit即为数据提交事件绑定的响应函数。4、wx.request接口的使用wx.request发起的是HTTPS请求。一个微信小程序,同时只能有5个网络请求连接。在开发调试模式开发工具没有做安全检查,因此是可以请求http的。
wx.request({url:'test.php',//仅为示例,并非真实的接口地址data:{x:'',y:''},header:{'content-type':'application/json'},method:'GET',success:function(res){console.log(res.data)}})了解http的对这个接口参数应该不陌生,首先url为接口地址,data为请求的参数,header为请求的头,header中不能设置header中不能设置Referer。method为请求的方法,包括:OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,CONNECT
5、scroll-view组件的使用scroll-view为可滚动视图容器。这个主要用于聊天界面在有新的消息时需要自动滚动到最新聊天的位置。它的属性还是比较多的,参看文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/scroll-view.html?t=20161122
属性名类型默认值说明scroll-xBooleanfalsescroll-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});b、textarea的value属性绑定逻辑层的data数据段
在逻辑层调用setData({text:”“}),textarea中数据并不会被清空。这个问题还没找出解决方案,等研究出方法再更新。
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










