WinCode
Gateway

设备配对流程

通过二维码与配对码把两台设备绑定为一个 Binding。

设备配对流程

WinCode 的设备配对采用"桌面端出码 + 移动端扫码"的模式,整个过程不超过一分钟。配对成功后,两台设备就形成了一个持久的绑定关系,后续不再需要重新配对。

设备配对对话框

PairButton

PairButton 是触发配对的入口按钮,位于 WinCode 桌面端的侧边栏。它的行为根据是否已绑定而切换:

  • 未绑定时:按钮显示手机图标,点击打开 PairDialog。如果 Gateway 尚未连接,按钮会处于禁用状态并提示"Gateway 未连接"。
  • 已绑定时:按钮显示为"已绑定"文字与一个解绑图标,点击直接调用 gatewayUnbind(binding.bindingId) 解除绑定。

PairDialog

PairDialog 是配对的核心对话框,状态机分为五个阶段:

阶段含义
loading正在向后端请求配对 Token
qrcode显示二维码,倒计时过期时间
expired二维码已过期,显示"重新获取"按钮
error请求失败,显示错误信息与"重试"按钮
success绑定成功,显示绿色勾勾

配对流程的具体步骤:

  1. 对话框挂载后调用 gatewayPairToken(),后端返回一个 PairTokenResponse,包含临时 tokenexpiresIn(秒数)和 pairUrl
  2. 前端把 pairUrl 交给 gatewayQrcode,后端使用 QR 编码库渲染为 PNG,返回 Base64 字符串。
  3. 对话框用 <img src={data:image/png;base64,...}> 渲染二维码,并启动一个每秒递减的倒计时。
  4. 用户使用 WinCode 移动端扫描该二维码。移动端把扫码结果发给云端中转服务器,云端校验后把两台设备写入同一个 Binding
  5. 桌面端监听到 gateway-binding 事件后,gatewayStore 自动更新 binding 字段,对话框检测到绑定成功,切换到 success 状态并在两秒后自动关闭。

配对码过期

配对码默认有效期由后端指定(一般为几分钟)。倒计时归零后,对话框自动切换到 expired 状态。用户点击"重新获取",会重新走一遍 gatewayPairTokengatewayQrcode 的流程。

解除绑定

PairButton 在已绑定状态下提供了一个"解除绑定"操作。它调用 gatewayUnbind(bindingId),后端会通知云端中转服务器删除这条 Binding 记录,并推送 gateway-binding 事件,前端状态随之清空。

相关文档

On this page