首发:vue开发微信小程序文本内容安全审核php api接口代码完整分享

微信小程序的文本内容安全审核,有用户输入内容的小程序都用的上,本人自己项目开发使用的接入代码分享给大家,直接复制粘贴过去就能用,如果用的上记得点赞支持。

上代码,配合之前发的access_token获取接口使用,把下面代码里面的token刷新接口地址换成你的即可。https://blog.csdn.net/sinat_41743732/article/details/140603905 :

<?php
// 读取和刷新AccessToken的函数
function getAccessToken() {
    $tokenPath = 'access_token.txt';
    if (file_exists($tokenPath)) {
        $data = json_decode(file_get_contents($tokenPath), true);
        if ($data['expires_in'] < time()) {
            // Token过期,刷新Token
            $refreshUrl = "https://dk82.com/token.php";// 获取AccessToken的接口
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $refreshUrl);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            $response = curl_exec($curl);
            curl_close($curl);
            file_put_contents($tokenPath, $response);
            $data = json_decode($response, true);
        }
        return $data['access_token'];
    }
    return null;
}

// 获取请求数据
$data = json_decode(file_get_contents("php://input"), true);

// 检查是否有文本内容被传入
if (!empty($data['text'])) {
    $text = $data['text'];
    $accessToken = getAccessToken(); // 获取最新的AccessToken

    // 调用微信内容安全接口
    $result = checkContentSafety($text, $accessToken);

    // 直接返回结果
    echo $result;
} else {
    // 没有接收到文本
    echo json_encode(array("error" => "No text provided"));
}

function checkContentSafety($text, $accessToken) {
    $url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" . $accessToken;
// 使用JSON_UNESCAPED_UNICODE标志来防止字符被转义
    $data = json_encode(array("content" => $text), JSON_UNESCAPED_UNICODE);

// 记录POST数据到日志文件(适用于生产环境)
//    file_put_contents('log.txt', "POST Data: " . $data . "\n", FILE_APPEND);

    // 初始化cURL会话
    $curl = curl_init();
    // 设置cURL选项
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

    // 执行cURL会话
    $response = curl_exec($curl);
    $error = curl_error($curl);
    // 关闭cURL会话
    curl_close($curl);

    // 错误处理
    if ($error) {
        return json_encode(array("error" => "cURL Error #" . $error));
    } else {
        return $response; // 直接返回原始响应
    }
}
?>

使用方法和微信官方的接口一致,新建一个php文件把上面代码保存,替换token地址,然后post请求安全接口地址即可。

这是vue前端调用代码:

// 提交
		submit() {
			// 检查文本内容安全
			    this.checkTextSafety().then(isSafe => {
			        if (isSafe) {
						// 有id后放开即可
						/*
						// #ifdef MP-WEIXIN 
						if (!this.isEnded) {
							return this.adFun(); // 观看广告
						}
						// #endif
						*/
			            this.submitReq(); // 如果检测通过,继续提交请求
			        } else {
			            uni.showToast({
			                title: '文本内容包含敏感信息,请修改后重试',
			                icon: 'none'
			            });
			        }
			    }).catch(err => {
			        console.error('内容检测错误:', err);
			        uni.showToast({
			            title: '内容检测服务异常',
			            icon: 'none'
			        });
			    });
			},
			
			checkTextSafety() {
			    return new Promise((resolve, reject) => {
			        uni.request({
			            url: api.anquan, // 替换成你的后端API地址
			            method: 'POST',
			            data: {
			                text: this.formData.text + " " + this.formData.text2 + " " + this.formData.text3
			            },
			            success: (res) => {
			                if (res.data && res.data.errcode === 0) {
			                    resolve(true);
			                } else {
			                    resolve(false);
			                }
			            },
			            fail: (err) => {
			                reject(err);
			            }
			        });
			    });
		},

内容安全接口接入全部代码分享完毕,直接拿去就能用的,记得点赞支持哦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值