ThinkAdmin — это бесплатный и открытый фреймворк для быстрой разработки, лицензированный под MIT. Он основан на последней версии ThinkPHP6 и представляет собой минимальную систему управления (уже совместима с ThinkPHP8). Перед использованием ThinkAdmin внимательно прочитайте и согласитесь с 《Отказ от ответственности》.Текущая последняя версия ThinkAdmin — это v6.1. С этой версии проект официально входит в эпоху плагинов, предоставляя услуги по обновлению компонентов, аналогичные PaaS. Также можно локально настраивать и разрабатывать, базовые компоненты и расширения плагинов управляются с помощью Composer. ThinkAdmin не отличается от традиционного режима многофункционального приложения ThinkPHP. Пользователи могут самостоятельно разрабатывать свои модули. Это обновление полностью совместимо с приложениями ThinkAdmin v6.0. Для обновления до режима плагинов v6.1 в ThinkAdmin v6.0 достаточно установить компонент ThinkPlugsAdmin.//: # (Для получения более подробной информации об экосистеме плагинов ThinkAdmin прочитайте [《Экосистема плагинов ThinkAdmin》](https://thinkadmin.top/guide/plugin.html))
**Для просмотра подробного описания ThinkAdmin v6.1 переключитесь на ветку v6.1!!**ThinkAdmin v6 основан на накоплении версий v1-v5 и прошел несколько крупных изменений. Он был перестроен с учетом концепций ThinkPHP6, уменьшено количество необязательных компонентов, созданы уровни хранения, обслуживания и механизмы задач очереди, а также добавлено множество дружественных команд! Текущая версия v6 прошла через несколько системных тестов и оптимизаций. В настоящее время модули системы и модули WeChat уже стабилизированы. Системное управление app/admin
и управление WeChat app/wechat
определены как два основных модуля ядра v6 и выпущены под лицензией MIT. В будущем могут быть выпущены другие модули и вспомогательные модули, ожидайте их. . . Системное ядро ThinkLibrary инкапсулирует множество часто используемых операций и многоприложных компонентов, что позволяет быстро разрабатывать различные приложения, не влияя на экосистему ThinkPHP, значительно упрощая затраты на кодирование; можно самостоятельно выбирать интеграцию компонента WechatDeveloper (поддерживает официальные аккаунты WeChat, мини-программы WeChat, корпоративные аккаунты WeChat, платежи WeChat Merchant, платежи Alipay и т. д. ) и инструмент генерации QR-кодов QRcode.Внутри также встроен многоприложный компонент ThinkPHP6 и полностью поддерживается маршрутизация; поддержка хранения файлов включает локальное хранение на сервере, самостроительное хранение Alist, объектное хранение Qiniu Cloud (с поддержкой ускорения CDN), хранение USS Youpai Cloud (с поддержкой ускорения CDN), хранение OSS Alibaba Cloud (с поддержкой ускорения CDN), хранение COS Tencent Cloud (с поддержкой ускорения CDN) и другие способы хранения; встроенный механизм обработки асинхронных задач позволяет выполнять задачи в параллельных процессах, задержка ответа задачи менее 0.5 секунды, совместим с windows и linux.Для использования ThinkAdmin необходимо владеть навыками разработки на ThinkPHP, jQuery, LayUI, RequireJs и т.д., интерфейс UI администратора основан на последней версии фронтенд-фреймворка LayUI и способе загрузки компонентов RequireJs, по умолчанию загружены все компоненты LayUI, в фреймворке можно напрямую использовать компоненты (обратите внимание на порядок загрузки js на отдельных страницах), загрузка плагинов с помощью RequireJs, в Интернете множество ресурсов, можно самостоятельно загружать и расширять. В настоящее время большая часть страниц администратора является одностраничными приложениями, скорость загрузки страниц очень высокая, поэтому администратор больше не поддерживает режим вкладок.Мы стремимся к быстрой разработке базового фреймворка, чтобы упростить разработку проектов. Фреймворк предоставляет полные базовые компоненты и соответствующую поддержку API, на основе этого фреймворка можно быстро разрабатывать различные WEB-приложения. Ни одна система не может полностью удовлетворять все бизнес-сценарии, ThinkAdmin бесплатно предоставляет базовые функции нижнего уровня, включая управление системными правами, настройку системного хранения, управление авторизацией WeChat, а также интеграцию других часто используемых функций и т.д. Поэтому ThinkAdmin также был определен как базовая система для вторичной разработки подрядчиками. В настоящее время многие компании и частные лица используют ThinkAdmin, по данным агрегации и статистики, уже более 5 тысяч проектов работают в режиме онлайн.#### Важно
Note: There was a mix of Chinese and Russian in the translation. Here is the corrected version:
Исправленный текст:
ThinkAdmin разработан на основе популярного в Китае фреймворка ThinkPHP6 и требует выполнения на версии PHP 7.2.5 или выше. Использование более ранних версий PHP может повлиять на установку зависимостей Composer и создать потенциальные угрозы безопасности;
В运行环境必须启用 PATHINFO 并将相应的 rewrite 规则配置到站点才能访问。系统不再支持 ThinkPHP 的 URL 兼容模式运行(为了优雅地展示),可以阅读 ThinkAdmin 的文档установка и развертывание раздел;
Из репозитория кода загруженные файлы не содержат目录 Composer 组件的 vendor. После загрузки необходимо выполнить composer install для установки зависимостей, что также запустит выполнение php think migrate:run для установки скриптов базы данных Phinx. Для смены базы данных достаточно сначала настроить, а затем выполнить команду для завершения установки начальных данных;
Для поддержания возможности онлайн-обновления системы не рекомендуется создавать или изменять файлы в目录 app/admin, app/wechat, public/static. Можно создавать собственные модули для написания бизнес-кода, а пользовательские стили и скрипты можно размещать в目录 public/static/extra.
Система разработана с использованием новых возможностей строгих типов PHP. Для лучшего опыта и более высокой производительности рекомендуется использовать профессиональные IDE (например, PhpStorm, NetBeans, VsCode, Eclipse for PHP и т.д.) для разработки проекта.Примечание: Текст все еще содержит некоторые китайские символы. Вот полностью исправленная версия:* ThinkAdmin разработан на основе популярного в Китае фреймворка ThinkPHP6 и требует выполнения на версии PHP 7.2.5 или выше. Использование более ранних версий PHP может повлиять на установку зависимостей Composer и создать потенциальные угрозы безопасности;
В运行环境必须启用 PATHINFO 并将相应的 rewrite 规则配置到站点才能访问。系统不再支持 ThinkPHP 的 URL 兼容模式运行(为了优雅地展示),可以阅读 ThinkAdmin 的文档安装部署章节;
Из репозитория кода загруженные файлы не содержат vendor директорию Composer компонентов. После загрузки необходимо выполнить composer install для установки зависимостей, что также запустит выполнение php think migrate:run для установки скриптов базы данных Phinx. Для смены базы данных достаточно сначала настроить, а затем выполнить команду для завершения установки начальных данных;
Для поддержания возможности онлайн-обновления системы не рекомендуется создавать или изменять файлы в директориях app/admin, app/wechat, public/static. Можно создавать собственные модули для написания бизнес-кода, а пользовательские стили и скрипты можно размещать в директории public/static/extra.
Система разработана с использованием новых возможностей строгих типов PHP. Для лучшего опыта и более высокой производительности рекомендуется использовать профессиональные IDE (например, PhpStorm, NetBeans, VsCode, Eclipse for PHP и т.д.) для разработки проекта.## Системная установка
ThinkAdmin разработан на основе популярного в Китае фреймворка ThinkPHP6 и требует выполнения на версии PHP 7.2.5 или выше. Использование более ранних версий PHP может повлиять на установку зависимостей Composer и создать потенциальные угрозы безопасности;
В PATHINFO должно быть включено, и соответствующие правила rewrite должны быть настроены на сайте для доступа. Система больше не поддерживает режим совместимости URL для ThinkPHP (для элегантного отображения), можно прочитать документацию ThinkAdmin в разделе Установка и развертывание;
Из репозитория кода загруженные файлы не содержат директорию vendor компонентов Composer. После загрузки необходимо выполнить composer install для установки зависимостей, что также запустит выполнение php think migrate:run для установки скриптов базы данных Phinx. Для смены базы данных достаточно сначала настроить, а затем выполнить команду для завершения установки начальных данных;
Для поддержания возможности онлайн-обновления системы не рекомендуется создавать или изменять файлы в директориях app/admin, app/wechat, public/static. Можно создавать собственные модули для написания бизнес-кода, а пользовательские стили и скрипты можно размещать в директории public/static/extra.
Система разработана с использованием новых возможностей строгих типов PHP. Для лучшего опыта и более высокой производительности рекомендуется использовать профессиональные IDE (например, PhpStorm, NetBeans, VsCode, Eclipse for PHP и т.д.) для разработки проекта.## Системная установкаСкачайте и перейдите в корневой каталог ThinkAdmin, затем выполните команду для установки зависимых компонентов.
Откройте командную строку (для пользователей Windows) или терминал (для пользователей Linux и Mac) и выполните следующие команды:
1. Установка через Composer: (рекомендуемый способ, по умолчанию устанавливается только модуль admin)
### Создание проекта (необходимо выполнить в английской директории)
composer create-project zoujingli/thinkadmin
### Переход в корневой каталог проекта
cd thinkadmin
### Инициализация базы данных
### Система по умолчанию использует базу данных Sqlite
### Если вы используете другую базу данных, измените соответствующие параметры DB_
copy .env.example .env
vi .env
#### Выполнение инициализации базы данных
php think migrate:run
### Установка модуля управления WeChat
composer require zoujingli/think-plugs-wechat
### Запуск встроенного веб-сервера PHP
### По умолчанию имя пользователя и пароль для входа в админ-панель — admin
php think run --host 127.0.0.1
2. Установка из исходного кода: (по умолчанию устанавливаются модули admin и wechat)
### Скачивание проекта (необходимо выполнить в английской директории)
# git clone https://github.com/zoujingli/ThinkAdmin
git clone https://gitee.com/zoujingli/ThinkAdmin
```### Переход в корневой каталог проекта
cd ThinkAdmin
### Установка зависимых компонентов проекта
composer install --optimize-autoloader
### Инициализация базы данных
### Система по умолчанию использует базу данных Sqlite
### Если вы используете другую базу данных, измените соответствующие параметры DB_
copy .env.example .env
vi .env
#### Выполнение инициализации базы данных
php think migrate:run
### Запуск встроенного веб-сервера PHP
### По умолчанию имя пользователя и пароль для входа в админ-панель — admin
php think run --host 127.0.0.1
Внимание: при изменении параметров базы данных, помимо изменения параметров подключения, необходимо переключить default имя подключения, например, на mysql или sqlite.
return [
// Тип базы данных
'default' => 'sqlite',
// Параметры подключения к базе данных
'connections' => [
'mysql' => [ /* конкретные параметры опущены */ ],
'sqlite' => [ /* конкретные параметры опущены */ ],
]
]
Текущая версия — ThinkAdmin v6.1. Не требуется импортировать скрипт базы данных SQL
, достаточно изменить параметры базы данных и выполнить команду php think migrate:run
.## Техническая поддержка
Перед началом разработки внимательно прочитайте официальную документацию ThinkPHP, это будет полезно!Для локальной разработки используйте команду php think run
для запуска службы. Для доступа к проекту перейдите по адресу http://127.0.0.1:8000
.
Официальный сайт и руководство по разработке: https://thinkadmin.top. Если у вас возникнут проблемы, вы можете присоединиться к официальному сообществу для бесплатного обмена информацией.
1. Официальная QQ-группа: 513350915
2. Официальная QQ-группа: 866345568
3. Официальная WeChat-группа
Аннотации для прав доступа позволяют реализовать управление правами доступа RBAC через аннотации методов, используя аннотации для управления функциональными узлами.
Разработчики должны только правильно оформить аннотации, после чего узлы функций будут автоматически созданы. Для использования прав доступа RBAC необходимо настроить роли и пользователей.
@auth true
означает, что доступ требует проверки прав@menu true
означает, что узел отображается в меню для редактирования@login true
означает, что доступ требует обязательной авторизации```php
/**
Наш репозиторий кода перемещен на **Github**, а **Gitee** используется только как зеркальный репозиторий для удобства разработчиков в Китае. Для отправки **PR** или **ISSUE** используйте репозиторий [ThinkAdminDeveloper](https://github.com/zoujingli/ThinkAdminDeveloper). Проблемы, отправленные в другие репозитории, не будут обработаны!
Часть кода взята из интернета, если у вас есть возражения, свяжитесь с автором для удаления.
* Адрес для онлайн-тестирования: https://v6.thinkadmin.top (логин и пароль: admin)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin
* Адрес репозитория на Gitcode: https://gitcode.com/ThinkAdmin/ThinkAdmin## Команды фреймворка
* Выполните `php think run` для запуска локальной среды разработки, перейдите по адресу `http://127.0.0.1:8000`
* Выполните `php think xadmin:package` для упаковки существующей базы данных `MySQL` в скрипты базы данных `Phinx`
* Выполните `php think xadmin:sysmenu` для перезаписи системного меню и генерации новых номеров, при этом будут очищены данные отключенных меню
* Выполните `php think xadmin:fansall` для синхронизации данных фанатов WeChat, что зависит от плагина приложения `ThinkPlugsWechat`
* Выполните `php think xadmin:replace` для массовой замены содержимого определенных строк в базе данных, обычно используется для замены адресов файлов
* Выполните `php think xadmin:database` для выполнения операций `repair|optimize` над всеми таблицами базы данных, что оптимизирует и упорядочивает фрагменты базы данных
* Выполните `php think xadmin:publish` для автоматической установки текущего модуля или уже установленных плагинов приложения, добавьте параметр `--migrate` для выполнения скриптов базы данных
#### 1. Управление процессами задач (можно создать периодические задачи для мониторинга основного процесса)* Выполните `php think xadmin:queue listen` [мониторинг] для запуска службы асинхронного мониторинга задач
* Выполните `php think xadmin:queue start` [управление] для проверки и создания службы мониторинга задач (рекомендуется выполнять в виде периодической задачи)
* Выполните `php think xadmin:queue query` [управление] для запроса текущих процессов, связанных с задачами
* Выполните `php think xadmin:queue status` [управление] для просмотра статуса асинхронного мониторинга задач
* Выполните `php think xadmin:queue stop` [управление] для плавной остановки всех процессов задач
#### 2. Управление локальной отладкой (можно создать периодические задачи для мониторинга основного процесса)
* Выполните `php think xadmin:queue webstop` [отладка] для остановки локальной службы отладки
* Выполните `php think xadmin:queue webstart` [отладка] для запуска локальной службы отладки (рекомендуется выполнять в виде периодической задачи)
* Выполните `php think xadmin:queue webstatus` [отладка] для просмотра статуса локальной отладки
## Исправление проблем* Добавлены правила CORS для настройки кросс-доменных запросов, параметры конфигурации размещены в `config/app.php`, необходимо обновить `ThinkLibrary`.
* Исправлена проблема с автоматическим экранированием XSS в шаблонах, вызванная `layui.table`, необходимо обновить `ThinkLibrary`.
* Исправлена проблема XSS, возникающая при использовании `{:input(NAME)}` для получения значений в шаблонах, значения теперь должны быть получены с помощью `{$get.NAME|default=''}`.
* Исправлен файл конфигурации `CKEDITOR`, отключены все события `on` для тегов, чтобы предотвратить вставку XSS-скриптов, необходимо обновить `ckeditor/config.js`.
* Исправлена проверка расширений файлов при загрузке, теперь проверяется реальное расширение файла и сравнивается с конфигурацией, чтобы предотвратить загрузку и хранение недопустимых файлов на локальном сервере.
* Изменен механизм обработки исключений в интерфейсе `JsonRpc`, теперь при привязке `Exception` на сервере клиент получит сообщение `error` и данные об исключении.
* Изменен механизм доступа к `location.hash`, запрещен прямой доступ к внешним ресурсам по `URL`, чтобы предотвратить чтение локальных данных кэша внешними XSS-атаками.
* Добавлена конфигурация стилей темы для админ-панели, поддерживающая глобальные настройки по умолчанию и индивидуальные настройки пользователей, необходимо обновить компоненты и модули `admin`, `static`, `ThinkLibrary`.* Обновлены данные административных районов в админ-панели, переключены с данных Tencent Maps на последние данные Baidu Maps, необходимо обновить `static`, для версии с базой данных требуется отдельное обновление.## Информация о правах
[**ThinkAdmin**](https://thinkadmin.top) распространяется по лицензии [**MIT**](license) и предоставляется для бесплатного использования.
Информация о правах на включенные в проект сторонние исходные коды и двоичные файлы указана отдельно. Copyright © 2014-2023 by ThinkAdmin (https://thinkadmin.top) All rights reserved.
Больше деталей смотрите в файле [`LISENSE`](license)
## Исторические версии
Для всех версий системы имя пользователя и пароль для тестового аккаунта: admin
### ThinkAdmin v6 на основе ThinkPHP 6.0 (права доступа к панели управления реализованы с помощью аннотаций)
* Адрес для онлайн-тестирования: https://v6.thinkadmin.top (в работе)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v6
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v6
### ThinkAdmin v5 на основе ThinkPHP 5.1 (права доступа к панели управления реализованы с помощью аннотаций)
* Адрес для онлайн-тестирования: https://v5.thinkadmin.top (остановлен)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v5
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v5
### ThinkAdmin v4 на основе ThinkPHP 5.1 (не рекомендуется к использованию)
* Адрес для онлайн-тестирования: https://v4.thinkadmin.top (остановлен)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v4
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v4
### ThinkAdmin v3 на основе ThinkPHP 5.1 (не рекомендуется к использованию)* Адрес для онлайн-тестирования: https://v3.thinkadmin.top (остановлен)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v3
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v3
### ThinkAdmin v2 на основе ThinkPHP 5.0 (не рекомендуется к использованию)
* Адрес для онлайн-тестирования: https://v2.thinkadmin.top (остановлен)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v2
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v2
### ThinkAdmin v1 на основе ThinkPHP 5.0 (не рекомендуется к использованию)
* Адрес для онлайн-тестирования: https://v1.thinkadmin.top (остановлен)
* Адрес репозитория на Gitee: https://gitee.com/zoujingli/ThinkAdmin/tree/v1
* Адрес репозитория на Github: https://github.com/zoujingli/ThinkAdmin/tree/v1
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.