Разработано на основе Webman
https://webman2.xiaohuihui.club/app/admin
Логин: admin
Пароль: 123456
composer install
или composer update
для установки или обновления зависимостей, если происходит обновление библиотеки классов thinkphp-orm, то автоматически создаётся конфигурационный файл thinorm.php
в папке app/config
. Этот файл следует удалить вручную, чтобы избежать ошибок.(Файл уже настроен по умолчанию в папке
plugin/admin/config
, глобальный файлapp
можно игнорировать.)### Версия PHP
Из-за обновления библиотеки Interventions/Image до последней версии v3 требуется минимум PHP 8.1+. Поэтому минимальная версия PHP для этого проекта должна быть 8.1.
Если вы хотите использовать PHP 8.0 или текущую версию без обновления до PHP 8.1+, это также возможно.
git clone https://gitee.com/xianrenqh/huicmf_webman.git
Если при выполнении команды
composer install
возникают ошибки, обычно они связаны с отключёнными функциями, такими какputenv
,proc_open
,pcntl_fork
и т.д. Эти функции следует активировать.(Необходимо активировать эти функции, чтобы избежать проблем при старте или установке некоторых пакетов Composer)
composer install
Официальная конфигурация:
upstream webman {
server 127.0.0.1:8789;
keepalive 10240;
}
server {
server_name ваш_домен;
listen 80;
access_log off;
root /ваш/путь/webman/public;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename) {
proxy_pass http://webman;
}
}
}
upstream webman {
server 127.0.0.1:8789;
keepalive 10240;
}
server
{
listen 80;
listen [::]:80;
server_name webman.xiaohuihui.net;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/webman.xiaohuihui.net/public;
access_log off;
} #SSL-START SSL-конфигурация, пожалуйста, не удаляйте или изменяйте следующую строку с пометкой 404
#error_page 404/404.html;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#SSL-END
#ERROR-PAGE-START Конфигурация страниц ошибок, можно закомментировать, удалить или изменить
#error_page 404 /404.html;
#error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START Конфигурация PHP-соединений, можно закомментировать или изменить
include enable-php-74.conf;
#PHP-INFO-END
#REWRITE-START Конфигурация правил перезаписи URL, изменение приведёт к потере настроек псевдо-статических правил в панели управления
include /www/server/panel/vhost/rewrite/webman.xiaohuihui.net.conf;
#REWRITE-END
#Запрещённые файлы или директории
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) {
return 404;
}
#Настройки проверки сертификата SSL при одном клике
location ~ \.well-known {
allow all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
proxy_pass http://webman;
error_log /dev/null;
access_log /dev/null;
}
location ~ .*\.(js|css)?$ {
expires 12h;
proxy_pass http://webman;
error_log /dev/null;
access_log /dev/null;
}
}
Вышеуказанный код следует внимательно рассмотреть:
_location ~_ содержимое требует особого внимания. Неправильная обработка этих данных может привести к невозможности доступа к некоторым статическим ресурсам.
Каталог работы сайта установлен как public
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename) {
proxy_pass http://webman;
}
}
файл /config/server.php
приблизительно 16 строка:
'listen' => 'http://0.0.0.0:8789',
```### Веб-интерфейс управления
1. По умолчанию используется одностраничная (SPA) архитектура без использования `iframe`.
2. Веб-интерфейс управления по умолчанию использует версию Pear Admin Layui 4.0.
3. Layui использует последнюю версию: 2.9.10.
---
### Выполнение команд запуска
#### Окружение Windows разработки
php windows.php start
#### Окружение Linux производства
php start.php start php start.php start -d
#### Гладкий перезапуск
php start.php reload
## Первый вход (установка)
> Обратите внимание на конфигурирование порта
http://127.0.0.1:8789/app/admin
Если привязан домен, то переходите по адресу:
https://webman2.xiaohuihui.club/app/admin
Домен лучше заменить на свой.
---
## Управление веб-разработкой
### 1. Шаблоны
> Обратите внимание:
>
> В шаблоне UI:
>
> **Не должно быть одинаковых ID**
>
> **Не должно быть одинаковых ID**
>
> **Не должно быть одинаковых ID**
>
> Не использовать `window.****=function();`
>
> При смене конфигурации базы данных, особенно имени базы данных, обязательно перезапустите сервис `webman`.
1. При использовании в страницах, обязательно различайте значения ID, они не должны повторяться на других страницах.
**Не должно быть одинаковых ID**
**Не должно быть одинаковых ID**
**Не должно быть одинаковых ID**
Например, страница таблицы данных:
```html
<table class="layui-hide" id="ruleTable" lay-filter="ruleTable"></table>
var ruleInit = treeTable.render({
elem: '#ruleTable'
});
``````html
<script type="text/html" id="optionTpl">
<a class="layui-btn layui-btn-xs layui-btn-normal" data-open="/app/admin/rule/add?id={{d.id}}"
data-title="Добавить подчинённого" data-reload="1" permission="app.admin.rule.add">Добавить подчинённого</a>
<a class="layui-btn layui-btn-xs layui-btn-success" data-open="/app/admin/rule/edit?id={{d.id}}"
data-title="Редактировать" data-reload="1">Редактировать</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="/app/admin/rule/delete"
data-data="id={{d.id}}" data-title="Вы уверены, что хотите удалить?" data-reload="1">Удалить</a>
</script>
[
{fixed: "right", title: "Действия", width: 190, align: "center", toolbar: "#optionTpl"}
]
В вышестоящем коде: значение elem
в JS совпадает со значением id
в HTML, и это значение не должно повторяться на других страницах, иначе страница будет пустой. Лучший способ названия: текущее имя + Table, например выше: ruleTable, что означает: таблица ролей.
Ссылка: https://www.workerman.net/a/1677
Импорт soulTable:
layui.use(['table', 'soulTable'], function() {
var soulTable = layui.soulTable;
table.render({
rowDrag: {
trigger: ".layui-icon-snowflake",
done: (obj) => {
let PRIMARY_KEY = 'id'; // Поле сортировки ID
let UPDATE_API = '/app/knowledge/knowledge/sort'; // API запроса для сортировки
rowDragDoneFunc(obj, PRIMARY_KEY, UPDATE_API, 'sort');
refreshTable(tableInit.config.id, 1); // Обновление таблицы
},
},
done: function() {
soulTable.render(this);
}
});
});
// Импорт метода сортировки
use plugin\admin\app\servicers\DragdoneUpService;
```/**
* Сортировка
*
* @param Request $request
*
* @return Response
*/
public function sort(Request $request): Response
{
if ($request->method() === 'POST') {
if ($request->post('dragDone') == 1 && DragdoneUpService::dragDoneUpData($request, $this->model)) {
return $this->success('Операция выполнена успешно');
}
}
}
window.editor = E.createEditor({
uploadVideo: {
server: '/app/admin/upload/upload?editor_type=wang',
fieldName: 'custom-fileName',
meta: {token: 'xxx', a: 100},
metaWithUrl: true, // объединение параметров в URL
headers: {
'Accept': 'text/x-json'
}
,
maxFileSize: 10 * 1024 * 1024, // 10МБ
onBeforeUpload(file) {
return file
}
,
onProgress(progress) {
console.log('progress', progress)
}
}
})
https://www.workerman.net/doc/webman/app/create.html
api/Install.php
в директории плагина:По умолчанию используется фреймворк Laravel, но здесь используется ThinkPHP. Поэтому если есть SQL-файлы для установки, этот файл следует изменить.
Шестая строка должна быть изменена следующим образом:
use think\facade\Db;
Строка 178 должна быть изменена следующим образом:
Db::connect(static::$connection)->execute($sql);
protected $table = "cmf_email_template";
```## Другое
Если вы не хотите обновлять плагины административной панели, измените значение `version` в соответствующих файлах конфигурации плагинов на произвольно большое число. Например: 10.0.0
/admin/plugin/admin/config/app.php
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )