微信小程序云开发--云函数实现文本,图片敏感内容检测,前端弱检测

首先是一个自定义敏感文本前端弱检测

// 手动对敏感词检测 前端页面实现文本弱检测,优点无需请求接口,用户体验比较好。缺点敏感词汇只能自己添加;
function hasSensitiveWords(str){
    const g_reg=/好贱|||||||||||麻痹|滚犊子||台独|藏独/sm;
    if (str == '' || str == 'undefined') return false;
    if (g_reg.test(str)) { // 如果检测有违规,就返回true
      // let str=str.replace(g_reg,'***')
      return true;
    }
  }

module.exports = {
    hasSensitiveWords:hasSensitiveWords
  }

msgSecCheck/index.js 云函数文本内容检测

// 云函数入口文件
const envid="XXXXXXX";//云环境id
const cloud = require('wx-server-sdk')

cloud.init({
  env: envid
})

// 云函数入口函数
exports.main = async (event, context) => {
  // 云调用实现文本内容检测
  try {
    const result = await cloud.openapi.security.msgSecCheck({
      content: event.text
    })
  
    if (result.errCode === 87014) {
      return {
        code: 500,
        msg: '内容含有违法违规内容',
        data: result
      }
    } else {
      return {
        code: 200,
        msg: '内容ok',
        data: result
      }
    }
  } catch (err) {
    // 错误处理
    if (err.errCode === 87014) {
      return {
        code: 500,
        msg: '内容含有违法违规内容',
        data: err
      }
    }
    return {
      code: 502,
      msg: '调用msgSecCheck接口异常',
      data: err
    }
  }
}

imgSecCheck/index.js 云函数 图片内容检测

// 云函数入口文件
const envid="test-lezhi";//云环境id
const cloud = require('wx-server-sdk')

cloud.init({
  env:envid
})

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  try {
    const result = await cloud.openapi.security.imgSecCheck({
      media: {
        contentType: 'image/png',
        value: Buffer.from(event.img)   // 这里必须要将小程序端传过来的进行Buffer转化,否则就会报错,接口异常
      }
      
    })

    if (result && result.errCode.toString() === '87014') {
      return { code: 500, msg: '图片内容含有违法违规内容', data: result }
    } else {
      return { code: 200, msg: '内容ok', data: result }
    }
  } catch (err) {
    // 错误处理
    if (err.errCode.toString() === '87014') {
      return { code: 500, msg: '图片内容含有违法违规内容', data: err }
    }
    return { code: 502, msg: '调用imgSecCheck接口异常', data: err }
  }
}

这几个方法在另一篇文章-微信小程序云开发—vant组件 van-uploader 实现视频文件上传到云存储,发动态功能 里用到,一般来说需要做敏感内容检测都在用户发动态,发评论这样的处境下。

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