?
1.獲取AccessToken 封裝類
~~~php
<?php
namespace app\api\controller;
use app\common\controller\Api;
use think\Db;
class Accesstoken extends Api{
protected $noNeedLogin = ['*'];
protected $noNeedRight = ['*'];
protected $appid;
protected $secret;
protected $accessUrl;
public function __construct()
{
$this->appid=config('wxinfo.appId');
$this->secret=config('wxinfo.secretId');
$this->accessUrl = Config('wxinfo.accessUrl');
}
public function get_access_token()
{
$res=Db::name('access_token')->find();
if($res){
if(time()>$res['create_time']+7000){
$access_token=self::create_access_token();
}else{
$access_token=$res['access_token'];
}
}else{
$access_token=$this->create_access_token();
}
return $access_token;
}
public function create_access_token()
{
$url = sprintf($this->accessUrl,$this->appid,$this->secret);
$result = $this->https_request($url);
$wxResult = json_decode($result,true);
if(empty($wxResult)){
return ['code'=>400,'msg'=>'獲取AccessToken異常'];
}
$access_token=Db::name('access_token')->find();
if($access_token){
$res=Db::name('access_token')->where('id',$access_token['id'])->update(['access_token'=>$wxResult['access_token'],'create_time'=>time()]);
}else{
$res=Db::name('access_token')->insert(['access_token'=>$wxResult['access_token'],'create_time'=>time()]);
}
if($res){
return $wxResult['access_token'];
}else{
return false;
}
}
#curl
protected function https_request($url,$data = null){
if(function_exists('curl_init')){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}else{
return false;
}
}
}
~~~

