config.php
2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
/**
* 配置文件
* 优先级: 环境变量 > 配置文件默认值
*/
return [
// 微信小程序配置
'wechat' => [
'app_id' => getenv('WECHAT_APP_ID') ?: '',
'app_secret' => getenv('WECHAT_APP_SECRET') ?: '',
],
// Session 配置
'session' => [
'ttl' => (int) (getenv('SESSION_TTL') ?: 7 * 24 * 3600), // 7 天
'single_login' => (bool) (getenv('SINGLE_LOGIN') ?: true), // 单点登录
],
// Redis 配置
'redis' => [
'host' => getenv('REDIS_HOST') ?: '127.0.0.1',
'port' => (int) (getenv('REDIS_PORT') ?: 6379),
'password' => getenv('REDIS_PASSWORD') ?: null,
'prefix' => getenv('REDIS_PREFIX') ?: 'ai_',
],
// 数据库配置
'database' => [
'host' => getenv('DB_HOST') ?: '127.0.0.1',
'port' => (int) (getenv('DB_PORT') ?: 3306),
'username' => getenv('DB_USER') ?: 'root',
'password' => getenv('DB_PASSWORD') ?: '',
'database' => getenv('DB_NAME') ?: 'ai',
],
// TOS (火山引擎对象存储) 配置
'tos' => [
'ak' => getenv('TOS_AK') ?: '',
'sk' => getenv('TOS_SK') ?: '',
'endpoint' => getenv('TOS_ENDPOINT') ?: '',
'region' => getenv('TOS_REGION') ?: '',
'bucket' => getenv('TOS_BUCKET') ?: '',
],
// 服务器配置
'server' => [
'websocket_host' => getenv('WS_HOST') ?: '0.0.0.0',
'websocket_port' => (int) (getenv('WS_PORT') ?: 8888),
'http_host' => getenv('HTTP_HOST') ?: '0.0.0.0',
'http_port' => (int) (getenv('HTTP_PORT') ?: 8887),
'worker_count' => (int) (getenv('WORKER_COUNT') ?: 1),
],
// 文件上传配置
'upload' => [
'max_size' => (int) (getenv('UPLOAD_MAX_SIZE') ?: 50 * 1024 * 1024), // 50MB
'allowed_extensions' => getenv('UPLOAD_ALLOWED_EXTENSIONS') ? explode(',', getenv('UPLOAD_ALLOWED_EXTENSIONS')) : ['jpg', 'jpeg', 'png', 'gif', 'webp', 'mp4', 'pdf', 'xls', 'xlsx'],
'default_user' => getenv('UPLOAD_DEFAULT_USER') ?: 'guest', // TODO: 等待后续对接用户手机号功能
],
// 心跳配置
'heartbeat' => [
'interval' => (int) (getenv('HEARTBEAT_INTERVAL') ?: 30),
'check_interval' => (int) (getenv('HEARTBEAT_CHECK_INTERVAL') ?: 10),
],
];