fix(api): 修复固件版本显示格式错误

- 修改 formatFirmwareVersionDisplay 函数,支持版本号 >= 2010 的新格式显示
- 对于版本号小于 2010,保持原有 X.Y.0.Z 格式显示
- 对于版本号大于等于 2010,第三段显示两位数尾数,第四段固定为 0
- 更新 changelog,修复系统页面固件版本显示错误问题
This commit is contained in:
eafonyang
2026-09-01 18:42:23 +08:00
parent fcc9837d84
commit b65b653a74
2 changed files with 14 additions and 1 deletions
+5
View File
@@ -2,6 +2,11 @@
> This document records feature updates and bug fixes for the Luxsin X9 controller. Entries are listed in reverse chronological order — the newest release appears first. > This document records feature updates and bug fixes for the Luxsin X9 controller. Entries are listed in reverse chronological order — the newest release appears first.
## v2026.09.01
### Bug Fixes
- Fixed the incorrect firmware version display on the System page.
## v2026.08.17 ## v2026.08.17
### Changes ### Changes
+9 -1
View File
@@ -477,7 +477,11 @@ export function parseFirmwareVersion(version: unknown): number {
return Number(parts[parts.length - 1]); return Number(parts[parts.length - 1]);
} }
/** Display firmware version as X.Y.0.Z (e.g. 2005 → 2.0.0.5). */ /**
* Display firmware version.
* n < 2010: X.Y.0.Z (e.g. 2005 → 2.0.0.5).
* n >= 2010: third segment carries the two-digit tail (e.g. 2010 → 2.0.10.0, 2011 → 2.0.11.0).
*/
export function formatFirmwareVersionDisplay(version: unknown): string { export function formatFirmwareVersionDisplay(version: unknown): string {
if (version === null || version === undefined || String(version).trim() === "") { if (version === null || version === undefined || String(version).trim() === "") {
return "—"; return "—";
@@ -485,6 +489,10 @@ export function formatFirmwareVersionDisplay(version: unknown): string {
const n = parseFirmwareVersion(version); const n = parseFirmwareVersion(version);
const major = Math.floor(n / 1000); const major = Math.floor(n / 1000);
const minor = Math.floor((n % 1000) / 100); const minor = Math.floor((n % 1000) / 100);
if (n >= 2010) {
// Since 2.0.10.0 the third segment counts up (09 → 10), fourth segment stays 0.
return `${major}.${minor}.${n % 100}.0`;
}
const patch = 0; const patch = 0;
const build = n % 10; const build = n % 10;
return `${major}.${minor}.${patch}.${build}`; return `${major}.${minor}.${patch}.${build}`;