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