feat(cafegame): 自 go-hua 迁入网咖游戏识别与运行记录框架

- 游戏来源常量/按目录特征识别(云更新/网维大师/易乐游)/RunAppRecord 上报框架
- 网吧业务专用包, 附测试、examples/cafegame 例程与包 README
This commit is contained in:
2026-09-20 12:37:10 +08:00
parent a6ba78c92c
commit 63d0a0caf8
10 changed files with 1843 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# cafegame
网咖游戏业务包:游戏来源常量(云更新/网维大师/易乐游)、按目录特征识别游戏
(ID/名称/来源)、前台进程监控与运行记录上报回调框架。
> 迁移自 go-hua/cafegame,代码保持原样。**网吧业务专用包**(目录特征与各游戏
> 平台的落盘规则强耦合)。
## 用法
```go
import "git.zeroonesoft.cn/golib/zogo/cafegame"
// 游戏来源常量
cafegame.SourceYGX // 1 云更新
cafegame.SourceWWDS // 2 网维大师
cafegame.SourceYLY // 3 易乐游
cafegame.SourceToName(cafegame.SourceYGX)
// 按目录特征识别游戏(各平台一个判定函数)
ok, info, err := cafegame.IsGameDirByYGX(`D:\40001示例游戏`)
// info: AppData{AppId, AppName, AppSource, AppGuid...}
// 运行记录上报框架:启动后台监控,游戏开始/停止触发 recordCallback,
// 周期性触发 countCallback(在线游戏数+前台进程),事件触发 eventCallback
cafegame.RunAppRecord(recordCallback, countCallback, eventCallback,
[]int{cafegame.SourceYGX}, 60 /* 上报间隔秒 */)
```
完整可运行例程:[examples/cafegame/main.go](../examples/cafegame/main.go)
## 注意
- 目录识别规则与对应游戏平台版本耦合,平台更新落盘规则后需同步维护本包。
- `RunAppRecord` 内部启动 goroutine,服务进程常驻场景使用;回调里不要阻塞。