微信小程序文本内容安全检测

微信小程序文本内容安全检测

微信小程序官方对于那种可以发布内容的小程序,管控得比较严,所以要做类型以发帖、论坛类的小程序都要做内容安全检测

所以想要发布上线就要做内容安全检测

直接看步骤

  1. 首先要写一个内容检测的云函数
  2. 前端将数据发送到后端
  3. 在后端调用内容检测云函数,将需要检查的文本传过去检测

一、内容检测云函数

注意:appidappsecret需要改成自己项目的,不知道怎么拿 appsecret 可以 点击这里

// 云函数入口文件
const cloud = require('wx-server-sdk')
const got = require('got')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

const appid = 'wx188726xxxxxxxxxx' // AppId
const appsecret = '2b8f007972abe6dd1a5502xxxxxxxxxx' // 小程序唯一凭证密钥

// 获取 access_token 值
let tokenUrl = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + appsecret
// 文本内容检测接口
let checkUrl = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='

// 云函数入口函数
exports.main = async (event, context) => {
  let tokenResponse = await got(tokenUrl) // 通过 got 请求 api
  let token = JSON.parse(tokenResponse.body).access_token // JSON.parse 将数据转换成对象获取到具体 access_token 值
  // 文本内容检测接口拼接 access_token 值, JSON.stringIfy 将值转换成 JSON 字符串
  let checkResponse = await got(checkUrl + token, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'accept': 'json',
      'accept-encoding': ''
    },
    body: JSON.stringify({ content: event.text })
  })
  return checkResponse.body
}

二、发布的文本

我这里是模拟一下发送请求

publish() {
  wx.cloud.callFunction({
    name: 'addPost',
    data: { text: '测试文本内容安全检测' }
  }).then(res => {
    // 判断文本是否违规
    if(res.result.code === 1) {
      console.log('文本违规 发布失败!')
    } else {
      console.log('文本安全 发布成功!')
    }
  })
}

三、接受传过来的文本

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
const db = cloud.database()

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    // 调用文本内容检测云函数
    const msgSecCheckRes = await cloud.callFunction({
      name: 'msgSecCheck',
      data: { text: event.text } // 将需要检测的文本传进去,如果有多个值可以拼接上去
    })

    // 文本违规则 retuen 出去
    if(msgSecCheckRes.result.errcode != 0) {
      return {
        code: 1,
        error: '文字內容违规',
        success: false
      }
    }

    // 文本安全 则执行后续操作
    db.collection('Post').add({ data: event.text })
 
    return {
      code: 0,
      success: true
    }
  }
  catch(err) {
    console.error('transaction error')
    return {
      code: 1,
      success: false
    }
  }
}

参考文档

文本内容安全识别


如果该文章能帮到你的话 麻烦点个赞 谢谢啦~

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值