1. 程式人生 > 實用技巧 >小程式接入內容內容審查介面(圖片.文字)

小程式接入內容內容審查介面(圖片.文字)

今天不知咋回事使用easywechat的內容安全api,不知咋回事.之前還可以使用的這些天突然報這個錯,也不知道是不是因為升級還是與其他的衝突,

那怎麼辦呢,還是用下原生的介面,在這裡我獲取的token方法還是easywechat的方式

$miniProgram = ZFac::miniProgram($this->config);
$token = $miniProgram->access_token->getToken()['access_token'];

具體的程式碼如下

use EasyWeChat\Factory as ZFac;

public function __construct ( Request $request = null ){
        $this->config = [
            'app_id' => 'wx412****d45a65',
            'secret' => '082dec1*****985b93d286c093e01',
            // 下面為可選項
            // 指定 API 呼叫返回結果的型別:array(default)/collection/object/raw/自定義類名
            'response_type' => 'array',
            'log' => [
                'level' => 'debug',
                'file' => __DIR__.'/log/wechat.log',
            ],
        ];
}
 
  //文字驗證
  $miniProgram = ZFac::miniProgram($this->config);
  $token = $miniProgram->access_token->getToken()['access_token'];
  // $result = $miniProgram->content_security->checkText($data['content']);
  $result = $this->z_msgSecCheck($token,$data['content']);
  if($result['errcode']!='0'){
  return jserror('內容含有非法關鍵詞');die;
  }
  
    		
//圖片驗證
 public function upload_pic(){
        $file = request()->file('file');
        $info = $file->validate(['ext'=>config()['web']['file_ext']])->move('./public/upload/admin/file');
        $getSaveName = str_replace('\\', '/', $info->getSaveName());//win下反斜槓替換成斜槓
        $msg = 'http://'.$_SERVER['SERVER_NAME'].'/public/upload/admin/file/'.$getSaveName;
         if(is_file('./public/upload/admin/file/'.$getSaveName)){
          //驗證圖片
            $miniProgram = ZFac::miniProgram($this->config);
    		$token = $miniProgram->access_token->getToken()['access_token'];
    		$result = $this->z_imgSecCheck($token,'./public/upload/admin/file/'.$getSaveName);
            // $miniProgram = ZFac::miniProgram($this->config);
            // $result = $miniProgram->content_security->checkImage('./public/upload/admin/file/'.$getSaveName);
            if($result['errcode']!='0'){
              return '非法圖片';
            }else{
              return $msg;
            }
        }else{
            return '0';
        }
    }



核心

/*微信文字敏感內容檢測*/
    public function z_msgSecCheck($token,$msg)
    {
        $checkContent = $msg;
        $url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='. $token;
        $data = json_encode(array('content'=>$checkContent),JSON_UNESCAPED_UNICODE);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, FALSE);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_URL,$url); // url
        curl_setopt($ch, CURLOPT_POST, TRUE);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // json資料
        $res = curl_exec($ch); // 返回值
        curl_close($ch);
        $result = json_decode($res,true);
        return $result;
    }
  /*微信圖片敏感內容檢測*/
    public function z_imgSecCheck($token,$path)
    {
        // $path = './public/upload/admin/file/'.$getSaveName;
        $url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=$token";
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_SAFE_UPLOAD, true);
        $data = array('media' => new \CURLFile(realpath($path)));
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_POST, 1 );
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_USERAGENT,"TEST");
        $result = curl_exec($curl);
        $error = curl_error($curl);
        return json_decode($result,true);
    }

高顏值後臺管理系統免費使用 ### 子楓後臺管理系統 ###,可在寶塔面板直接安裝

歡迎關注我的公眾號:子楓的奇妙世界,獲得獨家整理的學習資源和日常乾貨推送。
如果您對我的其他專題內容感興趣,直達我的個人部落格:www.wangmingchang.com