Cadmin PHP: серверная часть
Адрес проекта: [github], [gitee].
Адрес онлайн-документации: https://baiy.github.io/Cadmin/.
composer require baiy/cadmin
Подробности см. в разделе «Структура базы данных» (https://baiy.github.io/Cadmin/#/server/db).
После завершения установки кода и импорта базы данных необходимо внедрить бэкэнд системы в подходящее место текущей системы и выполнить соответствующую настройку.
<?php
$admin = \Baiy\Cadmin\Admin::instance();
$admin->setPdo($pdo); // Установить объект операции с базой данных
// $admin->setTablePrefix(); // [Необязательно] Установить префикс таблицы встроенной системы данных. После установки необходимо изменить имена таблиц.
// $admin->registerDispatcher(); // [Необязательно] Зарегистрировать пользовательский диспетчер запросов
// $admin->registerPassword(); // [Необязательно] Зарегистрировать пользовательскую функцию генерации паролей
// $admin->addNoCheckLoginRequestId($id); // [Необязательно] Разрешить доступ к API без проверки прав доступа
// $admin->addOnlyLoginRequestId($id); // [Необязательно] Доступ к API только после входа в систему
// $admin->setInputActionName($name); // [Необязательно] Установить имя переменной запроса
// $admin->setInputTokenName($name); // [Необязательно] Установить имя токена запроса
// $admin->setLogCallback(function(\Baiy\Cadmin\Log $log){}); // [Необязательно] Функция обратного вызова для записи журнала запросов
// [Необязательно] Мониторинг SQL в реальном времени для облегчения ведения журнала. Необходимо вызвать соответствующий метод в соответствии с методом мониторинга SQL, используемым в проекте.
// $admin->getContext()->addListenSql($sql, $time);
// Получить результат обработки бизнес-логики. Затем вывести результат в формате JSON в соответствии с фактическим проектом.
$response = $admin->run();
/route/app.php
Запрос соответствует фактической конфигурации файла маршрута.
<?php
use think\facade\Db;
use think\facade\Log;
use think\facade\Route;
// Клиентский API-маршрут входа. Запомните этот URL как адрес, предоставляемый клиентскому API.
Route::any('/api/admin/', function (){
$admin = \Baiy\Cadmin\Admin::instance();
// Временное решение: tp сначала должен запросить базу данных, чтобы получить объект pdo.
Db::connect()->execute("select 1");
$admin->setPdo(Db::connect()->getConnection()->getPdo()); // Установить объект операции с базой данных
$admin->registerDispatcher(new \Baiy\Cadmin\Dispatch\Thinkphp60()); // [Необязательно] Регистрация встроенного класса вызовов Thinkphp
// Другие настройки опущены. См. раздел «Входной код» выше...
// [Необязательно] Настройка функции обратного вызова журнала запросов
// $admin->setLogCallback(function (\Baiy\Cadmin\Log $log) {
// Log::write($log->toJson(), 'notice');
// });
// Мониторинг SQL в режиме реального времени для упрощения ведения журнала
// Db::listen(function ($sql, $time, $master) use ($admin) {
// $admin->getContext()->addListenSql($sql, $time);
// });
// Запуск
return response($admin->run()->toArray(), 200,[],'json');
})->allowCrossDomain();
/routes/api.php
Запрос соответствует фактической конфигурации файла маршрута.
Добавьте в /routes/web.php
, обратите внимание на добавление CSRF белый список.
<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Route;
// Клиенты API-маршрута входа. Запомните этот URL как адрес, предоставленный клиентскому API.
Route::any('/api/admin/', function () {
// Передняя и задняя части разделены, обычно возникают проблемы с междоменными запросами. Решайте самостоятельно.
header('Access-Control-Allow-Origin: *');
$admin = \Baiy\Cadmin\Admin::instance();
$admin->setPdo(Db::connection()->getPdo()); // Установить объект операции с базой данных
$admin->registerDispatcher(new \Baiy\Cadmin\Dispatch\Laravel58()); // [Необязательно] Регистрация встроенного класса вызовов Laravel
// Остальные настройки опущены. Смотрите раздел «Входной код» выше...
// [Необязательно] Настройка функции обратного вызова журнала запросов
// $admin->setLogCallback(function (\Baiy\Cadmin\Log $log) {
// Log::info($log->toJson());
// });
// Мониторинг SQL в режиме реального времени для упрощения ведения журнала
// Db::listen(function ($query) use ($admin) {
// $admin->getContext()->addListenSql(
// sprintf(str_replace("?","%s",$query->sql),...$query->bindings),
// $query->time
// );
// });
// Запуск
return response()->json($admin->run()->toArray());
});
Baiy\Cadmin\Password\Password
.\Baiy\Cadmin\Admin::registerPassword()
.Встроенный генератор паролей: https://github.com/baiy/Cadmin-server-php/blob/master/src/Password/PasswrodDefault.php.
Встроенная функция генерации паролей:
base64_encode(hash('sha256',hash("sha256", $password.$salt,FALSE).$salt,FALSE).'|'.$salt);
\Baiy\Cadmin\Dispatch\Dispatch
.\Baiy\Cadmin\Admin::registerDispatcher()
.Встроенные диспетчеры: https://github.com/baiy/Cadmin-server-php/tree/master/src/Dispatch.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )