Files
Scoreboard/console/package.json
T
AskaEth 8a27f5a4fb fix(admin): 修复基础数据「运动员」页整块空白(TDZ 崩溃)
AthletesSection 里 filteredIds 在第 73 行引用了第 272 行才声明的 filtered,
而第 84 行的 watch(filteredIds, ...) 在注册时会同步求值一次源(Vue 行为),
setup 阶段就访问到 TDZ 中的 filtered → ReferenceError:
Cannot access 'filtered' before initialization → 整个分区渲染失败,
页面只剩标签栏、下面全白。自 631c8dd(上一轮)起 dev_0.1.6/0.1.7/0.1.8 均带此缺陷。

修法:把 filtered 的定义上移到 filteredIds 之前(只依赖三个筛选 ref,上移安全),
并加注释说明为什么不能挪回去。

验证:真 Chromium(Playwright)逐个打开 14 个管理端路由 + 7 个基础数据标签,
console 错误与 pageerror 均为 0;「运动员」标签正常渲染出表格与空态。
版本 dev_0.1.8 → dev_0.1.9(热修,P2 批次另行发布)。
2026-09-11 22:51:11 +08:00

86 lines
2.0 KiB
JSON

{
"name": "scoreboard-console",
"productName": "Scoreboard Console",
"version": "0.1.9",
"private": true,
"author": "AskaEth",
"description": "赛事积分榜 · 桌面宿主:守护 Go 服务端并把大屏投到扩展屏",
"main": "main/index.js",
"scripts": {
"start": "electron .",
"check": "node scripts/check-syntax.js",
"dist": "electron-builder --win --x64",
"pack": "electron-builder --dir"
},
"devDependencies": {
"electron": "^38.0.0",
"electron-builder": "^26.0.12"
},
"build": {
"appId": "top.yeij.scoreboard.console",
"productName": "Scoreboard Console",
"directories": {
"output": "../dist/console",
"buildResources": "resources"
},
"files": [
"main/**/*",
"renderer/**/*",
"config.json",
"package.json"
],
"extraFiles": [
{
"from": "../dist/scoreboard.exe",
"to": "scoreboard.exe",
"filter": ["**/*"]
},
{
"from": "../config.yaml",
"to": "config.yaml"
},
{
"from": "config.json",
"to": "config.json"
},
{
"from": "scoreboard.png",
"to": "scoreboard.png"
},
{
"from": "../rules",
"to": "rules"
},
{
"from": "extra",
"to": ".",
"filter": ["**/*", "!.gitkeep"]
}
],
"win": {
"executableName": "Scoreboard_Console",
"icon": "resources/icon.ico",
"target": [
{
"target": "nsis",
"arch": ["x64"]
},
{
"target": "zip",
"arch": ["x64"]
}
],
"artifactName": "${productName}-${version}-${arch}.${ext}"
},
"nsis": {
"oneClick": false,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"shortcutName": "赛事积分榜",
"license": "../LICENSE",
"include": "resources/installer-custom.nsh",
"language": "2052"
}
}
}