feat: 添加在线设备统计功能并优化订阅相关逻辑

- 在DeviceManager中添加GetOnlineDeviceCount方法用于获取在线设备数
- 在统计接口中增加在线设备数返回
- 优化订阅查询逻辑,增加服务组关联节点数量计算
- 添加AnyTLS协议支持及相关URI生成功能
- 重构邀请佣金计算逻辑,支持首购/年付/非首购不同比例
- 修复用户基本信息更新中IsAdmin和Enable字段类型不匹配问题
- 更新数据库迁移脚本和配置文件中邀请相关配置项
This commit is contained in:
2025-08-12 07:46:45 -07:00
parent c8de30f78c
commit a52c7142ee
16 changed files with 224 additions and 27 deletions
+5
View File
@@ -340,6 +340,11 @@ func (dm *DeviceManager) Broadcast(message string) {
}
// GetOnlineDeviceCount returns the total number of online devices
func (dm *DeviceManager) GetOnlineDeviceCount() int64 {
return int64(atomic.LoadInt32(&dm.totalOnline))
}
// Gracefully shut down all WebSocket connections
func (dm *DeviceManager) Shutdown(ctx context.Context) {
<-ctx.Done()