别着急,静下心来,看完这篇文章,直接就能完成内容安全检测!
准备操作
直接后端代码走起~~~~
我的后端代码是nodejs;大家看着适配,知道逻辑即可。
/ 引入axios请求插件
const axios = require('axios');
let cachedAccessToken = null;
let accessTokenExpiresAt = 0;
async function getStableAccessToken() {
if (cachedAccessToken && (Date.now() < accessTokenExpiresAt)) {
return cachedAccessToken;
}
const MAX_RETRY = 3;
let retryCount = 0;
while (retryCount < MAX_RETRY) {
try {
const APPID = '你的小程序APPID';
const APPSECRET = '你的小程序密钥';
const apiUrl = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${APPID}&secret=${APPSECRET}`;
const response = await axios.get(apiUrl);
const accessToken = response.data.access_token;
cachedAccessToken = accessToken;
accessTokenExpiresAt = Date.now() + (7200 * 1000);
return accessToken;
}
catch (error) {
console.log("获取token失败:", error.message);
retryCount++;
}
}
console.log("获取token已超过3次,获取失败!");
throw false;
}
async function checkContentSafety(content, uid) {
try {
const accessToken = await getStableAccessToken();
const apiUrl = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=' + accessToken;
const requestData = {
content: content,
version: 2,
scene: 3,
openid: uid,
};
const response = await axios.post(apiUrl, requestData, {
headers: {
'Content-Type': 'application/json',
}
});
if (response.data && response.data.result) {
if (response.data.result.label == 100) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
catch (error) {
console.error("校验内容安全失败:", error.message);
throw false;
}
}
module.exports = {
getStableAccessToken,
checkContentSafety
};
后端在接收请求后,调用封装的检测文本代码
const { checkContentSafety } = require('../../util/checkText');
....
....
....
var checkRes = await checkContentSafety(articleInfo.articleText, releaseUserInfo.userId);
if(checkRes){
... 执行文章发布操作
}
else {
... 返回文本检测异常提示
}
好了,完成上述操作你就能实现对接微信文本内容安全检测了
如果你觉得这篇文章对你有帮助,欢迎点赞支持一下~~