ermirshehaj / devpos
此包将使您的业务实现财政化
dev-main
2023-07-01 14:26 UTC
This package is auto-updated.
Last update: 2024-09-17 21:51:27 UTC
README
这是一个帮助您连接Devpos服务(如发票、库存管理、报表)的包,主要目标是实现发票与国家税收规则的财政化。
稍后我们将在这里放置使用此包所需的所有必要文档。
此包包含一个名为 DevPos
的外观,您可以使用它来对系统中的任何模型执行不同的操作。无论如何,我们已经包含了一个完整的项目,其中包含路由、视图、控制器以及运行自定义Laravel项目所需的任何内容。由于视图是基于我的自定义Laravel项目构建的,因此您必须在blade文件上做一些编辑。
请查看以下文档以获取更多信息 https://github.com/ermiri/devpos/wiki
安装
composer require ermirshehaj/devpos
它将安装此包,您就可以开始使用了
use ErmirShehaj\DevPos\Facades\DevPos;
//list all tcr
DevPos::tcr()->list();
配置
它包含一个名为 devpos.php
的配置文件。在那里您可以编辑身份验证参数、缓存设置等
'endPointBase' => 'https://devpos.al',
'tokenEndPoint' => 'https://devpos.al/token',
//devpos login credentials
'tenant' => '0000000001',
'authorization' => 'Basic Zml5j3jsljfs893BhOg==',
'username' => 'admini',
'password' => 'demo@devpos',
'grant_type' => 'password',
身份验证
首先,您必须登录到Devpos系统,系统将返回用于针对其API运行每个请求所需的访问令牌。
use ErmirShehaj\DevPos\Facades\DevPos;
//to authorize using information on `devpos.php` just run:
DevPos::authorize();
//if you need to set manually some parameters:
DevPos::setTenant($tenant) //if you want another tenant than one set on devpos.php config file
->setAuthorization($authorization) //if you want a custom
->setAuthorization($authorization)//if you want a custom
->setUsername($username)//if you want a custom
->setPassword($password)//if you want a custom
->setGrantType($grant)//if you want a custom
->authorize();
方法 authorize()
只运行一个请求,如果一切正常,它将在会话中将访问令牌保存为键 devpos.access_token
模型
所有模型都在 devpos/src/Classes
文件夹中。它们充当模型,但与Laravel模型不同。它们具有标准方法,例如
- list //get models
- create //create model
- update //update model
- destroy //delete model
有关详细信息,请查看维基页面
路由
您可以在 devpos/route/web.php
中查看/编辑路由。
控制器
对于每个模型,我们创建了一个控制器。
缓存
我们倾向于缓存每个GET请求(模型上的列表操作),除了发票。默认情况下,在 devpos.php
配置文件中指定,它将在1800秒后过期。
use ErmirShehaj\DevPos\Facades\DevPos;
//to cache a request
DevPos::tcr()->cache()->list() //same as DevPos::tcr()->setCache(true)->list()
//to prevent caching
DevPos::tcr()->setCache(false)->list()
//to bypass caching data bc as default it will read cache first if it exists.
DevPos::tcr()->byPassCache()->list()
//set prefix. To avoid global pollution of cache, we use prefix, default: devpos.
DevPos::tcr()->setCachePrefix('devpos')->list();
//set cache key. It will be saved on cache as: prefix + '.' + key
DevPos::tcr()->setCacheKey('tcrs')->list();
//to get the full cache key: prefix + '.'+ key
$obj->getCacheKeyWithPrefix();
//set timeout
DevPos::tcr()->setCacheTimeout(500)->list();