云调用实现内容安全【文本、图片】
应用场景:
解决小程序输入内容违规,导致小程序被封风险,或者微信官方检查到小程序未使用安全审核机制,则警告要求使用,否则封禁搜索功能。
核心代码:
云函数端:
const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event) => {
try {
let result = '';
if(event.content){
result = await cloud.openapi.security.msgSecCheck({
content: event.content
});
}else if(event.base64){
result = await cloud.openapi.security.imgSecCheck({
media: {
contentType: 'image/jpeg',
value: Buffer.from(event.base64, 'base64')
}
})
}
return {
result
}
} catch (error) {
return {
error
}
}
}
小程序端:
//文本安全检测
wx.cloud.callFunction({
name: "secCheck",
data: {
content: "花里胡哨",
}
}).then((res) => {
console.log('msgSecCheck =', res)
})
//图片安全检测
wx.chooseImage({
count: "1",
complete: (res) => {
wx.getFileSystemManager().readFile({
filePath: res.tempFilePaths[0],
encoding: "base64",
success: (res) => {
wx.cloud.callFunction({
name: "secCheck",
data: {
base64: res.data,
}
}).then((res) => {
console.log('imgSecCheck =', res)
})
}
});
},
})
说明提示:
由于代码片段不支持云开发,故无法放代码片段,使用过程中有什么问题,欢迎讨论。