1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/eddy-lightCMS

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

Список полей ($listField) конфигурации

С помощью настройки списка полей можно легко отобразить элементы списка в модели на странице списка. Вот пример конфигурации:

    public static $listField = [
        // pid — это имя поля списка (не обязательно должно совпадать с именем поля базы данных модели, достаточно того, чтобы данные интерфейса списка содержали это поле):
        'pid' => ['title' => 'ID родителя', 'width' => 80],
        'entityName' => ['title' => 'Модель', 'width' => 100],
        'userName' => ['title' => 'Имя пользователя', 'width' => 100],
        'content' => ['title' => 'Содержание', 'width' => 400],
        'reply_count' => ['title' => 'Количество ответов', 'width' => 80, 'sort' => true],
        'like' => ['title' => 'Нравится', 'width' => 80, 'sort' => true],
        'dislike' => ['title' => 'Не нравится', 'width' => 80, 'sort' => true]
    ];

Список операций ($actionField) конфигурации

Используя настройку списка операций, можно легко добавить пользовательские ссылки в операционную колонку на странице списка модели. Вот пример конфигурации:

    public static $actionField = [
        // chapterUrl — это имя поля (необязательно должно совпадать с полем базы данных модели, достаточно того, что данные интерфейса списка содержат это поле)
        'chapterUrl' => ['title' => 'Глава', 'description' => 'Все главы текущего романа']
    ];

Сортировка полей ($sortFields) конфигурации

Настраивая поля сортировки, вы можете легко настроить правила сортировки данных на странице списка моделей. Вот пример конфигурации:

    public static $sortFields = [
        // Массив ключей представляет собой имена полей сортировки и конфигурацию по возрастанию/убыванию, разделённые запятыми, а значения представляют собой названия, отображаемые на переднем плане
        'updated_at,desc' => 'Время обновления (по убыванию)',
        'id,asc' => 'id (по возрастанию)'
    ];

Кнопки ($btnField) конфигурации

Настройка кнопок позволяет легко добавлять кнопки действий на страницу списка моделей. Вот пример конфигурации:

    public static $btnField = [
        [
            'title' => 'Google',
            'description' => 'Поисковая система',
            'url' => 'https://www.google.com',
            'target' => '_blank',
            'class' => ''
        ]
    ];

Совет: если вы создаёте собственную модель, рекомендуется создать модель, унаследованную от App\Model\Admin\Model, чтобы упростить настройку этих параметров.

Настроив определённые события, можно легко настроить различные эффекты отображения.

Системный журнал

LightCMS включает в себя простую систему журналов, которая по умолчанию регистрирует все операции, связанные с бэкэндом. Вы можете обратиться к промежуточному программному обеспечению Log для реализации.

Вы можете использовать функцию планирования Laravel для автоматической очистки системных журналов. Чтобы включить планирование задач, добавьте следующее содержимое в системный планировщик:

* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1

Вы также можете настроить log_async_write, чтобы определить, следует ли включать асинхронную запись журнала (по умолчанию отключена). Для асинхронной записи журнала необходимо запустить обработчик очереди Laravel:

php artisan queue:work

Генерация кода одним нажатием

Для обычной модели административный интерфейс обычно требует функций добавления, удаления, изменения и запроса, связанных с бизнесом. LightCMS имеет возможность генерировать соответствующий код одним щелчком мыши. После создания структуры таблицы базы данных для модели вы можете использовать следующую команду artisan для генерации соответствующего кода:

# config — это название модели, а конфигурация — китайское название модели
php artisan light:basic config конфигурация

