项目背景 为什么要做这个应用?
由于疫情的原因,2020年的毕业季也显得有些不同,很多毕业生没有举行正式的毕业典礼,没有拍毕业照,觉得是人生一大遗憾。为了弥补这个遗憾,我尝试用云开发快速实现了一个云毕业照小程序,来纪念我们的青春岁月。用户可以上传人脸照片,生成学士云毕业照。小程序支持学士服、硕士服、博士服等个性服饰,并且可以通过云开发CMS管理系统随时随地管理小程序的云开发内容数据。
为什么选择云开发?
云开发提供一站式服务,开发者无需管理后端服务架构,即可轻松拥有各种后端能力,大大减少了开发过程中复杂的后端操作,让小程序开发变得更简单。
云开发CMS内容管理系统是云开发提供的扩展程序,在云开发控制台一键安装到您自己的云开发环境中,无需编写代码即可使用,同时提供PC/手机浏览器访问支持,支持文本、富文本、图片、文件、关联类型等多种可视化编辑。
小程序效果预览:
最终的照片如下:
小程序功能总体思路:
资源准备
在开发项目之前,应做好以下准备:
1.新建小程序云开发项目,开启“珊瑚”图片内容安全
首先在微信开发者工具中创建一个新的应用,并勾选小程序·云端开发。
其次,由于小程序需要用户上传图片,所以需要使用图片内容安全审核,需要启用:“珊瑚”图片内容安全(测试阶段选择免费版资源包),地址:
请在订单中授权的小程序里勾选指定小程序,如图:
由于图片审核API对编码后图片内容进行了限制,最大不能超过4M,所以调用审核前需要进行压缩,压缩代码如下:
页面调用 API的代码如下:
2. 登录腾讯云AI,开通人脸融合API
脸部融合简介
腾讯云神图·换脸融合(Face)是腾讯云、优图实验室、天天PTU联合打造的一款AI换脸游戏。通过快速精准定位人脸关键点,将用户上传的照片与特定图像进行人脸层面的融合,使生成的图像同时具备用户和特定图像的外貌特征。支持单脸、多人脸、选人脸融合,满足不同营销活动的需求。
在打开之前我们需要准备好我们的素材图片也就是模板图片,素材图片的用途如下:
登录腾讯AI,进入管理控制台,开启人脸融合接口权限:
激活后请点击创建活动,填写活动名称,活动创建完成后如下图所示:
创建活动是免费的。在程序测试阶段,您可以使用活动中包含的 500 次免费调用。
活动创建完成后,点击活动列表中的“素材管理”,为活动添加素材,并记录素材ID,例如下图中的素材对应“女文科制服”,此信息需要通过CMS管理系统添加到小程序数据库中,素材ID如下:
使用云开发 CMS
云开发CMS简介:
云开发CMS内容管理系统是云开发提供的扩展程序,可以在自己的云开发环境中一键安装到云开发控制台,让开发者和内容运营者可以随时随地管理小程序/Web等多终端产生的内容数据。无需编写代码即可使用,同时也提供了PC/手机浏览器的访问支持,支持文本、富文本、图片、文件、关联类型等多种可视化编辑类型。