kinare / sigma
用于系统间集成的包
v2.1.0
2021-11-16 10:36 UTC
Requires
- php: ^5.6|^7.0|^8.0
- ext-curl: *
- inertiajs/inertia-laravel: ^0.3.4
- php-curl-class/php-curl-class: ^8.9
- tightenco/ziggy: ^1.0
README
这是一个用于系统集成的 Laravel 包。它使用元数据在三个级别上进行集成:Provider、Wrapper 和字段。
安装
本版本托管在 github 上
要安装 sigma,请转到您的项目 composer.json 文件,并在仓库选项中添加 sigma 仓库。
"repositories": [ { "type": "git", "url": "https://github.com/kinetics254/sigma" } ]
在 composer.json 的 require 列表中添加 sigma
"kinetics254/sigma": "dev-main",
使用 composer require 命令安装 sigma
composer require kinetics254/sigma
这将安装 sigma 包到您的项目中,您就可以开始使用了。Sigma 为 Laravel 5.5 及以上版本启用了包自动发现功能,因此无需手动注册其服务提供者。
对于 Laravel 5.5 及以下版本,在 config/app.php 中注册 SigmaServiceProvider
\KTL\Sigma\Providers\SigmaServiceProvider::class;
在您的 .env 文件中配置 Sigma BC 凭据
SIGMA_URL='http://domain:port/BC150/api/vendor/Sigma/version_no/' SIGMA_USER='username' SIGMA_PASSWORD='passsword' SIGMA_SERVICE='PROVIDER'
发布 Sigma 资产
php artisan vendor:publish --provider=kinetics254\Sigma\Providers\SigmaServiceProvider
迁移以创建 sigma 表
php artisan migrate
用法
要使用 sigma,使用已注册的 facade sigma,它有一个静态方法来执行所有请求,其签名是
Sigma::request('proivider', 'entity', [payload], 'method');
示例
获取请求
$res = Sigma::request('MAGNOLIA', 'refereeEntity', ['$filter' => "ProfileID eq '976I7C'"]);
POST 请求
$data = [ "ProfileID" => "976I7C", "Name" => "Testing Post res", "Address" => "The address", "Email" => "coboek@example.com", "PhoneNo" => "4789252996", "PlaceOfWork" => "Lubdaal Inc.", "designation"=> "4090351720724285", "EntryNo" => 1 ]; $res = Sigma::request('MAGNOLIA', 'refereeEntity', $data, 'post');
PATCH 请求
$data = [ "ProfileID" => "976I7C", "Name" => "Testing patch res", "Address" => "The addressssss", "Email" => "coboek@example.com", "PhoneNo" => "478925sd2996", "PlaceOfWork" => "Lubdaal Indc.", "designation"=> "4090351720724285", "LineNo"=> 1000, ]; $res = Sigma::request('MAGNOLIA', 'refereeEntity', $data, 'patch');
DELETE 请求
$data = [ "ProfileID" => "976I7C", "Name" => "Testing patch res", "Address" => "The addressssss", "Email" => "coboek@example.com", "PhoneNo" => "478925sd2996", "PlaceOfWork" => "Lubdaal Indc.", "designation"=> "4090351720724285", "LineNo"=> 1000, ]; $res = Sigma::request('MAGNOLIA', 'refereeEntity', $data, 'delete');
在 BC 请求中调用 Codeunits
将方法设置为 'CU' 用于 codeunits,并将有效载荷设置为数组,这些将用作代码单元函数的参数。
$res = Sigma::request('MEMBERSHIPMANAGER', 'getProfomaInvoice', ['applicationNo' => "APP000033"], 'CU');
### 同步作业计划 sigma:sync
命令从 BC 重新检索提供者、包装器和字段
$schedule->command('sigma:sync')->hourly();
文档
要查看 sigma API 定义,请访问您项目的 /simga
下一个版本
下一个版本将具有从 sigma UI 测试 sigma 端点的功能