saasplayground / support-tickets
为您的 Laravel 应用提供支持票据
Requires
- php: ^7.4|^8.0
- cviebrock/eloquent-sluggable: ^9.0|^10.0
- illuminate/database: >=8.0
- illuminate/events: >=8.0
- illuminate/http: >=8.0
- illuminate/support: >=8.0
- kalnoy/nestedset: ^6.0
- miracuthbert/laravel-eloquent-filters: ^1.3
- spatie/laravel-medialibrary: >=8.0
Requires (Dev)
- laravel/pint: ^1.6
- orchestra/testbench: >=6.0
- phpunit/phpunit: >=9.0
This package is auto-updated.
Last update: 2024-09-04 19:35:23 UTC
README
支持票据包采用 API 优先方法。它提供了一个简单易用的 API,将支持票据添加到您的 Laravel 应用中。支持 Laravel 8 及以上版本。
安装
您可以通过 composer 安装此包
composer require saasplayground/support-tickets
然后发布 config
文件
php artisan vendor:publish --tag=support-tickets-config
最后运行迁移命令
php artisan migrate
使用方法
用户设置和 API
为了启用用户打开票据,请将 InteractsWithTickets
特性添加到您的 User
模型中。
use InteractsWithTickets;
InteractsWithTickets
方法
openTicket
:打开新的支持票据。postMessageOnTicket
:在现有票据上发布新消息。tickets
:获取用户拥有的票据。可以在其上链查询构建器方法。
openTicket
方法:Ticket
返回
Ticket
模型的一个实例。
期望以下参数
data
:包含标题、消息、优先级、来源的数组relations
:(可选) 关系数组;支持添加labels
、categories
postMessageOnTicket
方法:Ticket
返回
Ticket
模型的一个实例。
期望以下参数
ticket
:票据模型message
:要发布的消息user
:(可选) 将附加到消息的id
或model
票据设置和 API
默认情况下,Ticket
模型不需要任何设置,但如果您正在扩展它,请确保在配置文件中的 models
下更新相应的值。
票据模型方法
syncCategories
:处理实体类别的添加和删除。addCategories
:向实体添加类别。detachCategories
:从实体中移除给定的类别。categories
:属于模型的类别。可以在其上链查询构建器方法。syncLabels
:处理实体标签的添加和删除。addLabels
:向实体添加标签。detachLabels
:从实体中移除给定的标签。labels
:属于模型的标签。可以在其上链查询构建器方法。addMessage
:向实体添加消息。detachMessages
:从实体中移除一组消息或所有消息。messages
:属于模型的消息。可以在其上链查询构建器方法。postMessageAsAgent
:以代理身份发布消息。assignAgent
:将代理分配给票据。
syncCategories
:void
期望以下参数
categories
:id 数组、int 或集合(模型实例)
addCategories
:void
期望以下参数
categories
:id 数组、int 或集合(模型实例)
detachCategories
:void
期望以下参数
categories
:id 数组、int 或集合(模型实例)
categories
:Collection
返回
Category
模型的集合或查询构建器实例。
syncLabels
:void
期望以下参数
labels
:id 数组、int 或集合(模型实例)
addLabels
:void
期望以下参数
labels
:id 数组、int 或集合(模型实例)
detachLabels
:void
期望以下参数
labels
:id 数组、int 或集合(模型实例)
labels
:Collection
返回
Label
模型的集合或查询构建器实例。
addMessage
:false
或 Message
如果无法解析用户或无法创建消息,则返回
false
,否则返回消息模型实例
期望以下参数
body
:包含消息的string
user
:(可选) 用户id
、Model
或null
(当为 null 时,默认值为票据的用户 id)
detachMessages
:void
期望以下参数
messages
:(可选) id 数组、模型 id 或集合(模型实例)
未传递值时删除所有消息。
messages: 集合
返回一个
Message
模型的集合或查询构建器实例。
postMessageAsAgent: false
或 Message
如果无法解析用户或无法创建消息,则返回
false
,否则返回消息模型实例
期望以下参数
message
: 包含消息体的string
assignAgent: false
或 Ticket
如果无法解析用户,则返回
false
,否则返回Ticket
模型实例以进行更多操作。
期望以下参数
value
:int
或User
模型实例。
配置
请参阅已发布的 support-tickets
配置文件以获取可用选项。
注意:在修改配置文件时,请确保始终设置 users
、tables
和 models
的值。
大多数默认设置都已设置为与基本 Laravel 应用程序结构相匹配,因此无需大量修改配置文件。
测试
composer test
更新日志
请参阅 更新日志 以获取有关最近更改的更多信息。
贡献
请参阅 贡献指南 以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 miracuthbert@gmail.com 而不是使用问题跟踪器。
鸣谢
许可
GNU GPLv3。请参阅 许可文件 以获取更多信息。