logotel / logobot-php-integration
与 LogoBot 集成的包
1.11.0
2024-09-17 10:11 UTC
Requires
- php: ^5.6||^7.4||^8.0
- firebase/php-jwt: ^6.10 || ^5.5.1
- guzzlehttp/guzzle: ^7.0 || ^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.50
- mockery/mockery: ^1.6
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.0||^6.0||^7.0
README
Logobot PHP集成
本包旨在提供与Logobot的集成
安装
通过composer安装
composer require logotel/logobot-php-integration
生成JWT
使用以下方式生成JWT
use Logotel\Logobot\Manager; $jwt = Manager::jwt() ->setKey(file_get_contents('/path/to/private_key.pem')) ->setLicense($license) ->setEmail($email) ->setIdentifier($identifier) ->setPermissions($permissions) ->setIsSuperUser($is_super_user) ->setExpiration($expiration) ->generate();
密钥可以通过文件路径获取
use Logotel\Logobot\Manager; $jwt = Manager::jwt() ->setKeyFromFile('/path/to/private_key.pem') ->setLicense($license) ->setEmail($email) ->setIdentifier($identifier) ->setPermissions($permissions) ->setIsSuperUser($is_super_user) ->setExpiration($expiration) ->generate();
超级用户
该属性(bool)可以设置用户是否具有高权限。权限将由服务器应用程序管理。
令牌过期
令牌默认有效期为24小时。您可以使用 ->setExpiration(int $expiration)
进行编辑。过期时间以秒为单位(默认 60 * 60 * 24)
用户负载
上传文本(带链接)
use Logotel\Logobot\Manager; Manager::textUpload() ->setApiKey($api_key) ->setIdentifier($identifier) ->setTitle($title) ->setContent($content) ->setLink($link) ->setPermissions($permissions) ->setLanguage($language) ->setMetadata($metadata) ->setDocumentDate($document_date) ->upload();
如果您想更改端点基本URL,可以通过以下方式更改
Manager::textUpload()->setApiUrl("https://something.test");
您还可以设置自定义HTTP客户端
Manager::textUpload()->setClient(new \GuzzleHttp\Client(...));
批量导入器
批量导入器功能将负责一次性处理多个文件。上传的文件必须是一个zip文件,包含
- n 个pdf或txt格式的文件
- 一个名为
details.json
的json文件,具有以下结构,每个文件一个条目
[ { "name": "name_of_the_file.pdf", "permissions": [ "a", "list", "of", "permissions", ], "language": "selected_language", "metadata": { "some": "value", "another": "value", }, "document_date": "2024-05-29" }, { ... }, ... ]
数组中的条目数量必须为 zip中的总文件数 - 1
(json文件)
用法
use Logotel\Logobot\Manager; Manager::bulkImporter() ->setApiKey($api_key) ->setFilePath($file_path) ->upload();
如果您想更改端点基本URL,可以通过以下方式更改
Manager::textUpload()->setApiUrl("https://something.test");
您还可以设置自定义HTTP客户端
Manager::textUpload()->setClient(new \GuzzleHttp\Client(...));
删除文档
use Logotel\Logobot\Manager; Manager::deleteDocument() ->setApiKey($api_key) ->setIdentifier($identifier) ->delete();
如果您想更改端点基本URL,可以通过以下方式更改
Manager::deleteDocument()->setApiUrl("https://something.test");
您还可以设置自定义HTTP客户端
Manager::deleteDocument()->setClient(new \GuzzleHttp\Client(...));
搜索引擎
根据搜索查询搜索最相关的文档。
$jwt
是使用 生成JWT 生成的jwt令牌
$query
是搜索查询
$limit
是 最大 可检索文档的数量
use Logotel\Logobot\Manager; Manager::searchEngine() ->setApiKey($api_key) ->setJwt($jwt) ->setQuery($query) ->setLimit($limit) ->search();
输出将是
[ { "uuid": "fdb07973-4955-40db-a8d1-d5b8547b4c9b", "name": "my document", "icon": "file-pdf", "distance": 0.253548767, "created_at": "10/10/2024 10:10:10" }, ... ]
icon
可能的值是
- file-pdf
- file-word
- file-powerpoint
- file-excel
- file-alt
- file
如果您想更改端点基本URL,可以通过以下方式更改
Manager::deleteDocument()->setApiUrl("https://something.test");
您还可以设置自定义HTTP客户端
Manager::deleteDocument()->setClient(new \GuzzleHttp\Client(...));
贡献
- 分支它!
- 创建您的功能分支:
git checkout -b my-new-feature
- 提交您的更改:
git commit -am 'Add some feature'
- 推送到分支:
git push origin my-new-feature
- 提交拉取请求 :D
历史记录
版本 1.00 (2024-02-27) - 第一次提交
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何与安全相关的问题,请通过电子邮件 giagara@yahoo.it 而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件。