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

编程入门 行业动态 更新时间:2024-10-28 02:21:49

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

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

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

直接看步骤

  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/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + appsecret
// 文本内容检测接口
let checkUrl = 'https://api.weixin.qq/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
    }
  }
}

参考文档

文本内容安全识别


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

更多推荐

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

本文发布于:2023-06-14 01:31:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1423263.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文本   程序   内容   微信小

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!