dataxlamsterdam/calendar-nova

为 Laravel Nova 提供的日历工具。

dev-main 2021-03-18 14:19 UTC

This package is auto-updated.

Last update: 2024-09-18 22:00:48 UTC


README

这是一个为 Laravel Nova 定制的包,允许您在日历中创建、更新和删除事件。它还支持 Google Calendar 集成。

屏幕截图

Nova Calendar Tool - screen 1 Nova Calendar Tool - screen 2 Nova Calendar Tool - screen 3

要求

安装

通过 composer 安装包

composer require dataxlamsterdam/nova-calendar-tool

发布迁移

php artisan vendor:publish --provider='Dataxl\NovaCalendarTool\ToolServiceProvider' --tag="migrations"

运行迁移

php artisan migrate

发布配置(可选)

php artisan vendor:publish --provider='Dataxl\NovaCalendarTool\ToolServiceProvider' --tag="config"

NovaServiceProvidertools 方法中注册工具

// app/Providers/NovaServiceProvider.php

// ...

public function tools()
{
    return [
        // ...
        new \Dataxl\NovaCalendarTool\NovaCalendarTool,
    ];
}

Google Calendar 集成

这一步是可选的。如果您想将事件同步到 Google Calendar,您需要发布来自 spatie/laravel-google-calendar 包的配置文件

php artisan vendor:publish --provider="Spatie\GoogleCalendar\GoogleCalendarServiceProvider"

这将创建包含以下内容的 config/google-calendar.php 文件

<?php

return [

    /*
     * Path to the json file containing the credentials.
     */
    'service_account_credentials_json' => storage_path('app/google-calendar/service-account-credentials.json'),

    /*
     *  The id of the Google Calendar that will be used by default.
     */
    'calendar_id' => env('GOOGLE_CALENDAR_ID'),
];

因此,接下来,您需要在 .env 文件中插入 GOOGLE_CALENDAR_ID=your_id(位于 Google Calendar 设置页面),并将账户凭据添加到 storage/app/google-calendar/service-account-credentials.json 文件中(您可以从 Google API Console 获取它)。这两件事情都在这里进行了说明 这里

Artisan 命令

将所有事件导出到 Google Calendar

php artisan nova-calendar:export

从 Google Calendar 导入所有事件

php artisan nova-calendar:import

致谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅 LICENSE.md 文件。