ermirshehaj/devpos

此包将使您的业务实现财政化

维护者

详细信息

github.com/ermiri/devpos

源代码

问题

安装: 4

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放性问题: 0

语言:JavaScript

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();