admin管理员组

文章数量:1614997

今天提交小程序的新版本没过审核,原因如下:

好吧,我就去研究了下内容安全 API。

微信官方文档 这部分没有示例代码,我去看了几个其他人的代码,发现实现不难,原理不用搞太清,会用就行


不得不说云开发就是方便,调用都非常简单。

首先需在 config.json 文件(如没有需新建)中配置 security.msgSecCheck API 的权限,这里官方有讲解。


然后云函数 msgCheck 代码如下:

const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
  try {
    const res = await cloud.openapi.security.msgSecCheck({
      content: event.content
    })
    return res;
  } catch (err) {
    return err;
  }
}

所以需要传入云函数的参数是 content ,也就是你要检测的内容。

然后只需在页面的 js 文件中调用这个云函数并传入参数就行了。为了用户体验再加个反馈:

wx.cloud.callFunction({
      name: 'msgCheck',
      data: {
        content: e.detail.value.msgInput 	//传入我得到的文本内容
      }
    }).then(ckres => {
      console.log(ckres)
      //写审核通过之后的操作 if == 0
      if (ckres.result.errCode == 0) {
        message.add({
          data: {
            imageSrc: this.data.imageSrc,
            name: this.data.name,
            text: e.detail.value.msgInput,
            pageId: this.data.pageId,
          }
        })
      } else {
        wx.showModal({
          title: '留言失败',
          content: '检测到敏感词,请注意言论',
          showCancel: false
        })
      }
    })

云函数返回得数据中会有一个 errCode ,如果审核通过这个值是 0,不通过会返回 87014

测试用例

特3456书yuuo莞6543李zxcz蒜7782法fgnv级
完2347全dfji试3726测asad感3847知qwez到

开发者可使用以上两段文本进行测试,若接口 errcode 返回 87014 (内容含有违法违规内容),则对接成功。


最后说说,微信提供的这个接口并不是很严格,比如骂人的话什么的就都能通过,官方说主要是检测 涉政,色情,违法 这几类。

同样,官方还提供了图片、媒体的内容安全 API,使用方法基本一致。

本文标签: 内容文本笔记程序API