zofe / ticket-module
rapyd-livewire 应用程序的 ticket 模块
Requires
- php: ^8.0|^8.1|^8.2
- asantibanez/livewire-charts: ^2.4
- cmixin/business-time: ^1.11
- illuminate/config: ^9.0|^10.0
- illuminate/contracts: ^9.0|^10.0
- laravel-notification-channels/telegram: ^2.1|^3.0|^4.0
- livewire/livewire: ^2.0
- mews/purifier: ^3.3
- zerodahero/laravel-workflow: ^4.0
- zofe/auth-module: dev-main|^0.0|^0.1
- zofe/layout-module: dev-main|^0.0|^0.1
- zofe/rapyd-livewire: dev-main|^0.8
- zofe/rapyd-module-installer: ^0.0|^0.1
Requires (Dev)
- orchestra/testbench: ^v7.0|^v8.0
- phpunit/phpunit: ^9.3|^10.0.7
- vimeo/psalm: ^4.0|^5.0
README
这是一个用于 Laravel 应用程序(>= 8)的 Ticket 模块
它使用布局模块和认证模块。
安装与配置
您可以在 Laravel 应用程序中使用以下方式引入此模块:
composer require zofe/ticket-module
php artisan migrate
在配置文件夹中创建一个配置文件 "ticket.php" 并进行自定义
'operators_roles'=>['admin'],
'notification_email' => 'notification@email.it',
然后在 auth.php 配置文件中添加角色/权限
默认情况下,"用户"(角色)用户可以创建工单,而 "管理员"(角色)用户可以管理工单。config/auth.php 文件的最小配置如下:
'role_permissions' => [
'admin' => [
'view tickets', 'edit tickets',
],
'user' => [
'view own tickets', 'edit own tickets',
],
]
然后您可以使用以下命令添加一些默认数据:
php artisan db:seed --class="App\\Modules\\Ticket\\Database\\Seeders\\TicketCategories"
布局
请注意,此模块会安装/使用布局模块,您可能需要执行以下操作
cd app/Modules/Layout/
npm i
npm run dev
这将编译 scss 并将 css 资产复制到您的公共项目文件夹
图表
此模块使用 livewire charts,因此您需要发布一些资产
php artisan vendor:publish --tag=livewire-charts:public
如果您自定义了布局,请确保包含此指令
@livewireChartsScripts
模块自定义
要自定义模块代码,我们建议在 GitHub 上创建原始包仓库的分支并进行更改。这样,您可以为您的更改维护一个独立的分支,同时保持与包的最新版本同步。
要在 Laravel 应用程序中安装您的分支版本,您可以在 Laravel 应用程序的 composer.json 文件中引用您的分支仓库,使用 "vcs" 包类型。以下是在您的 composer.json 中可以添加的内容示例:
"repositories": [ { "type": "vcs", "url": "https://github.com/<your-github-username>/<package-name>" } ],
将 <your-github-username>
替换为您在 GitHub 上的用户名,将 <package-name>
替换为您分支仓库的名称。
将您的分支仓库添加到 composer.json 后,您可以像要求原始包一样要求您自定义的包
composer require <your-github-username>/<package-name>:dev-<your-branch-name>
将 <your-github-username>
、<package-name>
和 <your-branch-name>
替换为您分支仓库和分支的相应值。
使用这种方法,您可以在保持代码与包的最新版本同步的同时轻松地自定义模块代码。
我们鼓励开发者为更广泛的社区做出有用的更改,并通过拉取请求将更改贡献回原始包仓库。这可以帮助为每个人改进包,并确保您的更改与包的最新版本集成。