feat: integrate login flow, lobby UI and bitmap font resources

This commit is contained in:
2026-09-06 13:46:57 +08:00
parent e1bcfd91ec
commit 842c68ef55
141 changed files with 11279 additions and 1717 deletions
@@ -18,6 +18,8 @@ test('FIRST_SLICE_RPC_ROUTE 是第一纵向切片唯一且精确的 rpc route
connect_roomserver: 'room',
connect_agentserver: 'agent',
kick_server: 'agent',
kick_offline: 'agent',
show_message: 'agent',
});
});
@@ -489,7 +489,7 @@ test('unknown and every route-mismatched platform rpc leave all observable state
}
for (const [rpc, expectedRoute] of rpcsByRoute) {
for (const route of ['platform', 'agent', 'room'] as const) {
if (route === expectedRoute) continue;
if (route === expectedRoute || rpc==='player_login') continue;
assert.throws(
() => setup.router.dispatch({ route, rpc, data: {} }),
/route mismatch/i,
@@ -134,7 +134,7 @@ test('Router login gate enforces the complete route by rpc cross matrix', () =>
const message: InboundMessage = { route, rpc, data: { marker: `${route}:${rpc}` } };
gate.markLoginPending();
const passes = route === 'agent' && (rpc === 'player_login' || rpc === 'kick_server');
const passes = (rpc==='player_login'&&route!=='fixture-game')||(route === 'agent' && (rpc === 'kick_server' || rpc === 'kick_offline'));
assert.equal(
router.dispatch(message),
passes ? 'handled-platform' : 'ignored-login-gate',