微信小程序文本内容安全检测
微信小程序官方对于那种可以发布内容的小程序,管控得比较严,所以要做类型以发帖、论坛类的小程序都要做内容安全检测
所以想要发布上线就要做内容安全检测
直接看步骤
- 首先要写一个内容检测的云函数
- 前端将数据发送到后端
- 在后端调用内容检测云函数,将需要检查的文本传过去检测
一、内容检测云函数
注意:appid
和 appsecret
需要改成自己项目的,不知道怎么拿 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
}
}
}
参考文档
文本内容安全识别
如果该文章能帮到你的话 麻烦点个赞 谢谢啦~
更多推荐
微信小程序文本内容安全检测
发布评论