refactor(api): 将WebChatUpgrade接口更新为Upgrade_V2并调整相关字段

更新API端点从WebChatUpgrade改为Upgrade_V2,同时将响应字段Data更名为Message
修改涉及README文档、API规范、控制器和客户端代码,保持接口变更的一致性
This commit is contained in:
2026-01-21 17:02:20 +08:00
parent d04205ddba
commit 99279006a2
5 changed files with 12 additions and 12 deletions

View File

@@ -2,7 +2,7 @@
## Overview ## Overview
Node.js backend service to manage RCU firmware upgrades. Node.js backend service to manage RCU firmware upgrades.
Triggers upgrades via `WebChatUpgrade` API and polls status via `QueryUpdateHostProgressBar`. Triggers upgrades via `Upgrade_V2` API and polls status via `QueryUpdateHostProgressBar`.
## Setup ## Setup
1. Install dependencies: `npm install` 1. Install dependencies: `npm install`

View File

@@ -13,14 +13,14 @@ nodejs 24.10.0
pm2 部署 pm2 部署
升级接口: 升级接口:
https://www.boonlive-rcu.com/api/WebChatUpgrade https://www.boonlive-rcu.com/api/Upgrade_V2
Post方法form表单 Post方法form表单
参数: 参数:
roomtype_id=2 释义房型编号目前固定值需要通过env配置文件修改 roomtype_id=2 释义房型编号目前固定值需要通过env配置文件修改
host_list_str=[1,2,3] 释义:主机 编号ID 目前固定值需要通过env配置文件修改 host_list_str=[1,2,3] 释义:主机 编号ID 目前固定值需要通过env配置文件修改
fileName=1.bin 释义:固件的名字 目前固定值需要通过env配置文件修改 fileName=1.bin 释义:固件的名字 目前固定值需要通过env配置文件修改
返回值: 返回值:
{"IsSuccess":true,"Data":"升级中"} IsSuccess释义是否成功成功返回true失败返回false Data 释义:返回信息 {"IsSuccess":true,"Message":"升级中"} IsSuccess释义是否成功成功返回true失败返回false Message 释义:返回信息
查询升级完成接口: 查询升级完成接口:
https://www.boonlive-rcu.com/api/QueryUpdateHostProgressBar https://www.boonlive-rcu.com/api/QueryUpdateHostProgressBar
@@ -47,7 +47,7 @@ HostIDList=[1,2,3] 释义:主机 编号ID 目前固定值需要通过env
} }
上述内容里,需要记入数据库的字段有: 上述内容里,需要记入数据库的字段有:
-1开始升级时间初次调用WebChatUpgrade接口时间格式yyyy-MM-dd HH:mm:ss -1开始升级时间初次调用Upgrade_V2接口时间格式yyyy-MM-dd HH:mm:ss
-2roomtype_id (升级的房型编号) -2roomtype_id (升级的房型编号)
-3host_str 升级的主机编号ID列表 -3host_str 升级的主机编号ID列表
-4fileName (升级的文件名) -4fileName (升级的文件名)
@@ -58,7 +58,7 @@ HostIDList=[1,2,3] 释义:主机 编号ID 目前固定值需要通过env
-9固件版本号 -9固件版本号
-10其他你认为必要的字段 -10其他你认为必要的字段
而且不是每次调用这个查询接口都写库只记录5分钟内最后一次返回值的Upgrade_status字段到status里如果所有对象的Upgrade_status都为升级完成或超时失败则直接结束不需要等待5分钟。 而且不是每次调用这个查询接口都写库只记录5分钟内最后一次返回值的Upgrade_status字段到status里如果所有对象的Upgrade_status都为升级完成或超时失败则直接结束不需要等待5分钟。
例如调用接口参数roomtype_id=2host_list_str=[1,2,3]。写库3行分别host_str是123。然后调用接口QueryUpdateHostProgressBar参数roomtype_id=2HostIDList=[1,2,3]。返回值里Response里的Upgrade_status字段为升级完成的那次调用里的信息记录到数据库逐个记录例如1为升级成功其余两个无记录则先记录1等2升级成功再记录2以此类推。这里需要用uuid来确保是同一次调用。每次调用WebChatUpgrade都应该创建新的数据库行数据。 例如调用接口参数roomtype_id=2host_list_str=[1,2,3]。写库3行分别host_str是123。然后调用接口QueryUpdateHostProgressBar参数roomtype_id=2HostIDList=[1,2,3]。返回值里Response里的Upgrade_status字段为升级完成的那次调用里的信息记录到数据库逐个记录例如1为升级成功其余两个无记录则先记录1等2升级成功再记录2以此类推。这里需要用uuid来确保是同一次调用。每次调用Upgrade_V2,都应该创建新的数据库行数据。
另外 另外
需要把 https://www.boonlive-rcu.com/api 作为一个常量放在env配置文件中。 需要把 https://www.boonlive-rcu.com/api 作为一个常量放在env配置文件中。

View File

@@ -5,7 +5,7 @@ info:
description: Specification for RCU Upgrade Service API interactions and data models. description: Specification for RCU Upgrade Service API interactions and data models.
paths: paths:
/api/WebChatUpgrade: /api/Upgrade_V2:
post: post:
summary: Trigger Upgrade summary: Trigger Upgrade
operationId: triggerUpgrade operationId: triggerUpgrade
@@ -63,7 +63,7 @@ components:
properties: properties:
IsSuccess: IsSuccess:
type: boolean type: boolean
Data: Message:
type: string type: string
required: required:
- IsSuccess - IsSuccess

View File

@@ -16,16 +16,16 @@ const triggerUpgrade = async (roomtype_id, host_list, fileName) => {
params.append('host_list_str', JSON.stringify(host_list)); params.append('host_list_str', JSON.stringify(host_list));
params.append('fileName', fileName); params.append('fileName', fileName);
console.log('[WebChatUpgrade] Request', { console.log('[Upgrade_V2] Request', {
roomtype_id, roomtype_id,
host_list_str: host_list, host_list_str: host_list,
fileName fileName
}); });
const response = await apiClient.post('/WebChatUpgrade', params); const response = await apiClient.post('/Upgrade_V2', params);
console.log('[WebChatUpgrade] Response', response.data); console.log('[Upgrade_V2] Response', response.data);
return response.data; return response.data;
} catch (error) { } catch (error) {
console.error('Error calling WebChatUpgrade:', error.message); console.error('Error calling Upgrade_V2:', error.message);
throw error; throw error;
} }
}; };

View File

@@ -33,7 +33,7 @@ const processGroup = async (group, groupIdx) => {
try { try {
const upgradeRes = await apiClient.triggerUpgrade(roomtype_id, hostList, fileName); const upgradeRes = await apiClient.triggerUpgrade(roomtype_id, hostList, fileName);
if (!upgradeRes.IsSuccess) { if (!upgradeRes.IsSuccess) {
console.error(`[${stateKey}] Upgrade trigger failed: ${upgradeRes.Data}`); console.error(`[${stateKey}] Upgrade trigger failed: ${upgradeRes.Message}`);
return; return;
} }
} catch (e) { } catch (e) {