小程序内容安全接口2.0接入教程,增加过滤非法字符

某些常见骂人词和伟人名,使用小程序内容识别API任然能通过。例如傻b,周el,导致小程序被封禁。

经调查使用2.0接口可以过滤,不过目前任然灰度阶段,有问题的小伙伴们可以提前接入。


云调用接入方式

云函数

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  let openid = wxContext.OPENID;
  return await cloud.openapi.security.msgSecCheck({
    content: event.text,
    version: 2,
    openid,
    scene: 1
  })
}

这里注意,需要openid两小时内登陆小程序,开发IDE登陆无效,必须在真机登陆。 否则你可能会遇到报错msgSecCheck:fail code is expired rid:xxx

HTTPS 接入

和以前一样,唯一的区别就是加几个参数

1.0调用参数

{ "content":"检测文本" }

2.0 调用参数

{

    "content": "检测文本",

    "version": 2,

    "openid": "xxxxxxxxxxxxxxxxx",

    "scene": 1

}

小程序端调用

async function checkStr(text) {
  try {
    var r = await wx.cloud.callFunction({
      name: 'checkStr',
      data: {
        text
      }
    });
    console.log(r.result.result, r);
    if (r.result.result.suggest === "pass")
      return true;
    return false;
  } catch (error) {
    console.log(error);
    return false;
  }
}