更新基础组件

This commit is contained in:
技术老胡
2026-01-23 22:41:17 +08:00
parent 2205af9cd2
commit 28f1a2855c
9 changed files with 5994 additions and 9 deletions

31
config/cache.php Normal file
View File

@@ -0,0 +1,31 @@
<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return [
'default' => 'file',
'stores' => [
'file' => [
'driver' => 'file',
'path' => runtime_path('cache')
],
'redis' => [
'driver' => 'redis',
'connection' => 'default'
],
'array' => [
'driver' => 'array'
]
]
];

View File

@@ -12,4 +12,8 @@
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
return new Webman\Container;
$builder = new \DI\ContainerBuilder();
$builder->addDefinitions(config('dependence', []));
$builder->useAutowiring(true);
$builder->useAttributes(true);
return $builder->build();

88
config/database.php Normal file
View File

@@ -0,0 +1,88 @@
<?php
/**
* MPay V2 支付系统 - 数据库配置
* 基于webman标准配置格式支持MySQL 5.7+
*
* 配置说明:
* - 字符集utf8mb4支持完整的UTF-8字符集包括emoji
* - 排序规则utf8mb4_unicode_ciUnicode标准排序
* - 连接池支持连接池管理提高性能仅支持swoole/swow驱动
* - 读写分离:支持主从数据库配置
*/
return [
// 默认数据库连接
'default' => env('DB_CONNECTION', 'mysql'),
// 数据库连接配置
'connections' => [
// 主数据库配置
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '192.168.31.200'),
'port' => env('DB_PORT', 3306),
'database' => env('DB_DATABASE', 'mpay_v2'),
'username' => env('DB_USERNAME', 'mpay_v2'),
'password' => env('DB_PASSWORD', 'pXfNWELALrwAAt88'),
'unix_socket' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => env('DB_PREFIX', ''),
'strict' => true,
'engine' => 'InnoDB',
'pool' => [
'max_connections' => env('DB_POOL_MAX_CONNECTIONS', 20),
'min_connections' => env('DB_POOL_MIN_CONNECTIONS', 3),
'wait_timeout' => env('DB_POOL_WAIT_TIMEOUT', 3),
'idle_timeout' => env('DB_POOL_IDLE_TIMEOUT', 60),
'heartbeat_interval' => env('DB_POOL_HEARTBEAT_INTERVAL', 50),
],
],
// 读库配置(主从分离)
'mysql_read' => [
'driver' => 'mysql',
'host' => env('DB_READ_HOST', env('DB_HOST', '192.168.31.200')),
'port' => env('DB_READ_PORT', env('DB_PORT', 3306)),
'database' => env('DB_READ_DATABASE', env('DB_DATABASE', 'mpay_v2')),
'username' => env('DB_READ_USERNAME', env('DB_USERNAME', 'mpay_v2')),
'password' => env('DB_READ_PASSWORD', env('DB_PASSWORD', 'pXfNWELALrwAAt88')),
'unix_socket' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => env('DB_PREFIX', ''),
'strict' => true,
'engine' => 'InnoDB',
'pool' => [
'max_connections' => 15,
'min_connections' => 2,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
],
// 写库配置(主从分离)
'mysql_write' => [
'driver' => 'mysql',
'host' => env('DB_WRITE_HOST', env('DB_HOST', '192.168.31.200')),
'port' => env('DB_WRITE_PORT', env('DB_PORT', 3306)),
'database' => env('DB_WRITE_DATABASE', env('DB_DATABASE', 'mpay_v2')),
'username' => env('DB_WRITE_USERNAME', env('DB_USERNAME', 'mpay_v2')),
'password' => env('DB_WRITE_PASSWORD', env('DB_PASSWORD', 'pXfNWELALrwAAt88')),
'unix_socket' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => env('DB_PREFIX', ''),
'strict' => true,
'engine' => 'InnoDB',
'pool' => [
'max_connections' => 10,
'min_connections' => 2,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
],
],
];

5
config/event.php Normal file
View File

@@ -0,0 +1,5 @@
<?php
return [
];

97
config/redis.php Normal file
View File

@@ -0,0 +1,97 @@
<?php
/**
* MPay V2 支付系统 - Redis配置
* Redis 6.0+ 缓存和队列配置
*/
return [
// 默认Redis连接
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', ''),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DATABASE', 0),
'pool' => [
'max_connections' => env('REDIS_POOL_MAX_CONNECTIONS', 20),
'min_connections' => env('REDIS_POOL_MIN_CONNECTIONS', 5),
'wait_timeout' => env('REDIS_POOL_WAIT_TIMEOUT', 3),
'idle_timeout' => env('REDIS_POOL_IDLE_TIMEOUT', 60),
'heartbeat_interval' => env('REDIS_POOL_HEARTBEAT_INTERVAL', 50),
],
'options' => [
'prefix' => env('CACHE_PREFIX', 'mpay_v2_'),
],
],
// 缓存专用Redis连接
'cache' => [
'host' => env('REDIS_CACHE_HOST', env('REDIS_HOST', '127.0.0.1')),
'password' => env('REDIS_CACHE_PASSWORD', env('REDIS_PASSWORD', '')),
'port' => env('REDIS_CACHE_PORT', env('REDIS_PORT', 6379)),
'database' => env('REDIS_CACHE_DATABASE', 1),
'pool' => [
'max_connections' => 15,
'min_connections' => 3,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
'options' => [
'prefix' => env('CACHE_PREFIX', 'mpay_v2_cache_'),
],
],
// 队列专用Redis连接
'queue' => [
'host' => env('REDIS_QUEUE_HOST', env('REDIS_HOST', '127.0.0.1')),
'password' => env('REDIS_QUEUE_PASSWORD', env('REDIS_PASSWORD', '')),
'port' => env('REDIS_QUEUE_PORT', env('REDIS_PORT', 6379)),
'database' => env('REDIS_QUEUE_DATABASE', 2),
'pool' => [
'max_connections' => 10,
'min_connections' => 2,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
'options' => [
'prefix' => env('QUEUE_PREFIX', 'mpay_v2_queue_'),
],
],
// 会话存储Redis连接
'session' => [
'host' => env('REDIS_SESSION_HOST', env('REDIS_HOST', '127.0.0.1')),
'password' => env('REDIS_SESSION_PASSWORD', env('REDIS_PASSWORD', '')),
'port' => env('REDIS_SESSION_PORT', env('REDIS_PORT', 6379)),
'database' => env('REDIS_SESSION_DATABASE', 3),
'pool' => [
'max_connections' => 10,
'min_connections' => 2,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
'options' => [
'prefix' => 'mpay_v2_session_',
],
],
// JWT黑名单Redis连接
'jwt_blacklist' => [
'host' => env('REDIS_JWT_HOST', env('REDIS_HOST', '127.0.0.1')),
'password' => env('REDIS_JWT_PASSWORD', env('REDIS_PASSWORD', '')),
'port' => env('REDIS_JWT_PORT', env('REDIS_PORT', 6379)),
'database' => env('REDIS_JWT_DATABASE', 4),
'pool' => [
'max_connections' => 5,
'min_connections' => 1,
'wait_timeout' => 3,
'idle_timeout' => 60,
'heartbeat_interval' => 50,
],
'options' => [
'prefix' => 'mpay_v2_jwt_blacklist_',
],
],
];