前言
前段时间收到微信云开发团队关于云开发计费方式调整的通知,隐约感觉到自己距离放弃云环境的日子不远了,就在昨天,我发现在自己做的小程序中云函数无法正常调用,我猜想是因为费用额度的问题。于是我开始了寻找云函数的替代方案之路。
为什么要用到云开发
因为在自己的小程序涉及到用户输入内容,此时需要对用户输入的内容做检测,防止出现不合规内容(俗称:敏感词)。不做可以不?答案是:不可以,下面图就是不做的后果😭。在之前的多个方案比较中,我选择了云函数的方式来实现,成功的通过云函数调用security.msgSecCheck来对用户的输入内容是否合规做判断。
云函数代码如下:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const { content } = event;
try {
const res = await cloud.openapi.security.msgSecCheck({
content: event.content
})
return res;
} catch (err) {
return err;
}
}
如何替代
- 方式1:自己在服务端构建敏感词库(⭐️)
- 方式2:接入第三方内容检查词库API(⭐️⭐️)
在纠结了一阵子之后,我觉得在网络上寻找免费且好用的第三方内容检查API更为划算一些,毕竟自己在服务器上构建一套词库并非易事,而且还有可能不全面。在一番百度谷歌之后,我发现了几个内容安全检测平台。
- API Space
中英文敏感词都可以检测,如果检测到之后会使用特殊符号来代替,计费方式有独立流量包和套餐订阅两种。链接:www.apispace.com/eolink/api/…
- 网易网盾
基于海量样本数据,智能策略定制,高效过滤色情、广告、涉政、暴恐等多类垃圾文字及敏感词变种。目前属于免费,但是只能免费7天,之后继续使用需要联系客服开通。链接:dun.163.com/product/cen…
- 百度智能云
基于自然语言理解、深度学习等技术,有效识别违规文本内容,具备拼音、谐音、拆字、形近字、影射等变体识别能力;支持自定义黑白名单,可灵活调整审核策略和松紧度,更贴合业务需求。计费方式同样有预付费和资源包两种。新用户可以免费申请到50000次调用的额度,时间跨度为一年。链接:cloud.baidu.com/product/tex…
最终选择
结合自己的经济成本等因素,综和考虑之后,我选择了百度智能云,如果后期续费,它的单次调用价格也较为实惠。
如何接入
接入方式较为简单,平台上有很详细的说明文档,同时配有接口在线调试功能,不会花费太多时间。我这里大致将步骤总结如下:
- 创建应用
- 获取API Key与Secret Key
- 下载对应开发语言的SDK
- 接口调用
- 获取返回结果
最后
最后服务端重新发布,我也在小程序里移除了云函数的调用逻辑与之前创建的云环境,现在已经通过审核,我的小程序又一次正常啦!都看到这里了,点个赞再走吧?