Официальная документация программы WeChat Mini — Обнаружение безопасности контента
Рекомендуется EasyWechat: https://www.easywechat.com/docs/4.x/basic-services/content_security
Загрузите последнюю официальную версию TP6.0.
composer create-project topthink/think=6.0.* tp6
Войдите в корневой каталог платформы и установите пакет расширения версии easywechat 4.x.
Для easywechat 4.x требуется PHP7.2+, для tp6.0 требуется PHP7.2.5+, эта версия наиболее подходит для использования в TP6.0.
cd tp6 && composer require overtrue/wechat:~4.0
Пример использования
$content = 'Кто-то';$bool = \app\logic\WeChat::checkText($content);$bool === false && error('Система обнаружила текстовый контент содержит незаконный контент');halt('текстовый контентзаконный');
ошибка выброса
{ "code": 201, "msg": "Система обнаружила текстовый контентсодержит незаконный контент"}
тестовая форма
<form action="{:url('upload')}" method="post" enctype="multipart/form-data"> <input type="file" name="img"> <button>представлять на рассмотрение</button></form>
Загрузить интерфейс
$name = 'img'; // Доменное имя поля загрузки файла попробуйте { $file = request()->file($name); if (!$file) throw new \Exception('Файл не загружен'); // Обнаружение карты чувствительности // checkImage() Требование к параметру должно быть изображением с абсолютным адресом пути. Вы можете использовать путь временного хранения изображения. $bool = \app\logic\WeChat::checkImage($file->getRealPath()); $bool === false && error('Система обнаружила, что изображение содержит незаконный контент'); // Операция загрузки ...} catch (\Exception $e) { fault($e->getMessage());}
Базовый уровень библиотеки классов
<?phpnamespace app\lib;use EasyWeChat\Factory;/** * Мини программа */class MiniProgram{ private $app; /** * Начальная конфигурация */ public function __construct() { $config = [ 'app_id' => 'wx4837bd88b6xxxxx', 'secret' => 'c8fe4278064b22d722682xxxxx', // Следующие опции являются необязательными // обозначение API Тип результата, возвращаемого вызовом: массив (по умолчанию)/коллекция/объект/необработанное/имя пользовательского класса. 'response_type' => 'array', ]; $this->app = Factory::miniProgram($config); } /** * Обнаружение содержимого текстовой безопасности (обнаружение конфиденциального слова) * * @param string $content текстовый контент */ public function checkText(string $content) { $result = $this->app->content_security->checkText($content); if (isset($result['errcode']) && $result['errcode'] == 87014) { return false;//содержит незаконный контент } else { return true;// содержание Безопасность } } /** * Проверка безопасности содержимого изображения(Обнаружение карты чувствительности) * * @param string $image Абсолютный путь к изображению */ public function checkImage(string $image) { $result = $this->app->content_security->checkImage($image); if (isset($result['errcode']) && $result['errcode'] == 87014) { return false;//содержит незаконный контент } else { return true;// содержание Безопасность } }}
логический уровень
<?phpnamespace app\logic;use app\lib\MiniProgram;class WeChat{ // +------------------------------------------------------------ // | Мини программа // +------------------------------------------------------------ /** * Чувствительное обнаружение слов * * @param string $content * @return boolean true содержание Безопасность */ public static function checkText(string $content) { return app(MiniProgram::class)->checkText($content); } /** * Обнаружение карты чувствительности * * @param string $image */ public static function checkImage(string $image) { return app(MiniProgram::class)->checkImage($image); }}
Пользовательская функция
/** * выдать исключение * * @param string $msg * @param integer $code */function fault(string $msg = "", int $code = <span class="hljs