diff --git a/server.js b/server.js index adebefb..fbac132 100644 --- a/server.js +++ b/server.js @@ -154,6 +154,10 @@ const mockData = { mobile_no: "13812345678", description: "手机在网时长" }, + "YYSY4B21": { + mobile_no: "13812345678", + description: "手机在网状态" + }, "YYSY6F2E": { mobile_no: "13812345678", mobile_type: "CMCC", @@ -205,6 +209,8 @@ app.post('/request-api', async (req, res) => { const { interfaceName, params } = req.body; const url = `http://api.tianyuanapi.com/api/v1/${interfaceName}`; + // const url = `http://127.0.0.1:10003/api/v1/${interfaceName}`; + const accessId = 'aa16cc6e9da90461'; const key = 'ff83609b2b24fc73196aac3d3dfb874f'; // AES 16进制密钥 @@ -219,24 +225,31 @@ app.post('/request-api', async (req, res) => { 'Content-Type': 'application/json' } }); - console.log(" response.data", response.data) - // 如果 response.data.code 不等于 0,认为请求失败 - if (response.data.code !== 0) { - return res.json({ - success: false, - message: `请求失败,错误代码: ${response.data.code}`, - error: response.data.message || '未知错误' - }); + console.log("response.data", response.data) + + + const { code, message, data: encryptedResponseData } = response.data; + + let decryptedData = null; + + // 如果有返回data,无论code是否为0,都尝试解密 + if (encryptedResponseData) { + try { + decryptedData = aesDecrypt(encryptedResponseData, key); + decryptedData = JSON.parse(decryptedData); // 解密后的数据解析为对象 + } catch (decryptError) { + // 解密失败时返回null + decryptedData = null; + } } - // 如果 code 等于 0,继续解密 - const encryptedResponseData = response.data.data; - const decryptedData = aesDecrypt(encryptedResponseData, key); - + // 返回响应,无论code是否为0,统一返回加密和解密数据 res.json({ - success: true, - encryptedResponse: response.data, - decryptedResponse: JSON.parse(decryptedData) + code, + success: code === 0, + message, + encryptedResponse: encryptedResponseData || null, + decryptedResponse: decryptedData }); } catch (error) { res.json({ success: false, message: '请求失败', error: error.message }); diff --git a/views/index.ejs b/views/index.ejs index 46a2a06..2d5e44f 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -168,20 +168,13 @@ body: JSON.stringify({ interfaceName, params }) }); const result = await response.json(); - - if (result.success) { resultDiv.innerHTML = `
${result.code}
+${result.message}
加密返回: ${JSON.stringify(result.encryptedResponse, null, 2)}
解密返回: ${JSON.stringify(result.decryptedResponse, null, 2)}`; - } else { - resultDiv.innerHTML = ` -
${result.message}
-${result.error}
- `; - } } catch (error) { resultDiv.innerText = '请求失败: ' + error; } finally {