小程序API分析
最近小程序霸屏,客户们都在咨询小程序的建设和规划。且不说小程序可能形成的影响力和商业价值,单从功能实现角度,我们今天一起来分析一下API,看看在小程序上能实现哪些功能?
从API的目录我们能看到,小程序的技术支持分为了网络、媒体、文件、数据缓存、位置、设备、界面、开放接口8个部分。下面,我们就来一个部分一个部分的看看。
网络这一部分支持手机文件的上传下载,除此之外,值得注意的是支持WebSocket,这意味着可以通过小程序实现手机和服务器双向的通信, 这样小程序内容的变化就可以主动的推送给用户。例如用户的文章得到了评论,用户不用刷新页面,评论就会自动出现在页面上。另外,还可以利用这个技术做一个聊天室,可以是一对一的,就好像qq,或者多对多的,就好像qq群。
通过媒体的支持,我们可以实现3部分功能:
1. 手机从本地相册上传图片,预览图片和处理相关图片信息;
2. 实现录音的录制、上传、播放;
3. 实现播放背景音乐、控制背景音乐。需要特别说明的是音频录制跟微信公众号一样,只能录制60秒,超过60秒会自动停止。不过微信公众号的录音api应该有bug,在苹果系统下,微信录音达到45秒会出现错误,音频播放乱音。不知道小程序是否有这个问题。不过,为了避免掉到坑里,还是考虑使用七牛。 文件 这个我就不截屏了,比较简单,支持手机存储内的文件上传下载用的,可以浏览手机存储目录,文件信息。 数据缓存 数据缓存很好的实现了浏览器本地缓存的功能,这意味了开发者们可以自己管理客户端的缓存了,这帮助为我们的终端用户节省流量。 位置 位置功能可以帮助小程序实现获取用户位置、地图定位的功能。导航?那应该是地图app的事情了。
设备
设备这个有点说头了。总共分为6个部分。首先可以获取手机的系统信息,可包括了手机的型号,像素密度,屏幕大小,以及操作系统、客户端信息,这帮助小程序页面布局、功能细节更好的适配种类繁多的手机。第二个是获取用户手机网络状态:2g、3g、4g、wifi,你可以提醒用户wifi下再观看节省流量哦~ 重力感应和罗盘可以实现涉及运动类和互动游戏类功能,比如微信运动、摇一摇。拨打电话可以嵌入到客服电话或者类似滴滴联系司机的场景里面。最后还有微信扫码接口调用相机实现线下二维码的扫描。界面 这一部分,实现了基本的弹出框效果、导航效果,除此之外,特别要说明的,是微信实现了html5画布的功能,这意味着可以在小程序中实现一些简单的小游戏和卡通场景绘制。不过目前来看只支持2D界面的绘制,暂时还不支持3D。 开放接口
开放接口功能分类也比较多。首先为小程序提供了登录和会话管理的功能,这样登录功能的开发就可以事半功倍了。第二,获取用户的微信账户信息,当然能获得哪些信息,都是在微信允许的范围内,例如openid,昵称、头像。好多朋友都问:能不能获取到用户电话和微信号?怎么可能?!想都不要想。第三是支持微信支付。至于其他支付,就不好说了,自己研究吧,支付宝估计不行,哈哈。原因你懂得。第四,模板消息。这类消息其实早在微信认证服务号里面就有,请注意是认证过的,服务号(不是订阅号)。有好多朋友不明白这种消息是干嘛的。可以主动发送给用户,没有频次限制,厉害吧?!但是内容由模板格式限制,不能发送营销内容,是不是失望了,哈哈。干什么用的呢?想象你的银行微信公众号给你发的消费通知。对,就是模板消息。第五,客服消息,支持微信客户接口,很强大。最后支持分享到微信好友和朋友圈功能,支持获取微信小程序的二维码。