From 3b826cbf1275f55717f13f71f78c75504183ec56 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期四, 31 七月 2025 16:22:28 +0800
Subject: [PATCH] 更新到大连仁人inbody分析仪接口
---
thirdPartyApi.js | 87 ++++++++++++++-----------------------------
1 files changed, 29 insertions(+), 58 deletions(-)
diff --git a/thirdPartyApi.js b/thirdPartyApi.js
index b508184..15d701b 100644
--- a/thirdPartyApi.js
+++ b/thirdPartyApi.js
@@ -1,11 +1,14 @@
// thirdPartyApi.js
const axios = require('axios');
-
-const logger = require('./logger'); // 根据实际情况调整路径
-// BASIC_API = 'https://hemobs.icoldchain.cn/'
-const BASIC_API = 'http://testbs.ihemodialysis.com/'
+const path = require('path');
+const FormData = require('form-data');
+const logger = require(path.resolve(__dirname, 'logger'));
+// const BASIC_API = 'https://hemobs.icoldchain.cn/'
+const BASIC_API = 'https://backend.ihemodialysis.com'
+// const BASIC_API = 'http://testbs.ihemodialysis.com/'
let cachedToken = null;
let tokenExpiresAt = null;
+
// 获取 Token 的函数
async function getAccessToken() {
@@ -30,16 +33,19 @@
// 获取缓存或新的 Token
async function getCachedOrNewToken() {
- logger.log('Check if the token exists')
+ logger.info('获取缓存或新的 Token')
if (cachedToken && tokenExpiresAt > Date.now()) {
+ logger.info('有缓存token,直接输出')
return cachedToken;
}
// 如果 token 已经过期或不存在,则重新获取
- logger.log('If the token has expired or does not exist, retrieve it again')
+ logger.info('如果 token 已经过期或不存在,则重新获取')
+ console.log('如果 token 已经过期或不存在,则重新获取')
const { data, expires_in } = await getAccessToken();
cachedToken = data;
tokenExpiresAt = Date.now() + (expires_in - 60) * 1000; // 提前 60 秒刷新 token
+ console.log(`获取新的 token: ${cachedToken}, 过期时间: ${new Date(tokenExpiresAt)}`);
return cachedToken;
}
@@ -56,6 +62,7 @@
async function fetchThirdPartyDataNoToke(url, method = 'GET', headers = {}, data = null, queryParams = {}, pathParams = {}) {
try {
const fullUrl = buildUrl(url, pathParams);
+ logger.info(`打包token 请求头url${fullUrl},data=${JSON.stringify(data)}`)
const response = await axios({
url: fullUrl,
method,
@@ -68,18 +75,28 @@
return response.data;
} catch (error) {
- console.error('Error fetching third-party data:', error.message);
+
throw error;
}
}
-// 发起第三方 API 请求
+/**
+ *
+ * @param {*} url rul
+ * @param {*} method 方法
+ * @param {*} headers 表头
+ * @param {*} data json数据
+ * @param {*} queryParams 查询条件
+ * @param {*} pathParams 路由条件
+ * @returns
+ */
async function fetchThirdPartyData(url, method = 'GET', headers = {}, data = null, queryParams = {}, pathParams = {}) {
try {
+ console.log(`打包token 请求头url${url},data=${JSON.stringify(data)}`)
+ console.log(`pathParams 请求头url${JSON.stringify(pathParams)}`)
const token = await getCachedOrNewToken();
- logger.info(`get token====${token}`)
- console.log('得到了token------------------------',token)
const fullUrl = buildUrl(url, pathParams);
+ logger.info(`打包token 请求头url${fullUrl},data=${JSON.stringify(data)}`)
const response = await axios({
url: fullUrl,
@@ -89,13 +106,12 @@
Authorization: `Bearer ${token}`
},
params: queryParams, // 查询字符串参数
- data // 请求体参数
+ data:data// 请求体参数
});
return response.data;
} catch (error) {
- logger.error('Error fetching third-party data:', error.message)
- console.error('Error fetching third-party data:', error.message);
+ logger.error(`请求失败!'${error.message} `)
throw error;
}
}
@@ -105,48 +121,3 @@
fetchThirdPartyData,
getAccessToken
};
-
-// 插入数据
-const installData=async (mode)=>{
- console.log(mode)
- try{
- let selectSql=`SELECT * FROM patient_rtcf_result WHERE code='${mode.recordNo}'`
- const [rows] = await pool.promise().query(selectSql);
- if(rows.length>0){
- let updateSql=''
- if(mode.fatFree){
- updateSql=`UPDATE patient_rtcf_result SET rtcf_json_bf ='${JSON.stringify(mode)}'`
- }else if (mode.bmi){
- updateSql=`UPDATE patient_rtcf_result SET rtcf_json_bmi ='${JSON.stringify(mode)}'`
- }
- if(updateSql){
- console.log(`-------------------------更新${updateSql}---------`)
- console.log(updateSql)
- await pool.promise().query(updateSql)
- }
- }else{
- console.log('34')
- // 临时的人体成分分析
- let bf=''
- // 临时的身高体重
- let bmi=''
- if(mode.fatFree){
- bf=JSON.stringify(mode)
- }
- if(mode.bmi){
- bmi=JSON.stringify(mode)
- }
- console.log(`bf=${bf},bmi=====${bmi}`)
- let sqlStr=`INSERT INTO patient_rtcf_result (id, code, patient_code,`+
- `comm_time,rtcf_json_bmi,`+
- `rtcf_json_bf,`+
- `create_time)`+
- `VALUES (0, '${mode.recordNo}', '${mode.userID}', '${mode.measureTime}','${bmi}','${bf}','${moment(new Date()).format('YYYY-MM-DD HH:mm:ss')}')`
- console.log(sqlStr)
- await pool.promise().query(sqlStr)
- }
-
- }catch(err){
- console.log('数据写入异常22')
- }
-}
\ No newline at end of file
--
Gitblit v1.8.0