davido / pgchecker
一个用于轻松将Copyleaks抄袭检测器集成到Laravel应用程序中的包
Requires
- php: ^8.0.2
- laravel/framework: ^8|^9|^10
- laravel/pint: ^1
README
一个用于轻松将Copyleaks抄袭检测器集成到您的Laravel应用程序中的包
要求
- PHP 7.4或更高版本。
- Laravel 8或更高版本。
安装
您可以使用Composer安装此包。
composer require davido/pgchecker
您也可以将以下行添加到您的composer.json文件中并保存。
...
"davido/pgchecker": "dev-master"
...
然后运行此命令更新Composer。
composer update
您还需要发布配置文件
php artisan vendor:publish --provider="DavidO\PGChecker\PGCheckerServiceProvider" --tag="config"
设置
-
在Copyleaks网站上注册。
-
访问Copyleaks API仪表板以生成您的API密钥。
-
如果您之前已发布配置文件,您必须已经注意到一个新的文件(config/copyleaks.php),您可以编辑配置文件,或者将其添加到您的.env文件中。
COPYLEAKS_EMAIL=您的Copyleaks电子邮件
COPYLEAKS_KEY=您的Copyleaks API密钥
COPYLEAKS_SANDBOX=false
COPYLEAKS_WEBHOOK_BASE=本地测试的ngrok_url
使用方法
您可以使用以下代码扫描文本或文件,并获取JSON格式的响应
PGChecker::scanText("A long text to scan for plagiarism");
PGChecker::scanFile("File binary data", 'pdf');
您也可以提交文本或文件进行扫描,但不立即获取结果。
$canId = PGChecker::submitText("A long text to scan for plagiarism");
$canId = PGChecker::submitFile("File binary data", 'pdf');
这将返回一个唯一的扫描ID,您可以使用以下代码稍后检索结果。
PGChecker::retrieveResult($scanId)
工作原理
在内部,此包使用Copyleaks对用户进行身份验证,然后提交文件或文本进行扫描。扫描结果通过webhook接收,并根据Laravel包中定义的缓存设置将其保存在缓存中。
您可以根据提供的唯一扫描ID立即或稍后检索扫描结果。
本地设置和测试
由于Copyleaks使用webhook返回结果,在本地我们需要ngrok来检索API结果。
在mac上使用:
brew install ngrok
安装ngrok。
然后使用以下命令启动ngrok服务器:
ngrok http 8002
在相同端口上启动本地服务器:
php artisan serve --port=8002
还将从ngrok获得的URL更新为.env文件中的URL
COPYLEAKS_WEBHOOK_BASE=https://example.com
我们仅为此测试目的需要此变量,并且永远不要忘记在预发布或生产环境中删除该变量。