统一身份与权限
JWT 认证 + 角色权限 + 数据范围三层校验,谁在哪个门店能看什么、能改什么,全部可配、可审计。
云端 · 现场 · 客户机 三层集中管控
CQNT 面向网吧、网咖与云机房:云端统一认证与配置下发,现场服务端断网可用, 客户机双进程托管,管理员在浏览器里就能接管任意一台机器。
核心能力
不是一堆零散工具的拼装,而是一套贯通「云端控制面 → 现场边缘服务 → 客户机双进程 → 远控组件」的完整链路。 每一层各司其职,任何一层断掉,业务都能继续跑。
JWT 认证 + 角色权限 + 数据范围三层校验,谁在哪个门店能看什么、能改什么,全部可配、可审计。
门店、云机房、服务器角色统一建档。服务器只认角色模板,改角色即改这台机器启用了哪些能力。
以「网吧 ID + 计算机名 + 客户机 IP」作为唯一身份,硬件信息全量归档,换盘、改机名、MAC 变动都不会错认。
CPU、内存、磁盘、网络按周期采集,阈值触发告警并进入诊断,问题在用户投诉之前就被看见。
应用库集中维护版本,启动方案编排应用组合,快捷方式、壁纸、桌面图标随方案一起下发到桌面。
装机时只填一个施工码:验证、注册、生成服务器身份、下载主服务与更新服务,全部自动完成。
服务端启动即拉取全量配置与角色模块开关,之后自动刷新。云端改一次,现场全量对齐。
从云端下载应用包,MD5 校验通过后解压到调用盘并生成元数据库,客户机读到的永远是完整可用的配置。
主服务与更新服务互为看门狗:一方升级另一方守候,失败自动回滚,现场几乎不需要人上门。
后台服务负责身份、心跳、硬件与命令,前台主程序负责桌面与用户可见应用,两者通过命名管道 IPC 协同。
为无盘客户机设计:每次开机从调用盘加载组件到内存运行,重启即还原,不依赖任何本机持久化状态。
RustDesk 与浏览器 WebClient 双通道,管理员不必装客户端,打开网页就能接管任意一台客户机。
本地 SQLite 缓存命令、配置与待上报数据。网络抖动或云端不可达时,现场业务照常运行,恢复后自动补齐。
平台架构
管理端只面对云端,云端只面对现场服务端,现场服务端只面对客户机。 职责边界清晰,任何一层出问题都不会把故障放大到整个体系。
Vue 3 + Vite + Element Plus
Go + Gin + GORM + MySQL 8
Go Windows Service + SQLite
C++20 · 双进程 + 引导服务
工作流程
装机、注册、分发、运行、上报、接管 —— 现场只需要第一次填对施工码,剩下的交给平台。
安装器提交施工码与服务器名称,云端校验通过后立即创建服务器记录,返回专属 server_id 与 API Key。
服务端启动后向云端确认自己的角色模板,拿到模块开关,决定这台机器要跑哪些内置能力。
按门店或云机房清单下载应用包,MD5 校验、解压到调用目录,并生成客户机读取用的元数据库。
引导服务校验组件清单并守护客户端服务,后台服务识别身份,前台主程序按方案铺好桌面。
心跳、硬件、命令结果、性能指标持续回传,云端形成实时在线图景,异常自动进入告警。
管理员在 Web 端选中任意客户机发起远控,经权限校验后直接在浏览器内操作,全过程留档。
技术底座
Go 写控制面与边缘服务,C++20 写客户机,Vue 3 写管理端。 选型不追新,只求在网吧这种「一次装机、长期无人值守」的场景里足够稳。
适用场景
同一套平台,既管得住街角那家 30 台机器的小店,也撑得起跨城市、跨机房的规模化运维。
多门店统一应用库与启动方案,新店装机只填施工码,开业当天的桌面环境和老店完全一致。
没有专职运维也不怕:断网可用、自动更新、远程接管,老板一个人就能把机器管明白。
按服务器角色拆分能力,文件、通信、监控各司其职,云机房里的机器同样纳入统一在线视图。
桌面方案与壁纸按主题切换,应用组合随赛事调整,临时加机也不用重装系统。
无盘客户机场景下重启即还原,配合远程接管与操作审计,把公用机的维护成本压到最低。
不跑现场也能处理问题:浏览器内远控、命令下发、配置热更,一次响应覆盖全部门店。