admin_realtime.php 1.3 KB

123456789101112131415161718192021222324252627282930
  1. <?php
  2. /*
  3. | 后台实时推送(订单 / 用户列表)。完整说明见 docs/admin-websocket.md。
  4. | 业务写入在事务提交后登记到 admin_realtime_events,推送网关(realtime/admin-gateway.js)
  5. | 轮询内部接口取出事件并推给已登录的后台管理员。
  6. */
  7. return [
  8. // 关闭时不登记任何事件,未执行迁移或未部署网关时保持关闭
  9. 'enabled' => (bool) env('ADMIN_WS_ENABLED', false),
  10. // 前端连接地址,随票据接口返回,例如 wss://admin.example.com/admin-ws
  11. 'public_url' => env('ADMIN_WS_PUBLIC_URL', ''),
  12. // 票据签名密钥(与网关共用),未配置时退回 JWT_SECRET
  13. 'ticket_secret' => env('ADMIN_WS_SECRET') ?: env('JWT_SECRET', ''),
  14. 'ticket_ttl' => (int) env('ADMIN_WS_TICKET_TTL', 60),
  15. // 网关调用内部拉取接口时携带的密钥(Header: X-Realtime-Secret),未配置时内部接口拒绝访问
  16. 'internal_secret' => env('ADMIN_WS_INTERNAL_SECRET', ''),
  17. // 单次拉取最多处理的事件数
  18. 'batch_size' => (int) env('ADMIN_WS_BATCH_SIZE', 200),
  19. // 在线状态扫描间隔(秒),由拉取接口顺带执行
  20. 'online_scan_seconds' => (int) env('ADMIN_WS_ONLINE_SCAN_SECONDS', 15),
  21. // 事件表保留时长(小时)
  22. 'retention_hours' => (int) env('ADMIN_WS_RETENTION_HOURS', 72),
  23. ];