微信小程序中图片上传与内容安全审核的全面指南

小程序内容安全检测:如何避免被封禁?

  之前我们聊过小程序截图的功能,尤其是图片上传和裁剪的部分。这个功能一直运行得不错,但突然有一天,我收到了一个系统消息:小程序存在内容安全风险,缺乏对不法违规内容的过滤机制,需要整改。如果不及时处理,小程序的一些功能可能会被禁用,比如无法被搜索、不能通过二维码打开、不能分享内容等。这对小程序的流量和用户体验影响非常大,所以必须尽快解决。

微信小程序的内容审核规范

  在收到警告后,我仔细研究了微信小平台的运营规范,尤其是关于内容安全的部分。根据规范,小程序必须设置过滤机制,确保上传的文本和图片不包含违法、违规等不当信息。具体来说,微信要求者调用内容安全检测接口,对用户输入的文本和上传的图片进行审核,过滤色情、时政违规、暴恐等敏感内容。

微信小程序的内容安全检测接口

  微信提供了两个主要的内容安全检测接口:文本检测接口图片检测接口。这些接口基于智能程序进行判断,能够有效识别违规内容。图片检测还有一个专门的接口,用于判断单张图片是否违法违规。这些接口可以通过服务调用、云调用或第三方调用的方式实现。本文将重点介绍云调用的方式。

如何使用云函数进行内容安全检测

  要在小程序中使用云服务,首先需要开启微信云服务。创建小程序时,选择开启云服务即可。需要注意的是,微信云服务是收费的,但有1个月的试用期,可以。

创建云函数

  在已开启云服务的小程序项目中,右键点击云目录,选择创建云函数。比如,我们可以创建一个名为imageCheck的云函数,用于处理图片检测。创建后,云目录下会生成一个名为imageCheck的文件夹,里面包含三个文件:config.json(云函数基本配置)、index.js(云函数入口执行文件)和package.json(云函数项目设置及包依赖)。

  在config.json文件中,我们需要配置接口权限,否则无法调用。云函数本质上是一个Node.js服务,所以本地环境中需要先安装Node.js。云函数默认依赖一个微信提供的包wx-server-sdk,用于创建云对象。

编写图片检测代码

  在index.js文件中,我们可以编写图片检测的代码。首先初始化云对象,然后在入口函数中通过参数接收图片信息。图片需要以Buffer格式传递,前端图片数据应为ArrayBuffer格式。通过微信小程序提供的文件读取接口,我们可以将图片临时文件转换为ArrayBuffer格式,然后调用云函数进行检测。

小程序图片上传与压缩

  在小程序中,图片上传功能可以通过wx.chooseMedia接口实现。用户可以从手机相册中选择图片上传,获取到图片的临时目录地址。如果图片尺寸较大或格式不符合要求,我们需要对图片进行压缩。

  通过wx.getImageInfo接口,我们可以获取图片的宽高信息,然后使用canvas对图片进行压缩。压缩后的图片通过wx.canvasToTempFilePath接口生成新的临时文件,接着就可以调用云函数进行安全检测了。

文本检测的实现

  文本检测的流程与图片检测类似。在云函数中,我们需要传入文本内容,通过微信上下文对象获取用户输入的文本,然后调用文本检测接口进行审核。与图片检测相比,文本检测的数据处理和参数传递稍有不同,但整体流程基本一致。

人工审核的必要性

  虽然微信提供了智能审核接口,但并不能完全解决问题。微信官方建议者最好进行人工审核,以弥补智能审核的不足。然而,人工审核需要上传用户的图片和文本,通过后台进行干预,这对很多小程序来说成本较高。如果小程序因为内容安全被封禁,申诉时微信客服可能会要求提供人工审核记录,这对于个人者来说,可能意味着小程序无法继续运营。

总结

  通过微信小程序的内容安全检测接口,我们可以有效过滤违规内容,避免小程序被封禁。云调用是一种便捷的实现方式,尤其适合没有服务器资源的小程序者。然而,智能审核并不能完全替代人工审核,者需要根据实际情况选择合适的审核机制,确保小程序的内容安全。

© 版权声明
THE END
分享