- 18 张公共表更名(addon/attachment/configure/links/spider_log/spider_stat/sms/notice/ad/task/prop/medal/help/card -> common_*,member_wallets->member_wallet,score_rule/score_log -> member_*,addon_config->common_addonconf),模型全部对齐新表名,Db 直引用清零 - Attachment 模型补 表名绑定,修复富文本上传查 wxapp_attachment 1146 隐患 - install.sql + 迁移 SQL:backend_admin/backend_role delete_at 默认 0,修复软删除(NULL != 0)误过滤导致后台菜单为空 - AppService::boot() 支持插件 info.php 声明 commands 自动注册插件命令(psr-4 自动加载,坏类名自动跳过) - 各插件(haonav/mqttbroker/wxchat/articles/blog/forum 等)字段与配置同步调整 - 框架版本 1.1.0 -> 1.1.1
206 lines
6.9 KiB
PHP
206 lines
6.9 KiB
PHP
<?php
|
||
// +----------------------------------------------------------------------
|
||
// | YwxApp [ WE CAN DO IT JUST THINK ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2026-2036 http://ywxapp.cn All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Author: ywxapp<admin@ywxapp.cn>
|
||
// +----------------------------------------------------------------------
|
||
// MQTT Broker 配置项(后台"服务设置"表单数据源)
|
||
return [
|
||
[
|
||
'name' => 'port',
|
||
'title' => '监听端口',
|
||
'type' => 'number',
|
||
'value' => '1883',
|
||
'tip' => 'Broker 监听的 TCP 端口,默认 1883',
|
||
],
|
||
[
|
||
'name' => 'host',
|
||
'title' => '监听地址',
|
||
'type' => 'string',
|
||
'value' => '0.0.0.0',
|
||
'tip' => '绑定地址,0.0.0.0 表示全部网卡',
|
||
],
|
||
[
|
||
'name' => 'ws_port',
|
||
'title' => 'WebSocket端口',
|
||
'type' => 'number',
|
||
'value' => '8083',
|
||
'tip' => 'MQTT over WebSocket 端口(浏览器/小程序用),0 表示关闭',
|
||
],
|
||
[
|
||
'name' => 'ssl_enabled',
|
||
'title' => '启用TLS',
|
||
'type' => 'select',
|
||
'options' => ['0' => '关闭', '1' => '开启'],
|
||
'value' => '0',
|
||
'tip' => '对 TCP 监听启用 TLS(mqtts),需配置证书',
|
||
],
|
||
[
|
||
'name' => 'ssl_cert',
|
||
'title' => 'TLS证书路径',
|
||
'type' => 'string',
|
||
'value' => '',
|
||
'tip' => 'PEM 证书文件绝对路径(local_cert)',
|
||
],
|
||
[
|
||
'name' => 'ssl_key',
|
||
'title' => 'TLS私钥路径',
|
||
'type' => 'string',
|
||
'value' => '',
|
||
'tip' => 'PEM 私钥文件绝对路径(local_pk)',
|
||
],
|
||
[
|
||
'name' => 'allow_anonymous',
|
||
'title' => '允许匿名连接',
|
||
'type' => 'select',
|
||
'options' => ['1' => '允许', '0' => '禁止'],
|
||
'value' => '1',
|
||
'tip' => '禁止时需客户端提供正确用户名/密码(在"认证账号"中维护)',
|
||
],
|
||
[
|
||
'name' => 'acl_enabled',
|
||
'title' => '启用ACL',
|
||
'type' => 'select',
|
||
'options' => ['0' => '关闭', '1' => '开启'],
|
||
'value' => '0',
|
||
'tip' => '开启后按"ACL规则"表校验发布/订阅权限',
|
||
],
|
||
[
|
||
'name' => 'acl_default',
|
||
'title' => 'ACL默认策略',
|
||
'type' => 'select',
|
||
'options' => ['allow' => '默认允许', 'deny' => '默认拒绝'],
|
||
'value' => 'allow',
|
||
'tip' => '所有规则都未命中时的兜底策略',
|
||
],
|
||
[
|
||
'name' => 'allow_member_login',
|
||
'title' => '允许框架会员登录',
|
||
'type' => 'select',
|
||
'options' => ['0' => '关闭', '1' => '开启'],
|
||
'value' => '0',
|
||
'tip' => '开启后,框架 member_user 表的会员可用其账号密码直接连接 Broker(密码算法一致),无需在"认证账号"中重复建号',
|
||
],
|
||
[
|
||
'name' => 'member_is_superuser',
|
||
'title' => '会员默认超管',
|
||
'type' => 'select',
|
||
'options' => ['0' => '否', '1' => '是'],
|
||
'value' => '0',
|
||
'tip' => '会员直通连接是否视为超级用户(跳过 ACL);建议保持"否",用 ACL 规则按 %u 隔离',
|
||
],
|
||
[
|
||
'name' => 'max_keepalive',
|
||
'title' => '最大保活间隔(秒)',
|
||
'type' => 'number',
|
||
'value' => '60',
|
||
'tip' => '超过该间隔无心跳则断开',
|
||
],
|
||
[
|
||
'name' => 'max_connections',
|
||
'title' => '最大连接数',
|
||
'type' => 'number',
|
||
'value' => '5000',
|
||
'tip' => '单进程并发连接硬上限,超出拒绝新连接防止内存雪崩(0=不限)',
|
||
],
|
||
[
|
||
'name' => 'publish_rate_limit',
|
||
'title' => '单连接发布限流(条/秒)',
|
||
'type' => 'number',
|
||
'value' => '50',
|
||
'tip' => '令牌桶限流,单连接每秒最多发布数,超出静默丢弃(0=不限)',
|
||
],
|
||
[
|
||
'name' => 'sys_enabled',
|
||
'title' => '启用$SYS主题',
|
||
'type' => 'select',
|
||
'options' => ['1' => '开启', '0' => '关闭'],
|
||
'value' => '1',
|
||
'tip' => '周期发布 $SYS/broker/# 运行指标,可被客户端订阅',
|
||
],
|
||
[
|
||
'name' => 'sys_interval',
|
||
'title' => '$SYS发布间隔(秒)',
|
||
'type' => 'number',
|
||
'value' => '10',
|
||
'tip' => '系统指标发布周期',
|
||
],
|
||
[
|
||
'name' => 'persist_retain',
|
||
'title' => '持久化保留消息',
|
||
'type' => 'select',
|
||
'options' => ['1' => '开启', '0' => '关闭'],
|
||
'value' => '1',
|
||
'tip' => '重启后从数据库恢复保留消息',
|
||
],
|
||
[
|
||
'name' => 'persist_offline',
|
||
'title' => '持久化离线消息',
|
||
'type' => 'select',
|
||
'options' => ['1' => '开启', '0' => '关闭'],
|
||
'value' => '1',
|
||
'tip' => 'clean=false 会话离线期间的 QoS1/2 消息入库,重连补投',
|
||
],
|
||
[
|
||
'name' => 'offline_limit',
|
||
'title' => '离线队列上限',
|
||
'type' => 'number',
|
||
'value' => '1000',
|
||
'tip' => '单客户端离线消息最大条数,超出丢弃最旧',
|
||
],
|
||
[
|
||
'name' => 'cluster_enabled',
|
||
'title' => '启用集群桥接',
|
||
'type' => 'select',
|
||
'options' => ['0' => '关闭', '1' => '开启'],
|
||
'value' => '0',
|
||
'tip' => '开启后经 Redis Stream 打通多进程/WebSocket 与 TCP 消息(生产 Linux 建议开启)',
|
||
],
|
||
[
|
||
'name' => 'rule_enabled',
|
||
'title' => '启用转发规则',
|
||
'type' => 'select',
|
||
'options' => ['1' => '开启', '0' => '关闭'],
|
||
'value' => '1',
|
||
'tip' => '开启后按"转发规则"匹配源主题并桥接到外部 Broker(如 EMQX),需 workerman/mqtt',
|
||
],
|
||
[
|
||
'name' => 'redis_host',
|
||
'title' => 'Redis地址',
|
||
'type' => 'string',
|
||
'value' => '127.0.0.1',
|
||
'tip' => '集群桥接用 Redis 主机',
|
||
],
|
||
[
|
||
'name' => 'redis_port',
|
||
'title' => 'Redis端口',
|
||
'type' => 'number',
|
||
'value' => '6379',
|
||
'tip' => 'Redis 端口',
|
||
],
|
||
[
|
||
'name' => 'redis_db',
|
||
'title' => 'Redis库',
|
||
'type' => 'number',
|
||
'value' => '0',
|
||
'tip' => 'Redis 数据库序号',
|
||
],
|
||
[
|
||
'name' => 'redis_password',
|
||
'title' => 'Redis密码',
|
||
'type' => 'string',
|
||
'value' => '',
|
||
'tip' => '无密码留空',
|
||
],
|
||
[
|
||
'name' => 'log_level',
|
||
'title' => '日志级别',
|
||
'type' => 'select',
|
||
'options' => ['0' => '关闭', '1' => '仅错误', '2' => '详细'],
|
||
'value' => '1',
|
||
'tip' => '写入 runtime 日志的详细程度',
|
||
],
|
||
];
|