diff --git a/README.md b/README.md index c362b6f..15e1b2b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Overview 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 1. Install dependencies: `npm install` diff --git a/project.md b/project.md index a6dd060..c9f398b 100644 --- a/project.md +++ b/project.md @@ -13,14 +13,14 @@ nodejs 24.10.0 pm2 部署 升级接口: -https://www.boonlive-rcu.com/api/WebChatUpgrade +https://www.boonlive-rcu.com/api/Upgrade_V2 Post方法,form表单 参数: roomtype_id=2 释义:房型编号(目前固定值,需要通过env配置文件修改) host_list_str=[1,2,3] 释义:主机 编号ID (目前固定值,需要通过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 @@ -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) -2,roomtype_id (升级的房型编号) -3,host_str (升级的主机编号ID列表) -4,fileName (升级的文件名) @@ -58,7 +58,7 @@ HostIDList=[1,2,3] 释义:主机 编号ID (目前固定值,需要通过env -9,固件版本号 -10,其他你认为必要的字段 而且,不是每次调用这个查询接口都写库,只记录5分钟内最后一次返回值的Upgrade_status字段到status里;如果所有对象的Upgrade_status都为升级完成或超时失败,则直接结束,不需要等待5分钟。 -例如:调用接口:参数:roomtype_id=2,host_list_str=[1,2,3]。写库3行,分别host_str是1,2,3。然后调用接口QueryUpdateHostProgressBar:参数:roomtype_id=2,HostIDList=[1,2,3]。返回值里,Response里的Upgrade_status字段为升级完成的那次调用里的信息,记录到数据库,(逐个记录,例如1为升级成功,其余两个无记录,则先记录1,等2升级成功,再记录2,以此类推)。这里需要用uuid来确保是同一次调用。每次调用WebChatUpgrade,都应该创建新的数据库行数据。 +例如:调用接口:参数:roomtype_id=2,host_list_str=[1,2,3]。写库3行,分别host_str是1,2,3。然后调用接口QueryUpdateHostProgressBar:参数:roomtype_id=2,HostIDList=[1,2,3]。返回值里,Response里的Upgrade_status字段为升级完成的那次调用里的信息,记录到数据库,(逐个记录,例如1为升级成功,其余两个无记录,则先记录1,等2升级成功,再记录2,以此类推)。这里需要用uuid来确保是同一次调用。每次调用Upgrade_V2,都应该创建新的数据库行数据。 另外 需要把 https://www.boonlive-rcu.com/api 作为一个常量,放在env配置文件中。 diff --git a/spec/rcu-upgrade-flow.yaml b/spec/rcu-upgrade-flow.yaml index f821445..160f104 100644 --- a/spec/rcu-upgrade-flow.yaml +++ b/spec/rcu-upgrade-flow.yaml @@ -5,7 +5,7 @@ info: description: Specification for RCU Upgrade Service API interactions and data models. paths: - /api/WebChatUpgrade: + /api/Upgrade_V2: post: summary: Trigger Upgrade operationId: triggerUpgrade @@ -63,7 +63,7 @@ components: properties: IsSuccess: type: boolean - Data: + Message: type: string required: - IsSuccess diff --git a/src/apiClient.js b/src/apiClient.js index b4226d0..68768c3 100644 --- a/src/apiClient.js +++ b/src/apiClient.js @@ -16,16 +16,16 @@ const triggerUpgrade = async (roomtype_id, host_list, fileName) => { params.append('host_list_str', JSON.stringify(host_list)); params.append('fileName', fileName); - console.log('[WebChatUpgrade] Request', { + console.log('[Upgrade_V2] Request', { roomtype_id, host_list_str: host_list, fileName }); - const response = await apiClient.post('/WebChatUpgrade', params); - console.log('[WebChatUpgrade] Response', response.data); + const response = await apiClient.post('/Upgrade_V2', params); + console.log('[Upgrade_V2] Response', response.data); return response.data; } catch (error) { - console.error('Error calling WebChatUpgrade:', error.message); + console.error('Error calling Upgrade_V2:', error.message); throw error; } }; diff --git a/src/upgradeController.js b/src/upgradeController.js index bf467e6..7e0a5f9 100644 --- a/src/upgradeController.js +++ b/src/upgradeController.js @@ -33,7 +33,7 @@ const processGroup = async (group, groupIdx) => { try { const upgradeRes = await apiClient.triggerUpgrade(roomtype_id, hostList, fileName); if (!upgradeRes.IsSuccess) { - console.error(`[${stateKey}] Upgrade trigger failed: ${upgradeRes.Data}`); + console.error(`[${stateKey}] Upgrade trigger failed: ${upgradeRes.Message}`); return; } } catch (e) {