微信小程序之无需服务端支持实现内容安全检查

微信小程序之无需服务端支持实现内容安全检查

微信小程序审核未通过,原因如下:

为避免您的小程序被滥用,请你完善内容审核机制,如调用小程序内容安全API,或使用其他技术、人工审核手段,过滤色情、违法等有害信息,保障发布内容的安全

一个平平无奇的小程序,在一次平平无奇的升级优化过程中,竟然审核未通过,很奇怪的是之前的升级过程中一直没有此问题!不过,出了问题总要解决的,好在未通过原因中给出了解决办法:“可以调用小程序内容安全API,或使用其他技术”。既然小程序提供了现成的API,那就撸TA……


1. 查看开发文档

首先在微信小程序开发文档中搜索关键词:内容安全,可以发现微信还是很人性化的,提供了云调用的调用方式来进行违法违规检查,不需要服务端的支持,这样对前端的同学还是非常友好的。内容安全文档地址

微信小程序之无需服务端支持实现内容安全检查_第1张图片


2. 开通云开发

云调用是云开发提供的基于云函数使用小程序开放接口的能力

开通云开发请参考微信官方文档:云开发。

微信小程序之无需服务端支持实现内容安全检查_第2张图片

开通云开发,默认使用基础版1,如无特殊业务要求,使用此版本即可,是免费的哦~

云开发要求创建环境,留意此处的环境ID,在小程序调用云函数的时候会用到。

微信小程序之无需服务端支持实现内容安全检查_第3张图片


3. 创建云函数及配置权限

3.1 创建云函数目录

在小程序项目目录下新建云函数目录cloudfunctions,并在project.config.json中注册该目录,注册后该目录会显示有云图标,如图所示:

微信小程序之无需服务端支持实现内容安全检查_第4张图片


3.2 创建云函数

在云函数根目录下新建云函数msgSecCheck,云函数新建成功后,会生成固定的目录结构,如图所示:

微信小程序之无需服务端支持实现内容安全检查_第5张图片

微信小程序之无需服务端支持实现内容安全检查_第6张图片

在云函数中调用内容安全检查的API,并对结果进行处理。

微信小程序之无需服务端支持实现内容安全检查_第7张图片


3.3 配置云函数权限

根据官方文档要求:

需在 config.json 中配置 security.msgSecCheck API 的权限

在云函数msgSecCheck目录下新建config.json文件,配置云调用权限,如图所示:

微信小程序之无需服务端支持实现内容安全检查_第8张图片

{
  "permissions": {
    "openapi": [
      "security.msgSecCheck"
    ]
  }
}

3.4 上传并部署云函数

完成后的云函数如果不上传并部署的话,小程序是无法调用的,所以云函数有改动的话,务必及时上传并部署

微信小程序之无需服务端支持实现内容安全检查_第9张图片

微信小程序之无需服务端支持实现内容安全检查_第10张图片


4. 小程序调用云函数

小程序调用云函数,此处的env的值就是上文中说到的环境ID,name的值是新建的云函数的文件名。

wx.cloud.init({
    env: 'test-msod1',
});

let sec = true;
wx.cloud.callFunction({
    name: 'msgSecCheck',
    data: {
        content: "需要检测的文本内容"
    },
    success: function(res) {
        sec = 0 === res.result.errCode;
    },
    fail: function(err) {
        sec = false;
    },
    complete: function() {
        if (!sec) {
            wx.showToast({
                title: '文本含有违法违规内容',
                icon: 'none',
                mask: true,
            });
        }
    }
});

至此,大功告成!

你可能感兴趣的:(微信小程序)