微信小程序云开发

309 阅读5分钟

一、 云开发背景****

在我所接触和了解到的web端开发一般将界面展示与交互分配给前端,而数据传递与逻辑处理交给后端处理。前后端通过接口进行数据通信,从而构成完整的web项目。在初步接触小程序时,在我的认知里,它就是一个限制极大的类app页面,而且只能做一下页面交互以及页面展示(最多能在用户同意的情况下获取一些手机信息)。在开发微图集该项目时,由于需要用到微信提供的图片审核接口,而说明文档中提及到需要云函数配合。云函数就是云开发中的一个重要组成部分,它可以跨域使用部分小程序api。而这就是云开发的应用开始。

 

二、 云开发介绍****

云开发类似一个阉割版的后端,开发者可以使用云开发快速开发小程序、小游戏、公众号网页等,并且原生打通微信开放能力。开发者无需搭建服务器,可免鉴权直接使用平台提供的 API 进行业务开发。其中包含数据库,存储,云函数,云调用以及HTTP API。

在上述所举的例子中,我使用过其中的数据库,云存储,以及云函数。可以说云开发就是一个后台,让前端开发可以迅速进行小程序开发并投入使用。

总的来说,小程序提供的云开发服务,给前端带来了极大的便利,可以让前端可以实现一些简单的后端功能,节省前后端沟通的成本,让小程序开发变得更为高效。

 

三、 云开发的应用****

由于微图集需要使用本地图片上传功能,为防止被不法分子利用,以及通过微信团队审核,需要用到图片审核功能。由于没有后台进行图片审核,因此需要调用微信内容安全解决方案中的图片内容安全检测接口。

以下摘自微信小程序文档

图片内容安全基于腾讯海量数据资源和深度学习技术,为开发者提供图片内容的智能审核服务,不仅能帮助用户降低色情、时政违规、暴力恐怖等风险,还能大幅度节省人工审核成本,保护业务健康发展。

·         通过学习和分析图片影像的肤色、姿态和场景等多种维度,可对图片进行色情识别。

·         提供包括敏感人物的面部识别与敏感事件等的场景识别。

·         基于舆情分析,提供更为严格的暴恐模型,智能识别暴力、血腥场景及恐怖主义、极端主义等涉嫌违禁的图片内容。

因此在图片上传后需要经过接口的处理,然后返回结果。而这需要云开发中的云调用进行处理。

       以上便是在调试无数次后的最终代码(说真的,这些个接口文档维护真的有点烂,还需要满世界找才能完全知道哪些是坑。哪些是可行的)。在上线后发现图片大小限制有些大,只能上传1m的,不得已还在云调用中加入了图片压缩,使本地图片上传并编辑的功能得以实现。

       云调用说到底还是在调用微信的接口,没有涉及到数据库的增删改查。在微图集开发途中,还加入了名片的记录。若是将名片缓存在本地,那么用户在使用另一部手机登录小程序时,必然找不回之前的名片记录,而云数据库的使用势必能解决该问题。

       腾讯云数据库的记录方式并非是常见的表结构,而是类似于js里面的对象,使用key-value的存储结构。可以轻松将用户的数据记录下来,甚至,在调用云存储(存储部分固定下来的二维码图片)存储图片后,还能实现收藏功能,将用户收藏的图片地址进行数据库存储,便可记录下用户收藏了什么图片。

       以上即是在纯前端的基础上实现后端的部分功能,云存储,云数据库的使用,大大加快了开发的进度,可以让前端在代码维护方面省下大量时间(代码问题的定位更加迅速)。

       在使用方面上,除了文档不太清晰这个问题在开发这个过程上,一切都是很顺利的,云数据库记录用户数据,云存储记录用户二维码名片,云调用使用微信维护的接口,还有云函数进行线上数据处理。给微图集开发节省了大量时间。

       但在线上运行的是后还是发现了部分问题,例如云开发的计费是由腾讯控制的,在之前我开通的时候,我计算过使用的云资源是可以在免费资源的用量下使用的,在运行过一段时间后,微信降低了免费量(全网的免费用量均降低),使得云开发所调用的资源被限制。后来,我尽量不使用未开通的云服务,毕竟云资源的使用还是需要资金支撑。

 

四、 总结****

云开发可以让前端快速实现某些需求功能而不需要后端的配合,给部分个人用户开发者提供了开发便利。使用户在略懂后端运行机制的情况下,可以快速进行小程序的开发。也算是腾讯给个人小程序开发者提供了快速开发的可能,降低了开发者的开发成本。(但是自它收费后,真的很伤,现在在用laf云开发,有机会在介绍吧)