После успешного выполнения будут созданы следующие файлы (обратите внимание, что соответствующие каталоги должны иметь права на запись):

  • routes/auto/config.php: маршруты, включая связанные с моделью функции добавления, удаления, изменения и поиска, приложение автоматически загружает маршруты в каталоге routes/auto/;
  • app/Model/Admin/Config.php: свойства [$searchField](#searchfield конфигурация) используются для настройки полей поиска, а [$listField](#listfield конфигурация) используется для настройки полей данных, которые необходимо отображать в списке;
  • app/Repository/Admin/ConfigRepository.php: класс обслуживания модели по умолчанию имеет метод list, который возвращает данные списка. Следует отметить, что если данные в списке не могут быть напрямую сопоставлены с данными поля базы данных, вы можете преобразовать данные поля базы данных соответствующим образом в методе transform метода list;
  • app/Http/Controllers/Admin/ConfigController.php: контроллер по умолчанию имеет атрибут $formNames, используемый для настройки белого списка полей запроса формы добавления/редактирования. Этот атрибут должен быть настроен, иначе данные формы не будут получены;
  • app/Http/Requests/Admin/ConfigRequest.php: класс запроса формы, вы можете написать правила проверки формы в этом классе, обратитесь к Form Request Validation;
  • resources/views/admin/config/index.blade.php: представление списка, включая представление данных списка и форму поиска;
  • resources/views/admin/config/edit.blade.ph: представление добавления/редактирования, только базовая структура предоставляется здесь, и вам необходимо настроить соответствующее поле формы самостоятельно, обратитесь к layui form.

Наконец, если вы хотите, чтобы сгенерированный маршрут отображался в меню, просто нажмите «обновить меню автоматически» на странице меню управления.

Обнаружение чувствительных слов

Если вам нужно проверить содержание (статьи, комментарии и т. д.) на предмет чувствительного содержания, вы можете напрямую вызвать функцию checkSensitiveWords в LightCMS. Пример следующий:

$result = checkSensitiveWords('Продажа настоящего оружия');
print_r($result);
/*
[
    "Оружие",
    "Настоящее оружие"
]
*/

Загрузка изображений

По умолчанию изображения в LightCMS загружаются на локальный сервер. Если у вас есть особые требования, такие как загрузка на сторонний облачный сервер, вы можете обратиться к разделу конфигурации image_upload в файле конфигурации config/light.php. Пользовательский класс обработки должен реализовывать интерфейс App\Contracts\ImageUpload, а возвращаемое значение метода должно соответствовать структуре данных системного метода.

{
    "code": 200,
    "state": "SUCCESS",
    "msg": "",
    "url": "xxx"
}
``` **Эта структура данных в основном содержит всю структурированную информацию о классификации.** Значение соответствующих полей также довольно ясно, здесь мы объясним только поле «path»: это поле указывает на все родительские категории текущей категории, что позволяет легко узнать все категории-предки для конкретной категории. Например, в графе значение поля «path» для категории «test» равно [1, 2], поэтому легко понять, что его родительские категории  «игры» и «стрелялки».

***
**Исключение: App\Exceptions\InvalidAppDataException**

Сценарий использования: при возникновении этого исключения в приложении, фреймворк автоматически переходит на страницу с предупреждением, которое содержит пользовательское сообщение об исключении. Обычно используется для отображения ошибок во время работы приложения.

***
В классе **App\Repository\Admin\CategoryRepository** есть методы, связанные с операциями над категориями:

/**

  • Получить все категории на указанном уровне, уровень корневой категории равен 0
  • @param int $level
  • @param null $tree
  • @return Collection */ public static function levelCategories(int $level = 0, $tree = null): Collection

/**

  • Получить все конечные узлы категорий для указанной категории, если $categoryId равен 0, то получить все конечные узлы
  • @param int $categoryId
  • @param null $tree
  • @return Collection */ public static function leafCategories(int $categoryId = 0, $tree = null): Collection

/**

  • Получить всех предков для указанной категории, вернуть пустой массив, если у категории нет родительских категорий
  • @param int $categoryId
  • @param null $tree
  • @return array */ public static function parentCategories(int $categoryId, $tree = null): array

## Фронтенд
### Регистрация и вход пользователя
LightCMS интегрирует простую систему регистрации и входа пользователей, поддерживающую трёхсторонний вход через WeChat, QQ и Weibo. Конфигурацию для трёхстороннего входа можно найти в файле config/light.php.

## Примечание
Если у вас есть вопросы, вы можете создать issue. Если вы хотите внести свой вклад в проект, предоставив код, вы можете сделать pull request.

## Проект поддерживается JetBrains

Большое спасибо компании Jetbrains за предоставление лицензии, которая позволяет мне работать над этим и другими проектами с открытым исходным кодом.

[![](https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.svg)](https://www.jetbrains.com/?from=https://github.com/eddy8)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

lightCMS — это легковесная система CMS, которую также можно использовать в качестве универсальной платформы для управления бэкендом. Развернуть Свернуть
PHP и 2 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/eddy-lightCMS.git
git@api.gitlife.ru:oschina-mirror/eddy-lightCMS.git
oschina-mirror
eddy-lightCMS
eddy-lightCMS
9.x