Files
kiri-wchat/wchat/wx/SecCheck.php
T
as2252258@163.com 291e882069 add clear
2020-03-05 12:41:49 +08:00

87 lines
2.0 KiB
PHP

<?php
namespace wchat\wx;
use wchat\common\Result;
/**
* Class SecCheck
* @package wchat
*/
class SecCheck extends SmallProgram
{
private $_url = 'https://api.weixin.qq.com/wxa/img_sec_check?access_token=';
private $_msgUrl = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token=';
private $_mediaCheckAsync = 'https://api.weixin.qq.com/wxa/media_check_async?access_token=';
const MEDIA_VIDEO = 1;
const MEDIA_IMAGE = 1;
/**
* @param string $path
* @return array|Result|mixed
*/
public function image($path = '')
{
if (!file_exists($path)) {
return $this->sendError('文件不存在', 404);
}
$this->request->setUseSwoole(false);
$this->request->setHeader(['Content-Type' => 'multipart/form-data']);
return $this->request->post($this->_url . $this->config->getAccessToken(), ['media' => new \CURLFile($path)]);
}
/**
* @param string $url
* @param int $type
* @return mixed
* @throws
*/
public function mediaAsync(string $url, $type = SecCheck::MEDIA_IMAGE)
{
if (!in_array($type, [self::MEDIA_IMAGE, self::MEDIA_VIDEO])) {
throw new \Exception('暂不支持的文件类型');
}
$this->request->setHeader(['Content-Type' => 'application/json']);
$response = $this->request->post($this->_mediaCheckAsync . $this->config->getAccessToken(), [
'media_url' => $url,
'media_type' => $type
]);
if (!$response->isResultsOK()) {
throw new \Exception($response->getMessage());
}
return $response->getData('trace_id');
}
/**
* @param $params
* @return ContentAsyncCheck|null
*/
public function readByEvent($params)
{
return ContentAsyncCheck::instance($params);
}
/**
* @param $content
* @return array|Result|mixed
*/
public function text($content)
{
if (empty($content)) {
return $this->sendError('文件不存在', 404);
}
$this->request->setHeader(['Content-Type' => 'application/json']);
return $this->request->post($this->_msgUrl . $this->config->getAccessToken(), ['content' => $content]);
}
}