davido / pgchecker

一个用于轻松将Copyleaks抄袭检测器集成到Laravel应用程序中的包

v1.0.3 2023-10-02 00:14 UTC

This package is auto-updated.

Last update: 2024-10-01 00:20:39 UTC


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"

设置

  1. Copyleaks网站上注册。

  2. 访问Copyleaks API仪表板以生成您的API密钥。

  3. 如果您之前已发布配置文件,您必须已经注意到一个新的文件(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

我们仅为此测试目的需要此变量,并且永远不要忘记在预发布或生产环境中删除该变量。