and48/laravel-wubook

Laravel 8.x 的 WuBook 桥接工具 https://wubook.net

1.0.0 2022-08-11 09:01 UTC

This package is auto-updated.

Last update: 2024-09-25 14:02:08 UTC


README

此版本的 Laravel WuBook 由 Andrii Strilchuk 修改,基于 ilgala/laravel-wubook

安装

 composer require and48/laravel-wubook

配置

Laravel WuBook 需要连接配置。

发布包迁移文件到您的应用程序。

php artisan vendor:publish --provider="AND48\LaravelWubook\WuBookServiceProvider" --tag="migrations"

这将创建一个 wubook_configs 表,您可以在其中修改设置配置(lcode 和 token)。

使用方法

WuBookManager

这是最有兴趣的类。它绑定到 ioc 容器为 'wubook',可以通过 Facades\WuBook 门面访问。为了调用 Wired API,您可以调用这些方法,它们指向服务的特定区域。

  • availability()
  • prices()
  • reservations()
  • restrictions()
  • rooms()
Facades\WuBook

这个门面将动态地将静态方法调用传递给 ioc 容器中的 'wubook' 对象,默认情况下是 WuBookManager 类。

WuBook API 方法结果

fxmlrpc 客户端始终返回一个关联数组,该数组可能由包修改以从 XML/RPC 函数检索结果数据。

如果在调用期间发生错误,将抛出 WuBookException。如果调用成功执行,将返回一个包含以下值的数组

// An error occurred
return [
    'has_error' => true,
    'code' => -100,
    'data' => 'A human readeable error message'
];

// Success
return [
    'has_error' => false,
    'code' => 0,
    'data' => [ /* THE XML/RPC FUNCTION RESPONSE */ ]
];
真实示例

这里可以看到这个包使用是多么简单

use AND48\LaravelWubook\Facades\WuBook;
use AND48\LaravelWubook\Models\WubookConfig;

$credentials = WubookConfig::find(1)->only(['lcode', 'token']);
WuBook::rooms($credentials)->fetch_rooms();
// this example is simple, and there are far more methods available
// The result will be an associative array with this structure

[
    0 => [
        id => 123,
        name => 'room',
        shortname => 'ro',
        occupancy => 2,
        men => 2,
        children => 0,
        subroom => 0,
        // ...
    ],
    1 => [
        // ...
    ],
];

有关如何使用我们背后调用的 \LaravelWubook\WuBookManager 类的更多信息,请参阅 Wired API 文档

安全

如果您在此包中发现安全漏洞,请发送电子邮件至 Andrii Strilchuk 的 cater_pill@yahoo.com。所有安全漏洞都将得到及时处理。

许可

Laravel WuBook 依据 MIT 许可证 (MIT) 许可。

测试

为了运行测试,您必须指定环境变量 LCODETOKEN

对于 Windows

 set LCODE=1111
 set TOKEN=your_token

对于 Linux

 LCODE=1111
 TOKEN=your_token
 composer test
 composer test-f RoomTest

建议在 wubook 上使用空账户运行。