Files
youle_cocos/cocoscreator_projects/framework-tests/config/sources/query-string.test.ts
T
joywayerandClaude Opus 4.8 ad661707ec fix(framework): player_login.version 改为数字 versionCode(联调登录成功)
真机联调发现:协议 version 字段=数字 versionCode(源码 8 处 data.version=GameData.versionCode),
框架原发字符串 '1.1' 被服务器版本校验拒绝(kick_server 检查到新版本)。改为数字后登录成功
(state:0 playerid:430511)。
- ChannelIdentity/LoginRequestData.version: string→number,去掉冗余 versionCode 与未发送的 '1.1' 串
- query-string version 解析为数字;测试 fixture 同步

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 20:33:53 +08:00

22 lines
813 B
TypeScript

import { test } from 'node:test';
import assert from 'node:assert/strict';
import { queryStringSource } from '../../../YouleNexus/assets/framework/config/sources/query-string.ts';
test('解析 agentid/channelid/marketid/version', () => {
const src = queryStringSource('?agentid=A1&channelid=C1&marketid=2&version=10001');
assert.deepEqual(src(), { agentid: 'A1', channelid: 'C1', marketid: '2', version: 10001 }); // version 解析为数字
});
test('缺省键不出现在结果里', () => {
const src = queryStringSource('?agentid=A1');
assert.deepEqual(src(), { agentid: 'A1' });
});
test('空 query → 空对象', () => {
assert.deepEqual(queryStringSource('')(), {});
});
test('不含前导 ? 也能解析', () => {
assert.deepEqual(queryStringSource('agentid=A1')(), { agentid: 'A1' });
});