使用小程序云开发和百度云 AI 接口做了一个颜值测量小程序

使用小程序云开发功能和百度云 AI 接口做了一个颜值测量小程序。

TL;DR: 上云,大势所趋。但在目前小程序场景下还有点问题。

微信云开发体验真的很好。云函数几行代码实现了一个 server,点几下鼠标就完成了部署。不用操心服务端环境搭建和部署,真的是解放生产力,助力前端成为全干工程师。

现阶段的微信小程序的云开发提供免费基础套餐,可创建2个云端环境,资源量较少,对于做个小项目玩玩来说再合适不过了。

百度云的 ai 接口功能也很强大,我这里使用的是人脸检测接口,注册后免费使用,不限调用次数,限制 qps 12。感觉这个是够良心的了。

小程序码

(logo 做的有点草率 😉。放心,扫码之后你会发现页面更草率 🙃)

小程序码

实现过程

非常简单,有兴趣可以直接看代码 MarxJiao/your-beauty-value

使用 wx.chooseImage 选择图片,使用 wx.cloud.uploadFile 上传图片并获取到图片的 fileID,传给自己写的云函数getImageData

云函数中使用 cloud.getTempFileURL 获取到图片 https 协议的临时路径,把图片路径传给百度云接口,获取到信息后返回给前端。

问题

Serverless 的开发方式可以让前端能够很方便地部署 server 代码,这种便利也有一点麻烦,就是在小程序的使用场景下无法做到自动的前后端同时上线。Server 代码点一下上传就生效了,而前端代码需要小程序提交审核,之后发布才可以。而且小程序包在微信里面的更新也不是实时的。如果云函数的有变更的话需要保证兼容新旧版本的前端代码。

还有一种解决方案是每次上线使用不同的环境,新的前端代码使用新的环境的 server,可以不用考虑兼容问题。但这样带来的问题是云存储和云数据库在不同环境不同步,如果需要用到以前的数据还是不要用这种方式,而且统计数据会很混乱,让你分不清哪些数据是线上的哪些是开发测试的。

参考文档