2.處理審核代碼
~~~php
/*檢測文本發布內容安全*/
$token=new Accesstoken();
$access_token=$token->get_access_token();
$url='https://api.weixin.qq.com/wxa/msg_sec_check?access_token='.$access_token;
$res = $this->https_request($url,json_encode(['content'=>$data['title']],JSON_UNESCAPED_UNICODE));
$resArr = json_decode($res,true);
if (isset($resArr['errcode']) && $resArr['errcode'] == 0){
}else{
return json(['code'=>400,'msg'=>'含有違法違規內容,不可發布']);
}
$res = $this->https_request($url,json_encode(['content'=>$data['content']],JSON_UNESCAPED_UNICODE));
$resArr = json_decode($res,true);
if (isset($resArr['errcode']) && $resArr['errcode'] == 0){
}else{
return json(['code'=>400,'msg'=>'含有違法違規內容,不可發布']);
}
/*檢測圖片發布內容安全*/
if($img){
$newurl='https://api.weixin.qq.com/wxa/media_check_async?access_token='.$access_token;
$list=explode(",",$img);
foreach ($list as $k=>$v){
$res = $this->https_request($newurl,json_encode(['media_url'=>$v,'media_type'=>2],JSON_UNESCAPED_UNICODE));
$resimgArr = json_decode($res,true);
trace('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
trace($v);
trace($resimgArr);
trace('&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&');
if (isset($resimgArr['errcode']) && $resimgArr['errcode'] == 0){
}else{
return json(['code'=>400,'msg'=>'圖片含有違法違規內容,不可發布']);
}
}
}
#curl
protected function https_request($url,$data = null){
if(function_exists('curl_init')){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}else{
return false;
}
}
~~~

3.騰訊內容安全文檔地址
[https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.imgSecCheck.html](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.imgSecCheck.html "https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.imgSecCheck.html")
[security.mediaCheckAsync | 微信開放文檔](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.mediaCheckAsync.html "security.mediaCheckAsync | 微信開放文檔")
[security.msgSecCheck | 微信開放文檔](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.msgSecCheck.html "security.msgSecCheck | 微信開放文檔")
### 目前使用的是 security.mediaCheckAsync 跟?security.msgSecCheck,并且內容還要后臺人工審核 ,security.mediaCheckAsync是異步的,不能及時反饋,所以彈框提示信息是這樣的: 發布內容有圖片,等待騰訊審核成功后可以顯示
?
- 支付寶身份驗證接口踩坑實錄-PHP(基于ThinkPHP5)(第二版更新中)
- 抖音小程序開發之授權登錄+支付寶支付+微信支付(ThinkPHP5-第三版修訂中)
- TP5小知識點錦集(長期更新)
- PHP 二維碼生成+識別
- 高德地圖點聚合點擊事件以及內容渲染
- ThinkPhP5使用phpexcle 導出數據(復制粘貼就可使用)
- Fastadmin微信小程序授權登錄+獲取手機號插件
- PHP -AES-128-CBC位加密解密
- PHP-Rsa分段加密解密(ThinkPHP5)
- PHP大轉盤抽獎代碼片段
- Fastadmin 項目上線關閉調試模式注意事項(記一次require-table.js修改事件)
- ThinkPHP5條件查詢FIND_IN_SET正反使用
- ThinkPhP5整合微信小程序訂閱消息
- think-queue處理延時任務事件
- ThinkPHP5 生成二維碼
- Python3定時監控指定文件內容變換-(增加多行,遍歷每行進行邏輯分析處理)
- Python3開發聲光報警器監控觸發報警
- ThinkPHP5下載文件流到本地
- 百度鷹眼抽軌跡集合稀算法&縮放比例調整顯示靜態圖(ThinkPHP5)
- PHP 導出Excle
- Fastadmin 自定義Tab選項卡(B表的條件查詢A表的數據,在A表里面加B表的參數作為選項卡)
- Fastadmin 修改url組件跳轉為復制功能
- 微信H5分享好友跟朋友圈-基于Easywechat
- Python3抓取監控日志文件關鍵詞跟內容變化修正版
- ThinkPHP5上傳圖片壓縮處理-(解決IOS拍照上傳旋轉90度問題)最近更新2021年12月9日11:35:07
- 二維數組根據‘key’分組為新的三維數組
- ThinkPHP5 成功部署Workerman 運行示例
- Fastadmin框架TOKEN的使用
- ThinkPHP5 -微信小程序訂閱消息開發-插件(插件基于fastadmin開發)
- ThinkPHP5-文本轉義emoji表情
- ThinkPHP5 自定義命令行處理 監聽Redis key失效觸發回調事件,實現延遲任務 實現自動取消訂單,自動完成訂單
- Fastadmin插件Shopro商城里面短信插件修改為騰訊云短信插件步驟
- Fastadmin框架自定義搜索操作流程
- ThinkPHP5 處理 微信小程序內容安全審核
- Fastadmin自定義快捷搜索之模糊搜索關聯他表
- php根據年月獲取指定月份天數及日期數組的方法
- PHP構造函數使用校驗token
- 基于ThinkPHP5&Redis騰訊云短信驗證碼注冊登錄基礎業務邏輯代碼整合
- ThinkPHP 解決跨域問題
- 支付寶沙箱環境測試支付(好久沒做都忘了,寫個博客比較省事)
- ThinkPHP5生成抖音小程序帶參數二維碼
- ThinkPHP5導入Excle-簡單絲滑
- PHP生成帶參數的小程序二維碼
- ThinkPHP5成功調通IOS蘋果支付
- swoole寫聊天室,簡單粗暴
- 微信小程序內容安全鑒別的時候,不成功因為沒有轉碼
- Fastadmin 后臺Excle文件上傳(更新新增功能)
- Lnmp 配置thinkphp5 Nginx基礎設置,包含http+https配置
- 通過經緯度獲取數據庫信息自動計算地址距離遠近
- 二維數組根據某個字段排序
- PHP二維數組去重,最簡單的方法
- TP5微信redis列隊群發模板消息Sendmsg
- PHP檢測是否關注公眾號,親測可用
- 小程序推廣分享帶參數二維碼生成
- 基于ThinkPHP5微信H5授權登錄獲取用戶信息(改進版)
- php過濾微信昵稱中的表情
- Socket.io