update:新增ota

This commit is contained in:
2026-09-21 14:56:43 +08:00
parent b060d8f987
commit 4bd7599cc0
11 changed files with 652 additions and 410 deletions
+26 -13
View File
@@ -28,7 +28,8 @@ try {
const ADDONS_BASE_URL = BASE_URL.replace(/\/api\/shoot$/, "/api/shoot");
const API_ROOT_URL = BASE_URL.replace(/\/api\/shoot$/, "");
// 统一处理业务接口请求,包含登录态、业务错误和特定接口空响应兼容。
function request(method, url, data = {}, baseUrl = BASE_URL, successCodes = [0]) {
function request(method, url, data = {}, baseUrl = BASE_URL, successCodes = [0], options = {}) {
const {timeout = 10000, showErrorToast = true} = options;
const token = uni.getStorageSync(
`${uni.getAccountInfoSync().miniProgram.envVersion}_token`
);
@@ -40,8 +41,16 @@ function request(method, url, data = {}, baseUrl = BASE_URL, successCodes = [0])
method,
header,
data,
timeout: 10000,
timeout,
success: (res) => {
if (
url === "/user/hardwareBox/connectWifi" &&
res.statusCode === 200 &&
typeof res.data?.success === "boolean"
) {
resolve(res.data);
return;
}
const acceptsEmptyResponse = [
"/user/hardwareBox/connectWifi",
"/user/device/unbindByQrcodeId",
@@ -111,10 +120,12 @@ function request(method, url, data = {}, baseUrl = BASE_URL, successCodes = [0])
icon: "none",
});
}
uni.showToast({
title: message,
icon: "none",
});
if (showErrorToast) {
uni.showToast({
title: message,
icon: "none",
});
}
reject(error);
return;
}
@@ -122,7 +133,7 @@ function request(method, url, data = {}, baseUrl = BASE_URL, successCodes = [0])
}
},
fail: (err) => {
handleRequestError(err, url);
if (showErrorToast) handleRequestError(err, url);
reject(err);
},
});
@@ -571,7 +582,14 @@ export const laserCloseAPI = async () => {
// 设备连接指定 WiFi,只下发 WiFi 凭证,不触发 OTA 升级。
export const connectDeviceWifiAPI = async (ssid, password) => {
return request("POST", "/user/hardwareBox/connectWifi", {ssid, password});
return request(
"POST",
"/user/hardwareBox/connectWifi",
{ssid, password},
BASE_URL,
[0],
{timeout: 20000, showErrorToast: false}
);
};
// 获取硬件盒子版本信息,用于判断当前设备是否需要 OTA 升级。
@@ -584,11 +602,6 @@ export const sendHardwareBoxUpdateAPI = async (data) => {
return request("POST", "/user/hardwareBox/sendUpdate", data);
};
// 根据任务 ID 获取硬件盒子 OTA 更新状态。
export const getHardwareBoxTaskStatusAPI = async (taskId) => {
return request("GET", `/user/hardwareBox/taskStatus?taskId=${taskId}`);
};
export const addNoteAPI = async (id, remark) => {
return request("POST", "/user/score/sheet/remark", {id, remark});
};