fix(admin): 改密后管理面板永久「连接中断」+ 顶部版本号多一个 v
- /ws 身份在握手时确定,而 startRealtime() 全生命周期只建一次连接;改密会作废 服务端全部会话,服务端以 1008 关闭该连接,前端对 1008 是永久停止重连 (给真鉴权失败设计的)→ 重新登录后无人重启连接,界面一直显示「连接中断」, 只有重开窗口才会用新会话重新握手。 修:新增 restartRealtime(),登录成功与退出登录时各重启一次(同时修掉 「访客浏览后登录,旧连接仍是 guest 身份」的问题);1008 语义保持不变。 - AdminLayout 顶部版本号模板写死 v 前缀,而 serverHealth 已是完整版本串 (dev_0.1.0)→ 显示成 vdev_0.1.0。 新增 web/src/admin/tests/event-realtime.test.ts 锁该行为(临时置空 restartRealtime 会失败);为让 node --test 能加载真实 store,测试解析钩子补 @/ 别名。
This commit is contained in:
1 parent
27bddefaad
commit
a5941be9c4
5 files changed
+125
-3
No files matched your search
@@ -100,6 +100,8 @@ async function refresh(): Promise<void> {
|
||||
|
||||
async function logout(): Promise<void> {
|
||||
await auth.logout()
|
||||
// 会话已失效,旧连接仍是原身份,重连回落到访客态
|
||||
data.restartRealtime()
|
||||
toast.info('已退出登录,当前为只读访客视图')
|
||||
void router.push({ name: 'dashboard' })
|
||||
}
|
||||
@@ -165,7 +167,7 @@ onMounted(async () => {
|
||||
<span class="mx-badge" :class="`mx-badge-${connection.tone}`" :title="connection.hint">
|
||||
{{ connection.text }}
|
||||
</span>
|
||||
<span v-if="data.serverHealth" class="version mono">v{{ data.serverHealth }}</span>
|
||||
<span v-if="data.serverHealth" class="version mono">{{ data.serverHealth }}</span>
|
||||
<button
|
||||
class="mx-btn mx-btn-ghost mx-btn-icon"
|
||||
type="button"
|
||||
|
||||
Reference in new issue
Block a user