ashr/keonn

该软件包最新版本(dev-main)没有可用的许可证信息。

用于连接Keonn网络服务的Laravel软件包

dev-main 2022-07-14 03:23 UTC

This package is auto-updated.

Last update: 2024-09-14 07:51:28 UTC


README

ASHR KEONN PACKAGE 包含连接KEONN网络服务(AdvanCloud)的功能。

安装

通过composer安装此软件包

composer require ashr/keonn

Packagist: https://packagist.org.cn/packages/ashr/keonn

  • \Ashr\Keonn\ServiceProvider::class 添加到config/app.php
  • 运行以下命令发布配置 php artisan vendor:publish --tag=ashr-keonn

如何使用

  • 确保配置存在于您的.env文件中。要使用此软件包,您需要在.env中填写以下字段
KEONN_APP_MODE=
KEONN_BASE_URL=
KEONN_USERNAME=
KEONN_PASSWORD=
KEONN_STORAGE_DRIVER=sftp or webdav
KEONN_SFTP_HOST=
KEONN_SFTP_USERNAME=
KEONN_SFTP_PASSWORD=
KEONN_SFTP_PORT=
KEONN_WEBDAV_BASEURL=
KEONN_WEBDAV_USERNAME=
KEONN_WEBDAV_PASSWORD=
KEONN_WEBDAV_PORT=

根据您选择的驱动程序填写存储字段,目前可以使用webdav或sftp

数据管理

  • 创建产品
public function createProduct()
{
    $data[] = [
        'itemtype' => 'product',
        'productid' => '806160',
        'name' => 'Lorem Ipsum Dummy Text',
        'price' => 0,
        'images[0]' => '301405.png'
    ];

    try {
        return KeonnApi::createProduct($data);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
  • 更新产品
public function updateProduct()
{
    $data[] = [
        'itemtype' => 'product',
        'productid' => '806160',
        'name' => 'Lorem Ipsum Dummy Text',
        'price' => 100,
        'oldPrice' => 0,
        'images[0]' => '301405232781.png',
        'images[1]' => '301405232782.png',
    ];

    try {
        return KeonnApi::updateProduct($data, false);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
  • 删除产品
public function deleteProduct()
{
    $data[] = [
        'itemtype' => 'product',
        'productid' => '806160',
        'name' => 'Lorem Ipsum Dummy Text'
    ];

    try {
        return KeonnApi::deleteProduct($data, false);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
  • 克隆部分:使用此功能可以在应用程序之间克隆数据,例如从pro复制产品数据到pre。
public function clonePart()
{
    try {
        return KeonnApi::clonePart('pro', 'pre', 'data');
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
  • 删除部分:批量删除应用程序的部分。
public function deletePart()
{
    try {
        return KeonnApi::deletePart('data');
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}

库存

  • 上传库存
public function uploadStock(Request $request)
{
    $data = $request->data;
    $extra = json_encode($request->extra ?? []);

    try {
        return KeonnApi::uploadStock($data, $request->shop, [
            'type' => $request->type,
            'description' => 'Testing From Api Call',
            'extra' => $extra,
        ]);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}
  • 下载库存
public function downloadStock(Request $request)
{
    try {
        return KeonnApi::downloadStock($request->shop, 'json', [
            'mode' => 'sku',
            'type' => $request->type,
        ]);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}

实体

  • 创建或更新商店
public function createOrUpdateShop(Request $request)
{
    try {
        return KeonnApi::createOrUpdateShop($request->data);
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}

示例商店数据

{
 "data":
    {
        "code": "R034",
        "area": "BCN",
        "name": "TOG 1234"
    }
}
  • 获取商店数据
public function getShop()
{
    try {
        return KeonnApi::getShop();
    } catch (Exception $e) {
        dd($e->getMessage());
    }
}

报告

  • 获取报告:这是获取库存报告的示例
public function report(Request $request)
{
    try {
        return KeonnApi::report('stock');
    } catch (\Exception $e) {
        dd($e->getMessage());
    }
}
  • 要获取更多函数,请打开 \Ashr\Keonn\Support\Facades\KeonnApi