This commit is contained in:
li
2026-01-28 23:48:20 +08:00
commit b8cd0c9418
1293 changed files with 184011 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
<?php
// +----------------------------------------------------------------------
// | 应用设置
// +----------------------------------------------------------------------
return [
// 应用地址
'app_host' => env('app.host', ''),
// 应用的命名空间
'app_namespace' => '',
// 是否启用路由
'with_route' => true,
// 默认应用
'default_app' => 'index',
// 默认时区
'default_timezone' => env('app.default_timezone', 'Asia/Singapore'),
// 应用映射(自动多应用模式有效)
'app_map' => [],
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
env('domain.console') => 'handle',
env('domain.bet', '*') => 'index',
],
// 禁止URL访问的应用列表(自动多应用模式有效)
'deny_app_list' => [],
// 异常页面的模板文件
'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl',
// 错误显示信息,非调试模式有效
'error_message' => 'SOMETHING WRONG. TRY AGAIN LATER!',
// 显示错误信息
'show_error_msg' => false,
];
+35
View File
@@ -0,0 +1,35 @@
<?php
// +----------------------------------------------------------------------
// | 缓存设置
// +----------------------------------------------------------------------
return [
// 默认缓存驱动
'default' => env('cache.driver', 'file'),
// 缓存连接方式配置
'stores' => [
'file' => [
// 驱动方式
'type' => 'File',
// 缓存保存目录
'path' => '',
// 缓存前缀
'prefix' => '',
// 缓存有效期 0表示永久缓存
'expire' => 0,
// 缓存标签前缀
'tag_prefix' => 'tag:',
// 序列化机制 例如 ['serialize', 'unserialize']
'serialize' => [],
],
'redis' => [
'type' => 'Redis',
'host' => '127.0.0.1',
'port' => 6379,
'expire' => 0
],
// 更多的缓存连接
],
];
+39
View File
@@ -0,0 +1,39 @@
<?php
// +----------------------------------------------------------------------
// | Captcha配置文件
// +----------------------------------------------------------------------
return [
//验证码位数
'length' => 5,
// 验证码字符集合
'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY',
// 验证码过期时间
'expire' => 1800,
// 是否使用中文验证码
'useZh' => false,
// 是否使用算术验证码
'math' => false,
// 是否使用背景图
'useImgBg' => false,
//验证码字符大小
'fontSize' => 25,
// 是否使用混淆曲线
'useCurve' => true,
//是否添加杂点
'useNoise' => true,
// 验证码字体 不设置则随机
'fontttf' => '',
//背景颜色
'bg' => [243, 251, 254],
// 验证码图片高度
'imageH' => 0,
// 验证码图片宽度
'imageW' => 0,
// 添加额外的验证码设置
// verify => [
// 'length'=>4,
// ...
//],
];
+9
View File
@@ -0,0 +1,9 @@
<?php
// +----------------------------------------------------------------------
// | 控制台配置
// +----------------------------------------------------------------------
return [
// 指令定义
'commands' => [
],
];
+18
View File
@@ -0,0 +1,18 @@
<?php
// +----------------------------------------------------------------------
// | Cookie设置
// +----------------------------------------------------------------------
return [
// cookie 保存时间
'expire' => 60 * 60 * 24,
// cookie 保存路径
'path' => '/',
// cookie 有效域名
'domain' => '',
// cookie 启用安全传输
'secure' => false,
// httponly设置
'httponly' => false,
// 是否使用 setcookie
'setcookie' => true,
];
+65
View File
@@ -0,0 +1,65 @@
<?php
return [
// 默认使用的数据库连接配置
'default' => env('database.driver', 'mysql'),
// 自定义时间查询规则
'time_query_rule' => [],
// 自动写入时间戳字段
// true为自动识别类型 false关闭
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date
'auto_timestamp' => true,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 数据集返回类型
'resultset_type' => 'collection',
// 数据库连接配置信息
'connections' => [
'mysql' => [
// 数据库类型
'type' => env('database.type', 'mysql'),
// 服务器地址
'hostname' => env('database.hostname', '127.0.0.1'),
// 数据库名
'database' => env('database.database', ''),
// 用户名
'username' => env('database.username', ''),
// 密码
'password' => env('database.password', ''),
// 端口
'hostport' => env('database.hostport', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => env('database.charset', 'utf8'),
// 数据库表前缀
'prefix' => env('database.prefix', 'cg_'),
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('app_debug', true),
// 开启字段缓存
'fields_cache' => false,
// 字段缓存路径
'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR,
],
// 更多的数据库配置信息
],
];
+24
View File
@@ -0,0 +1,24 @@
<?php
return [
// 默认磁盘
'default' => env('filesystem.driver', 'local'),
// 磁盘列表
'disks' => [
'local' => [
'type' => 'local',
'root' => app()->getRuntimePath() . 'storage',
],
'public' => [
// 磁盘类型
'type' => 'local',
// 磁盘路径
'root' => app()->getRootPath() . 'public/storage',
// 磁盘路径对应的外部URL路径
'url' => '/storage',
// 可见性
'visibility' => 'public',
],
// 更多的磁盘配置信息
],
];
+25
View File
@@ -0,0 +1,25 @@
<?php
// +----------------------------------------------------------------------
// | 多语言设置
// +----------------------------------------------------------------------
return [
// 默认语言
'default_lang' => env('lang.default_lang', 'zh-cn'),
// 允许的语言列表
'allow_lang_list' => ['zh-cn','zh-tw','en-us'],
// 多语言自动侦测变量名
'detect_var' => 'lang',
// 是否使用Cookie记录
'use_cookie' => true,
// 多语言cookie变量
'cookie_var' => 'think_lang',
// 扩展语言包
'extend_list' => [],
// Accept-Language转义为对应语言包名称
'accept_language' => [
'zh-hans-cn' => 'zh-cn',
],
// 是否支持语言分组
'allow_group' => false,
];
+45
View File
@@ -0,0 +1,45 @@
<?php
// +----------------------------------------------------------------------
// | 日志设置
// +----------------------------------------------------------------------
return [
// 默认日志记录通道
'default' => env('log.channel', 'file'),
// 日志记录级别
'level' => [],
// 日志类型记录的通道 ['error'=>'email',...]
'type_channel' => [],
// 关闭全局日志写入
'close' => false,
// 全局日志处理 支持闭包
'processor' => null,
// 日志通道列表
'channels' => [
'file' => [
// 日志记录方式
'type' => 'File',
// 日志保存目录
'path' => '',
// 单文件日志写入
'single' => false,
// 独立日志级别
'apart_level' => [],
// 最大日志文件数量
'max_files' => 0,
// 使用JSON格式记录
'json' => false,
// 日志处理
'processor' => null,
// 关闭通道日志写入
'close' => false,
// 日志输出格式化
'format' => '[%s][%s] %s',
// 是否实时写入
'realtime_write' => false,
],
// 其它日志通道配置
],
];
+8
View File
@@ -0,0 +1,8 @@
<?php
// 中间件配置
return [
// 别名或分组
'alias' => [],
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行
'priority' => [],
];
+45
View File
@@ -0,0 +1,45 @@
<?php
// +----------------------------------------------------------------------
// | 路由设置
// +----------------------------------------------------------------------
return [
// pathinfo分隔符
'pathinfo_depr' => '/',
// URL伪静态后缀
'url_html_suffix' => 'html',
// URL普通方式参数 用于自动生成
'url_common_param' => true,
// 是否开启路由延迟解析
'url_lazy_route' => false,
// 是否强制使用路由
'url_route_must' => false,
// 合并路由规则
'route_rule_merge' => false,
// 路由是否完全匹配
'route_complete_match' => false,
// 访问控制器层名称
'controller_layer' => 'controller',
// 空控制器名
'empty_controller' => 'Error',
// 是否使用控制器后缀
'controller_suffix' => false,
// 默认的路由变量规则
'default_route_pattern' => '[\w\.]+',
// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则
'request_cache' => false,
// 请求缓存有效期
'request_cache_expire' => null,
// 全局请求缓存排除规则
'request_cache_except' => [],
// 默认控制器名
'default_controller' => 'Index',
// 默认操作名
'default_action' => 'index',
// 操作方法后缀
'action_suffix' => '',
// 默认JSONP格式返回的处理方法
'default_jsonp_handler' => 'jsonpReturn',
// 默认JSONP处理方法
'var_jsonp_handler' => 'callback',
];
+19
View File
@@ -0,0 +1,19 @@
<?php
// +----------------------------------------------------------------------
// | 会话设置
// +----------------------------------------------------------------------
return [
// session name
'name' => 'PHPSESSID',
// SESSION_ID的提交变量,解决flash上传跨域
'var_session_id' => '',
// 驱动方式 支持file cache
'type' => 'file',
// 存储连接标识 当type使用cache的时候有效
'store' => null,
// 过期时间
'expire' => 60 * 60 * 24 * 365,
// 前缀
'prefix' => '',
];
+191
View File
@@ -0,0 +1,191 @@
<?php
use think\swoole\websocket\socketio\Handler;
use think\swoole\websocket\socketio\Parser;
return [
'server' => [
'host' => env('SWOOLE_HOST', '0.0.0.0'), // 监听地址
'port' => env('SWOOLE_PORT', 8082), // 监听端口
'mode' => SWOOLE_PROCESS, // 运行模式 默认为SWOOLE_PROCESS
'sock_type' => SWOOLE_SOCK_TCP, // sock type 默认为SWOOLE_SOCK_TCP
'options' => [
'pid_file' => runtime_path() . 'swoole.pid',
'log_file' => runtime_path() . 'swoole.log',
'daemonize' => env('SWOOLE_DAEMONIZE', false), //是否开启后台运行
// Normally this value should be 1~4 times larger according to your cpu cores.
'reactor_num' => swoole_cpu_num(),
'worker_num' => swoole_cpu_num(),
'task_worker_num' => swoole_cpu_num(),
'enable_static_handler' => true,
'document_root' => root_path('public'),
'package_max_length' => 20 * 1024 * 1024,
'buffer_output_size' => 10 * 1024 * 1024,
'socket_buffer_size' => 128 * 1024 * 1024,
],
],
'websocket' => [
'enable' => true,
'handler' => Handler::class,
'parser' => Parser::class,
'ping_interval' => 1000,
'ping_timeout' => 1000,
'room' => [
'type' => 'redis',
'table' => [
'room_rows' => 40960,
'room_size' => 20480,
'client_rows' => 81920,
'client_size' => 20480,
],
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
'max_active' => 3,
'max_wait_time' => 5,
],
],
'listen' => [
/* 连接事件 */
'Connect' => '\app\listener\WsConnect',
/* 关闭事件 */
'Close' => '\app\listener\WsClose',
/* 获取当前状态事件,测试使用 */
'getState' => '\app\listener\GetState',
/* 操作事件 */
'startBet' => '\app\listener\space\StartBet',
'endBet' => '\app\listener\space\EndBet',
'startRob' => '\app\listener\space\StartRob',
'endRob' => '\app\listener\space\EndRob',
'changeBoot' => '\app\listener\space\ChangeBoot',
'resetBoot' => '\app\listener\space\ResetBoot',
'resetNumberTab' => '\app\listener\space\ResetNumberTab',
'resetBaccarat' => '\app\listener\space\ResetBaccarat',
'resetDt' => '\app\listener\space\ResetDt',
'openingDt' => '\app\listener\space\OpeningDt',
'openingBaccarat' => '\app\listener\space\OpeningBaccarat',
'openingNn' => '\app\listener\space\OpeningNn',
'openingTc' => '\app\listener\space\OpeningTc',
'openingToning' => '\app\listener\space\OpeningToning',
'openingDice' => '\app\listener\space\OpeningDice',
'openingRoulette' => '\app\listener\space\openingRoulette',
/* 扫描事件 */
'sendScanBaccarat' => '\app\listener\scan\Baccarat',
'sendScanDt' => '\app\listener\scan\Dt',
'sendScanNn' => '\app\listener\scan\Nn',
'sendScanTc' => '\app\listener\scan\Tc',
'checkScanStatus' => '\app\listener\scan\CheckScanStatus',
/* 修改事件 */
'sendScanChangeNnResult' => '\app\listener\scan\NnChange',
/* 会员事件 */
'toBet' => '\app\listener\user\ToBet',
'cancelBet' => '\app\listener\user\CancelBet',
'toRob' => '\app\listener\user\ToRob',
'toSeat' => '\app\listener\user\ToSeat',
'toLeaveSeat' => '\app\listener\user\ToLeaveSeat',
/* 在线客服事件 */
'chat.connect' => '\app\listener\chat\ChatConnect',
'chat.ping' => '\app\listener\chat\ChatPing',
'chat.message.send' => '\app\listener\chat\ChatMessageSend',
'chat.message.ack' => '\app\listener\chat\ChatMessageAck',
'chat.typing' => '\app\listener\chat\ChatTyping',
'chat.session.end' => '\app\listener\chat\ChatSessionEnd',
'chat.session.rate' => '\app\listener\chat\ChatSessionRate',
'chat.session.transfer' => '\app\listener\chat\ChatSessionTransfer',
'chat.agent.online' => '\app\listener\chat\ChatAgentOnline',
'chat.agent.offline' => '\app\listener\chat\ChatAgentOffline',
'chat.queue.list' => '\app\listener\chat\ChatQueueList',
],
'subscribe' => [],
],
'rpc' => [
'server' => [
'enable' => false,
'port' => 9000,
'services' => [
],
],
'client' => [
],
],
'hot_update' => [
'enable' => env('APP_DEBUG', false),
'name' => ['*.php'],
'include' => [app_path()],
'exclude' => [],
],
//连接池
'pool' => [
'db' => [
'enable' => true,
'max_active' => 30,
'max_wait_time' => 5,
],
'cache' => [
'enable' => true,
'max_active' => 30,
'max_wait_time' => 5,
],
//自定义连接池
],
'coroutine' => [
'enable' => true,
'flags' => SWOOLE_HOOK_ALL,
],
'tables' => [
'fd' => ['size' => 102400, 'columns' => [
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'user_id', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'table_id', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'scan_appid', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'api_appid', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'username', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'table_name', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
]],
'space' => ['size' => 102400, 'columns' => [
['name' => 'fd', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'table_name', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
]],
'scan' => ['size' => 102400, 'columns' => [
['name' => 'fd', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'appid', 'type' => \Swoole\Table::TYPE_INT],
]],
'user' => ['size' => 102400, 'columns' => [
['name' => 'fd', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'username', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'isToBet', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'toBetTime', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'isToRob', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'toRobTime', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'isToCancelBet', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'toCancelBetTime', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'isToSeat', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'toSeatTime', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'isToLeaveSeat', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'toLeaveSeatTime', 'type' => \Swoole\Table::TYPE_INT],
]],
'api' => ['size' => 102400, 'columns' => [
['name' => 'fd', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'appid', 'type' => \Swoole\Table::TYPE_INT],
]],
'manager' => ['size' => 102400, 'columns' => [
['name' => 'fd', 'type' => \Swoole\Table::TYPE_INT],
['name' => 'mode', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
['name' => 'username', 'type' => \Swoole\Table::TYPE_STRING, 'size' => 32],
]],
],
//每个worker里需要预加载以共用的实例
'concretes' => [],
//重置器
'resetters' => [],
//每次请求前需要清空的实例
'instances' => [],
//每次请求前需要重新执行的服务
'services' => [],
];
+10
View File
@@ -0,0 +1,10 @@
<?php
// +----------------------------------------------------------------------
// | Trace设置 开启调试模式后有效
// +----------------------------------------------------------------------
return [
// 内置Html和Console两种方式 支持扩展
'type' => 'Html',
// 读取的日志通道名
'channel' => '',
];
+25
View File
@@ -0,0 +1,25 @@
<?php
// +----------------------------------------------------------------------
// | 模板设置
// +----------------------------------------------------------------------
return [
// 模板引擎类型使用Think
'type' => 'Think',
// 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
'auto_rule' => 1,
// 模板目录名
'view_dir_name' => 'view',
// 模板后缀
'view_suffix' => 'html',
// 模板文件名分隔符
'view_depr' => DIRECTORY_SEPARATOR,
// 模板引擎普通标签开始标记
'tpl_begin' => '{',
// 模板引擎普通标签结束标记
'tpl_end' => '}',
// 标签库标签开始标记
'taglib_begin' => '{',
// 标签库标签结束标记
'taglib_end' => '}',
];