trms/carousel

一个用于访问Tightrope Media Systems的Carousel软件API的PHP包

v0.0.5 2018-01-30 17:14 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:14:33 UTC


README

CircleCI build badge License Total Downloads Latest Stable Version Code Climate

Carousel API的PHP包

此包旨在作为Tightrope Media Systems的Carousel API的流畅接口。有关TRMS和Carousel软件的更多信息,请访问www.trms.com

Carousel API

此包需要拥有版本7或更高版本的Carousel软件。有关Carousel API的一般信息,可以在您的carousel服务器上的your_carousel_server/carouselapi中找到。

包安装

此包应使用composer安装,并需要PHP 7+

composer install trms/carousel

示例

服务器与请求

服务器实例

模型请求

文件上传请求

公告顺序请求

Carousel模型

模板

公告

公告和模板块

媒体

区域

标签

公告排序

抛出异常

基本用法示例

创建服务器实例

返回多个对象的server方法将返回一个集合,它可以像数组一样处理。

use TRMS\Carousel\Server\API;

$server = new Server();
$server->connect('http://my_carousel_server.com', 'username', 'password');

请求Carousel资源

所有Carousel资源的请求都通过实例化一个带有适当Model类名称的ModelRequest并传递给服务器的get方法来创建。向ModelRequest传递参数数组也很重要,这样您的查询就仅限于您想要获取的项目。

例如,要获取给定区域的公告集

use TRMS\Carousel\Requests\ModelRequest;
use TRMS\Carousel\Models\Bulletin;

$request = new ModelRequest(Bulletin::class, ['ZoneID'=>'5','IsDeleted'=>false]);
$bulletins = $server->get($request);

保存资源

可以通过将它们传递到服务器实例上的save方法来保存新或现有资源。

use TRMS\Carousel\Models\BulletinTag;

$new_tag = new BulletinTag(['TagName'=>'My New Tag']);
$server->save($new_tag);

从模板创建公告

通常,您将创建新公告,而不是从现有模板创建。有关模板的更多信息,请见下文。请注意,所有公告都必须属于一个组,并且在保存新创建的公告之前,必须先创建并关联此组。有关此信息的更多内容,请参阅下文的公告部分。

use TRMS\Carousel\Requests\ModelRequest;
use TRMS\Carousel\Models\Bulletin;
use TRMS\Carousel\Models\Group;
use TRMS\Carousel\Models\Template;


$templates = $server->get(new ModelRequest(Template::class, ['ZoneID'=>'5','IsDeleted'=>false]));
$template = $templates->first(); // the server returns a Laravel Collection.
$bulletin = Bulletin::fromTemplate($templates->first());
// here you would likely modify the bulletin's 'Blocks' to alter content
$group = new Group(['ZoneID'=>'5']);
$server->save($group);
$bulletin->setGroup($group);
$server->save($bulletin);

从文件上传创建内容

您可以通过将文件上传到Carousel服务器来创建新的媒体和公告。这是通过实例化一个带有适当Model类名称和传递参数数组的FileUploadRequest来完成的。需要ZoneID。然后,您可以通过链式调用addFile方法添加您要上传的文件,然后将请求传递到服务器的upload方法。这将返回一个数组,其中包含每个添加的文件的模型。

use TRMS\Carousel\Request\FileUploadRequest;
use TRMS\Carousel\Model\Media;

$request = new FileUploadRequest(Media::class, ['ZoneID'=>'5']);
$request->addFile('/path/to/local/file.jpg')->addFile('http://path/to/remote/file');

$media = $server->upload($request);

实体

服务器与请求

API

TRMS\Carousel\Server\API

这代表了Carousel服务器本身

方法

ModelRequest

TRMS\Carousel\Requests\ModelRequest

模型请求用于从服务器获取模型。

方法

FileUploadRequest

TRMS\Carousel\Requests\FileUploadRequest

文件上传请求用于将图片、视频或音频发布到服务器,以便使用它创建内容,无论是作为媒体资产还是作为公告。

方法

BulletinOrderRequest

TRMS\Carousel\Requests\BulletinOrderRequest

公告顺序请求用于获取特定区域的组/公告顺序。创建请求时需要一个ZoneID作为参数。有关更多信息,请参阅下文的公告排序部分。

方法

模型

Bulletin

TRMS\Carousel\Models\Bulletin

公告是在轮播图中显示的内容。最接近的类比是演示文稿中的幻灯片。

方法

属性

模板

TRMS\Carousel\Models\Template

模板是标准公告的起点,包括一个背景图像和一系列内容块。

方法

属性

BulletinBlock

TRMS\Carousel\Models\BulletinBlock

BulletinBlock是公告或模板内的内容区域。块可以是文本、图片、视频或Web图片。文本块只是包含文本的块。图片和视频块将使用媒体对象。Web图片块将使用图片的URL。每个块都有许多属性,其中一些仅适用于四种BlockType之一。许多属性用于产生效果,如阴影或文字发光。

方法

属性

TRMS\Carousel\Models\Group

组是公告的容器,便于查看、排序和排序。重要的是要注意,每个公告都包含在一个组中,并且在保存之前必须分配一个已保存的组。(此包对编辑组的功能正在开发中。)

方法

属性

媒体

TRMS\Carousel\Models\Media

媒体表示用于公告和模板的音频、视频、图像和背景。此内容针对Carousel UI用户具有区域特定性。上传背景时,必须指定媒体类型,否则系统将假定它是图像。背景也应针对其预期的区域进行缩放,以避免扭曲图像。视频内容应为mp4格式。

方法

属性

区域

TRMS\Carousel\Models\Zone

区域是屏幕上公告显示的区域。屏幕(频道)可以由一个或多个区域组成。

方法

属性

标签

标签是可添加到关联模型的元数据。它们用于在Carousel中搜索和排序内容。

BulletinTag

TRMS\Carousel\Models\BulletinTag

MediaTag

TRMS\Carousel\Models\MediaTag

ZoneTag

TRMS\Carousel\Models\ZoneTag

方法

属性

公告排序

这些对象用于在区域中排序公告。

BulletinOrder

TRMS\Carousel\Models\BulletinOrder

这代表了一个区域中组的位置。每个BulletinOrderEntry代表一个组。OrderEntries数组中元素的顺序将是区域中组的顺序。

属性

BulletinOrderEntry

TRMS\Carousel\Models\BulletinOrderEntry

这代表了一个组和其公告的顺序。Bullets数组中元素的顺序将是组中公告的顺序。

属性

异常

如果服务器出现问题,或者您尝试执行不受支持或不允许的操作,可能会抛出以下异常。

TRMS\Carousel\Exceptions\CarouselAPIException TRMS\Carousel\Exceptions\CarouselModelException TRMS\Carousel\Exceptions\CarouselRequestException