之前我们已经实现了 AI 零代码应用生成平台的核心功能,用户可以通过简单的对话生成各种类型的前端应用。
本节我们将继续为平台扩展更多功能:
通过本节的学习,你将掌握网页截图、文件下载、AI 智能路由等技术。
如果每个应用都有一个精美的预览图,会让整个平台看起来更加专业和吸引人。
参考其他的大厂平台,可以直接将网站的实际运行效果作为应用封面图,做到所见即所得;而且应该要自动生成,总不能让管理员手动截图吧?

实现应用封面图生成功能,我们需要考虑几个关键步骤:
1)首先要获取到应用的可访问 URL。由于我们的平台支持多种生成模式(原生 HTML、多文件项目、Vue 工程),其中原生模式和 Vue 工程模式生成可访问浏览 URL 的时机不一样。所以为了统一处理,而且确保应用已经可以正常访问,我们选择在 应用部署完成后再生成封面图。
2)使用 Selenium 这样的自动化工具打开一个无头浏览器,访问应用页面并进行截图。
3)直接截图得到的图片通常比较大,不仅占用存储空间,加载速度也会比较慢。因此我们需要对图片进行压缩处理。
虽然我们可以通过调整 Selenium 的窗口大小来控制截图尺寸,但这样可能会导致页面显示不全。更好的方案是先按正常尺寸截图,然后使用工具库对图片进行压缩。
4)为了确保图片的持久化存储和快速访问,将压缩后的图片上传到腾讯云 COS 对象存储中,并将访问 URL 保存到数据库的应用表中。