From 1ead695b7ca6eee9e8c78ff7f492942c419e7ce0 Mon Sep 17 00:00:00 2001 From: tsf <460834639@qq.com> Date: Sat, 3 Aug 2024 17:56:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=880803?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/app/controller/Base.php | 61 +++++- application/app/controller/Calculatebody.php | 200 ++++++++++++------- application/app/controller/Card.php | 23 +-- application/app/controller/Download.php | 31 ++- application/app/controller/Index.php | 2 +- application/app/controller/Login.php | 5 + application/app/controller/Vitalcapacity.php | 54 ++--- application/app/view/download/demo2.html | 48 +++++ application/route.php | 6 +- 9 files changed, 311 insertions(+), 119 deletions(-) create mode 100644 application/app/view/download/demo2.html diff --git a/application/app/controller/Base.php b/application/app/controller/Base.php index 23d083c..acb506a 100644 --- a/application/app/controller/Base.php +++ b/application/app/controller/Base.php @@ -189,11 +189,11 @@ class Base extends Controller{ } // 判断一个参数是否为数字且大于等于0 - function isPositiveNumber($value) { + public function isPositiveNumber($value) { return is_numeric($value) && $value >= 0; } // 判断是否为整型,或者字符串类型的整型数字 - function isValidInteger($var) { + public function isValidInteger($var) { // 直接检查是否为整型 if (is_int($var)) { return true; @@ -219,7 +219,7 @@ class Base extends Controller{ ['min_val'=>'0','max_val'=>'9','text'=>'无效','color'=>'#FF5656'], ]; $grade = Db::table('app_user_data')->where(['id'=>$id])->field('id,grade,gender')->find(); - if(!$grade){ + if(!$grade || $grade['grade'] == 'nothing'){ return []; } $sql_min = "WITH RankedGrades AS ( @@ -261,7 +261,7 @@ class Base extends Controller{ // 时间日期转换 - function addCurrentTimeToDateString($dateStr) { + public function addCurrentTimeToDateString($dateStr) { // 将日期字符串转换为DateTime对象 $dateTime = new \DateTime($dateStr); @@ -281,7 +281,7 @@ class Base extends Controller{ // 时间加一或者减一 - function adjustDateTime($datetimeStr, $type) { + public function adjustDateTime($datetimeStr, $type) { // 将时间字符串转换为时间戳 $timestamp = strtotime($datetimeStr); @@ -309,7 +309,7 @@ class Base extends Controller{ } // 对于任意浮点字符串的指定位四舍五入 - function bcRoundCustom($number, $scale) { + public function bcRoundCustom($number, $scale) { // 确保scale是整数 $scale = intval($scale); @@ -338,6 +338,55 @@ class Base extends Controller{ return $result; } + + public function postRequest($url, $data = [], $headers = []) { + $ch = curl_init(); // 初始化cURL会话 + + if (!$ch) { + return [ + 'error' => true, + 'message' => 'cURL init failed' + ]; + } + // 设置cURL选项 + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 禁用证书验证 + curl_setopt($ch, CURLOPT_URL, $url); // 要请求的URL + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出 + curl_setopt($ch, CURLOPT_POST, true); // 发送一个常规的POST请求 + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); // POST数据 + // 设置请求头 + if (!empty($headers)) { + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + }else{ + // 如果需要发送JSON数据,可以使用以下设置: + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); + } + // 执行cURL会话 + $response = curl_exec($ch); + + if ($response === false) { + $error = curl_error($ch); + curl_close($ch); + return [ + 'error' => true, + 'message' => "cURL Error: $error" + ]; + } + $decodedResponse = json_decode($response, true); + $jsonError = json_last_error(); + curl_close($ch); + + if ($jsonError !== JSON_ERROR_NONE) { + return [ + 'error' => true, + 'message' => 'Invalid JSON Response', + 'raw_response' => $response + ]; + } + return $decodedResponse; + } + public function msg($data,$str='',$result = []){ diff --git a/application/app/controller/Calculatebody.php b/application/app/controller/Calculatebody.php index 67b991b..b37b607 100644 --- a/application/app/controller/Calculatebody.php +++ b/application/app/controller/Calculatebody.php @@ -8,6 +8,26 @@ class Calculatebody extends Base{ // 默认阻抗值 protected $default_adc = 550; + // 体重 = weight weight + // 身高 = height height + // BMI = bmi bmi + // age = age age + // 身体得分 = cmi cmi + // 脂肪量 = fat_w bfrval + // 脂肪率 = fat_r bfr + // 肌肉量 = muscleval romval + // 肌肉率 = muscle rom + // 水分 = water vwc + // 蛋白量 = proteinval ppval + // 蛋白率 = protein pp + // 骨重 = bone bm + // 基础代谢 = kcal bmr + // 内脏指数 = visceral uvi + // 皮下脂肪 = sfr sfr + // 肥胖等级 = standard_level fatlevel (fatlevelName) + // 身体年龄 = bodyage bodyage + // 去脂体重 = lbm lbm + // 身体类型 = body body public function calculate_body_data_result($data = ['weight'=>52.5,'height'=>165,'age'=>30,'gender'=>1]){ $data['gender'] = $data['gender'] == 0 ? 1 : $data['gender']; @@ -17,38 +37,75 @@ class Calculatebody extends Base{ // 减 bcsub(,,20) // 乘 bcmul(,,20) // 除 bcdiv(,,20) - $result = $this->calculate_body_data($data['height'],$data['weight'],$data['age'],$data['gender'],$data['adc']); - // dump(25/(1.393*1.393)); + + // 青测自己写的计算start + // $result = $this->calculate_body_data($data['height'],$data['weight'],$data['age'],$data['gender'],$data['adc']); + // // $result['fat_w'] = $result['fat_r'] / 100 * $data['weight']; + // $result['fat_w'] = bcmul(bcdiv($result['fat_r'],'100',20),$data['weight'],2); + // // $result['proteinval'] = $result['protein'] / 100 * $data['weight']; + // $result['proteinval'] = bcmul(bcdiv($result['protein'],'100',20),$data['weight'],2); + // //肌肉量=体重-脂肪量-骨量 + // // $result['muscleval'] = $result['weight'] - $result['fat_w'] - $result['bone']; + // $result['muscleval'] = bcsub(bcsub($result['weight'],$result['fat_w'],20),$result['bone'],2); + // // $result['muscle'] = $result['muscleval'] / $data['weight'] * 100.0; + // $result['muscle'] = bcmul(bcdiv($result['muscleval'],$data['weight'],20),'100.0',2); + // // 水份=肌肉量-蛋白量 + // // $result['water'] = $result['muscleval'] - $result['proteinval']; + // $result['water'] = bcsub($result['muscleval'],$result['proteinval'],2); + // // $result['lbm'] = (1 - $result['fat_r'] / 100) * $data['weight']; + // $result['lbm'] = bcmul(bcsub('1',bcdiv($result['fat_r'],'100',20),20),$data['weight'],2); + // 青测自己写的计算end + + // 使用接口调用之前的进行计算start + $url = 'https://klcz.pcxbc.com/open-api/calc/healthcalc/bodyfat3'; + $temporary_parameter = [ + 'weight'=>$data['weight'], + 'height'=>$data['height'], + 'age'=>$data['age'], + 'adc'=>$data['adc'], + 'gender'=>$data['gender'], + ]; + // dump($temporary_parameter); + + $request_result = $this->postRequest($url,$temporary_parameter); + // dump($request_result); + $result['weight'] = $request_result['data']['weight']; + $result['height'] = $request_result['data']['height']; + $result['bmi'] = $request_result['data']['bmi']; + $result['age'] = $request_result['data']['age']; + $result['cmi'] = $request_result['data']['cmi']; + $result['fat_w'] = $request_result['data']['bfrval']; + $result['fat_r'] = $request_result['data']['bfr']; + $result['muscleval'] = $request_result['data']['romval']; + $result['muscle'] = $request_result['data']['rom']; + $result['water'] = $request_result['data']['vwc']; + $result['proteinval'] = $request_result['data']['ppval']; + $result['protein'] = $request_result['data']['pp']; + $result['bone'] = $request_result['data']['bm']; + $result['kcal'] = $request_result['data']['bmr']; + $result['visceral'] = $request_result['data']['uvi']; + $result['sfr'] = $request_result['data']['sfr']; + $result['standard_level'] = $request_result['data']['fatlevelname']; + $result['bodyage'] = $request_result['data']['bodyage']; + $result['lbm'] = $request_result['data']['lbm']; + $result['body'] = $request_result['data']['body']; // dump($result); - // dump('========================================='); - // dump(1); // die; - - // $result['fat_w'] = $result['fat_r'] / 100 * $data['weight']; - $result['fat_w'] = bcmul(bcdiv($result['fat_r'],'100',20),$data['weight'],2); - // $result['proteinval'] = $result['protein'] / 100 * $data['weight']; - $result['proteinval'] = bcmul(bcdiv($result['protein'],'100',20),$data['weight'],2); - //肌肉量=体重-脂肪量-骨量 - // $result['muscleval'] = $result['weight'] - $result['fat_w'] - $result['bone']; - $result['muscleval'] = bcsub(bcsub($result['weight'],$result['fat_w'],20),$result['bone'],2); - // $result['muscle'] = $result['muscleval'] / $data['weight'] * 100.0; - $result['muscle'] = bcmul(bcdiv($result['muscleval'],$data['weight'],20),'100.0',2); - // 水份=肌肉量-蛋白量 - // $result['water'] = $result['muscleval'] - $result['proteinval']; - $result['water'] = bcsub($result['muscleval'],$result['proteinval'],2); - // $result['lbm'] = (1 - $result['fat_r'] / 100) * $data['weight']; - $result['lbm'] = bcmul(bcsub('1',bcdiv($result['fat_r'],'100',20),20),$data['weight'],2); - + // 使用接口调用之前的进行计算end $return_data['体重'] = $data['weight']; $return_data['身高'] = $data['height']; $return_data['BMI'] = $result['bmi']; $return_data['age'] = $result['age']; - if($result['bmi']<21.6){ - $return_data['身体得分'] = bcmul(bcdiv($result['bmi'],'21.6',20),'100',0); - }else{ - $return_data['身体得分'] = bcmul(bcdiv('21.6',$result['bmi'],20),'100',0); - } + + // 身体得分修改start + // if($result['bmi']<21.6){ + // $return_data['身体得分'] = bcmul(bcdiv($result['bmi'],'21.6',20),'100',0); + // }else{ + // $return_data['身体得分'] = bcmul(bcdiv('21.6',$result['bmi'],20),'100',0); + // } + $return_data['身体得分'] = $result['cmi']; + // 身体得分修改end $return_data['脂肪量'][0] = $result['fat_w']; @@ -114,8 +171,6 @@ class Calculatebody extends Base{ } $return_data['基础代谢'][0] = $result['kcal']; - - if(($data['gender']==1 && $data['age']>0 && $data['age']<3 && (60.9*$data['weight']-54)>$result['kcal']) || ($data['gender']==1 && $data['age']>=3 && $data['age']<10 && (22.7*$data['weight']+495)>$result['kcal']) || ($data['gender']==1 && $data['age']>=10 && $data['age']<18 && (17.5*$data['weight']+651)>$result['kcal']) || ($data['gender']==1 && $data['age']>=18 && $data['age']<30 && (15.3*$data['weight']+679)>$result['kcal']) || ($data['gender']==1 && $data['age']>=30 && (11.6*$data['weight']+879)>$result['kcal']) || ($data['gender']==2 && $data['age']>0 && $data['age']<3 && (61*$data['weight']-51)>$result['kcal']) || ($data['gender']==2 && $data['age']>=3 && $data['age']<10 && (22.5*$data['weight']+499)>$result['kcal']) || ($data['gender']==2 && $data['age']>=10 && $data['age']<18 && (12.2*$data['weight']+746)>$result['kcal']) || ($data['gender']==2 && $data['age']>=18 && $data['age']<30 && (14.7*$data['weight']+496)>$result['kcal']) || ($data['gender']==2 && $data['age']>=30 && (8.7*$data['weight']+820)>$result['kcal'])){ $return_data['基础代谢'][1] = '偏低'; }else if(($data['gender']==1 && $data['age']>0 && $data['age']<3 && (60.9*$data['weight']-54)<=$result['kcal']) || ($data['gender']==1 && $data['age']>=3 && $data['age']<10 && (22.7*$data['weight']+495)<=$result['kcal']) || ($data['gender']==1 && $data['age']>=10 && $data['age']<18 && (17.5*$data['weight']+651)<=$result['kcal']) || ($data['gender']==1 && $data['age']>=18 && $data['age']<30 && (15.3*$data['weight']+679)<=$result['kcal']) || ($data['gender']==1 && $data['age']>=30 && (11.6*$data['weight']+879)<=$result['kcal']) || ($data['gender']==2 && $data['age']>0 && $data['age']<3 && (61*$data['weight']-51)<=$result['kcal']) || ($data['gender']==2 && $data['age']>=3 && $data['age']<10 && (22.5*$data['weight']+499)<=$result['kcal']) || ($data['gender']==2 && $data['age']>=10 && $data['age']<18 && (12.2*$data['weight']+746)<=$result['kcal']) || ($data['gender']==2 && $data['age']>=18 && $data['age']<30 && (14.7*$data['weight']+496)<=$result['kcal']) || ($data['gender']==2 && $data['age']>=30 && (8.7*$data['weight']+820)<=$result['kcal'])){ @@ -144,51 +199,56 @@ class Calculatebody extends Base{ // 脂肪率:偏低 标准 偏高 高 // 肌肉率:不足 标准 优 - - // if($data['age']>=16){ - if($result['standard_level']<-0.2){ - $return_data['肥胖等级'] = '体重不足'; - }else if($result['standard_level']>=-0.2 && $result['standard_level']<-0.1){ - $return_data['肥胖等级'] = '偏瘦'; - }else if($result['standard_level']>=-0.1 && $result['standard_level']<=0.1){ - $return_data['肥胖等级'] = '标准'; - }else if($result['standard_level']>0.1 && $result['standard_level']<=0.2){ - $return_data['肥胖等级'] = '偏重'; - }else if($result['standard_level']>0.2){ - $return_data['肥胖等级'] = '超重'; - }else{ - $return_data['肥胖等级'] = '暂无数据'; - } - // }else{ - // $return_data['肥胖等级'] = '儿童'; - // } + // 肥胖等级修改start + // // if($data['age']>=16){ + // if($result['standard_level']<-0.2){ + // $return_data['肥胖等级'] = '体重不足'; + // }else if($result['standard_level']>=-0.2 && $result['standard_level']<-0.1){ + // $return_data['肥胖等级'] = '偏瘦'; + // }else if($result['standard_level']>=-0.1 && $result['standard_level']<=0.1){ + // $return_data['肥胖等级'] = '标准'; + // }else if($result['standard_level']>0.1 && $result['standard_level']<=0.2){ + // $return_data['肥胖等级'] = '偏重'; + // }else if($result['standard_level']>0.2){ + // $return_data['肥胖等级'] = '超重'; + // }else{ + // $return_data['肥胖等级'] = '暂无数据'; + // } + // // }else{ + // // $return_data['肥胖等级'] = '儿童'; + // // } + $return_data['肥胖等级'] = $result['standard_level']; + // 肥胖等级修改end - // if($data['age']>=16){ - if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '不足'){ - $return_data['身体类型'] = '隐形肥胖'; - }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '标准'){ - $return_data['身体类型'] = '偏胖'; - }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '优'){ - $return_data['身体类型'] = '结实型偏胖'; - }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '不足'){ - $return_data['身体类型'] = '缺乏肌肉型'; - }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '标准'){ - $return_data['身体类型'] = '标准型'; - }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '优'){ - $return_data['身体类型'] = '标准肌肉型'; - }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '不足'){ - $return_data['身体类型'] = '偏瘦'; - }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '标准'){ - $return_data['身体类型'] = '偏瘦肌肉型'; - }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '优'){ - $return_data['身体类型'] = '健美肌肉型'; - }else{ - $return_data['身体类型'] = '暂无数据'; - } - // }else{ - // $return_data['身体类型'] = '儿童'; - // } + // 身体类型修改start + // // if($data['age']>=16){ + // if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '不足'){ + // $return_data['身体类型'] = '隐形肥胖'; + // }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '标准'){ + // $return_data['身体类型'] = '偏胖'; + // }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '优'){ + // $return_data['身体类型'] = '结实型偏胖'; + // }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '不足'){ + // $return_data['身体类型'] = '缺乏肌肉型'; + // }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '标准'){ + // $return_data['身体类型'] = '标准型'; + // }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '优'){ + // $return_data['身体类型'] = '标准肌肉型'; + // }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '不足'){ + // $return_data['身体类型'] = '偏瘦'; + // }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '标准'){ + // $return_data['身体类型'] = '偏瘦肌肉型'; + // }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '优'){ + // $return_data['身体类型'] = '健美肌肉型'; + // }else{ + // $return_data['身体类型'] = '暂无数据'; + // } + // // }else{ + // // $return_data['身体类型'] = '儿童'; + // // } + $return_data['身体类型'] = $result['body']; + // 身体类型修改end $return_data['身体年龄'] = $result['bodyage']; diff --git a/application/app/controller/Card.php b/application/app/controller/Card.php index 0178961..b92cfd9 100644 --- a/application/app/controller/Card.php +++ b/application/app/controller/Card.php @@ -92,11 +92,8 @@ class Card extends Base{ if($this->token_time_validate($data['token']) === false){ return $this->msg(20001); } - // die; unset($data['token']); - return $this->get_user_body_data($data); - } // 曲线页面-曲线接口 @@ -118,7 +115,7 @@ class Card extends Base{ // 手动记录 // $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1'] - public function card_manual_recording($data = ['aud_id'=>'83','time'=>'2024-07-24','height'=>'155.4','weight'=>'40.4','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function card_manual_recording($data = ['aud_id'=>'83','time'=>'2024-07-24','height'=>'145.7','weight'=>'41.3','token'=>'caadd1be045a65f30b92aa805f1de54a']){ if(count(input('post.')) > 0){ $data = input('post.'); }else{ @@ -543,22 +540,14 @@ class Card extends Base{ if(array_key_exists('adc', $data)){ $result_data['adc'] = $data['adc']; } - // $result_data['adc'] = array_key_exists('adc', $data)?$data['adc']:550; $calculate_body_formula = new Calculatebody(); - // dump($user_data['birthday']); - // dump($result_data); + // 计算身体数据 $get_body_value = $calculate_body_formula->calculate_body_data_result($result_data); - // dump($get_body_value); - - // die; - // dump($get_body_value); + $get_body_value['gender'] = $user_data['gender']; $get_body_value['birthday'] = $user_data['birthday']; + // 添加身高体重bmi的标尺标准 $get_body_value = $this->hwb_standard($get_body_value); - // dump($get_body_value['身高2']); - // dump($get_body_value['脂肪率']); - // dump(implode(',',$get_body_value['脂肪率'])); - $set_data = [ 'acd_id'=>$data['acd_id'], 'aud_id'=>$data['aud_id'], @@ -589,10 +578,10 @@ class Card extends Base{ 'body_age'=>$get_body_value['身体年龄'] ]; if(strlen($set_data['record_time']) <= 12){ + // 时间日期转换,把'Y-m-d'转换成'Y-m-d H:i:s'格式 $set_data['record_time'] = $this->addCurrentTimeToDateString($set_data['record_time']); } - // dump($get_body_value['身高2']); - // die; + $set_user_data = Db::table('app_card_body_data')->insert($set_data); if($set_user_data){ // 返回简要数据 diff --git a/application/app/controller/Download.php b/application/app/controller/Download.php index 6294b49..8445d9a 100644 --- a/application/app/controller/Download.php +++ b/application/app/controller/Download.php @@ -9,7 +9,36 @@ class Download extends Base{ public function demo(){ $num = Db::table('app_version_log')->order('id desc')->find(); - echo '你好,这里就是下载页面'; + echo '你好,这里仅仅是个下载展示页面-1'; echo '
点击下载'; } + + public function demo2(){ + + $url = Db::table('app_version_log')->order('id desc')->find(); + + + $this->assign([ + + 'url' => $url['download_url'], + ]); + return $this->fetch(); + } + + public function ceshi(){ + $data = input(); + $url = 'https://klcz.pcxbc.com/open-api/calc/healthcalc/bodyfat3'; + $temporary_parameter = [ + 'weight'=>$data['weight'], + 'height'=>$data['height'], + 'age'=>$data['age'], + 'adc'=>$data['adc'], + 'gender'=>$data['gender'], + ]; + dump($temporary_parameter); + + $result = $this->postRequest($url,$temporary_parameter); + dump($result); + die; + } } \ No newline at end of file diff --git a/application/app/controller/Index.php b/application/app/controller/Index.php index 7d36a42..b461b4b 100644 --- a/application/app/controller/Index.php +++ b/application/app/controller/Index.php @@ -176,7 +176,7 @@ class Index extends Base{ } // 获取指定用户详细信息 - public function get_user_data_information($data = ['aud_id'=>37,'token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function get_user_data_information($data = ['aud_id'=>92,'token'=>'caadd1be045a65f30b92aa805f1de54a']){ if(count(input('post.')) > 0){ $data = input('post.'); } diff --git a/application/app/controller/Login.php b/application/app/controller/Login.php index 6a843e7..b4f9fa2 100644 --- a/application/app/controller/Login.php +++ b/application/app/controller/Login.php @@ -194,6 +194,11 @@ class Login extends Base{ if(!array_key_exists('data', $data)){ return $this->msg(10001); } + + if(cache($data['data'])){ + return $this->msg(10002,'60秒仅可发送一次验证码'); + } + $num = mt_rand(100000,999999); if (preg_match('/^\d{11}$/', $data['data'])) { $result = $this->send_tel_code($data['data'],$num); diff --git a/application/app/controller/Vitalcapacity.php b/application/app/controller/Vitalcapacity.php index 050b72e..f8d19de 100644 --- a/application/app/controller/Vitalcapacity.php +++ b/application/app/controller/Vitalcapacity.php @@ -36,7 +36,7 @@ class Vitalcapacity extends Base{ ################################################################接口################################################################ // 手动数据记录 - public function vitalcapacity_save_record_data($data = ['aud_id'=>'83','one'=>'1560','two'=>'1560','three'=>'1560','time'=>'2024-07-23','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ + public function vitalcapacity_save_record_data($data = ['aud_id'=>'89','one'=>'1560','two'=>'1560','three'=>'1560','time'=>'2024-07-23','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ if(count(input('post.')) > 0){ $data = input('post.'); } @@ -53,7 +53,7 @@ class Vitalcapacity extends Base{ return $this->vitalcapacity_save_record_data_action($data); } // 设备数据记录 - public function vitalcapacity_save_record_data_device($data = ['aud_id'=>'58','one'=>'1500','two'=>'1500','three'=>'1200','flow'=>'88.88','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ + public function vitalcapacity_save_record_data_device($data = ['aud_id'=>'89','one'=>'1500','two'=>'1500','three'=>'1200','flow'=>'88.88','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){ if(count(input('post.')) > 0){ $data = input('post.'); } @@ -70,7 +70,7 @@ class Vitalcapacity extends Base{ return $this->vitalcapacity_save_record_data_action($data); } // 数据报告 - public function vitalcapacity_data_report($data = ['aud_id'=>'83','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function vitalcapacity_data_report($data = ['aud_id'=>'89','token'=>'caadd1be045a65f30b92aa805f1de54a']){ if(count(input('post.')) > 0){ $data = input('post.'); } @@ -84,7 +84,7 @@ class Vitalcapacity extends Base{ return $this->vitalcapacity_data_report_action($data); } // 曲线 - public function vitalcapacity_curve_chart($data = ['aud_id'=>'83','time'=>'2024-07-24','token'=>'caadd1be045a65f30b92aa805f1de54a']){ + public function vitalcapacity_curve_chart($data = ['aud_id'=>'89','time'=>'2024-07-23','token'=>'caadd1be045a65f30b92aa805f1de54a']){ if(count(input('post.')) > 0){ $data = input('post.'); } @@ -114,14 +114,29 @@ class Vitalcapacity extends Base{ $temporary_arr['three_val'] = $data['three']; $temporary_arr['average_val'] = $temporary_arr['average']; $temporary_arr['flow_val'] = array_key_exists('flow', $data)?$data['flow']:'0.00'; + // 处理记录时间 if(strlen($temporary_arr['record_time']) <= 12){ $temporary_arr['record_time'] = $this->addCurrentTimeToDateString($temporary_arr['record_time']); } + $user_msg = Db::name('app_user_data')->where(['id'=>$data['aud_id']])->field('grade,gender')->find(); if($user_msg){ - $achievement_judge_data = $this->vitalcapacity_achievement_judge(['average'=>$temporary_arr['average'],'grade'=>$user_msg['grade'],'gender'=>$user_msg['gender']]); - $temporary_arr['score'] = $achievement_judge_data['score'].','.$achievement_judge_data['level'].','.$this->color[$achievement_judge_data['level']]; - $temporary_arr['score_val'] = $achievement_judge_data['score']; + // 根据性别&年级&年龄查规则 + if($user_msg['grade'] != 'nothing'){ + // 有年级项 + // 等级项(及格优秀良好等) + $achievement_judge_data = $this->vitalcapacity_achievement_judge(['average'=>$temporary_arr['average'],'grade'=>$user_msg['grade'],'gender'=>$user_msg['gender']]); + + $temporary_arr['score'] = $achievement_judge_data['score'].','.$achievement_judge_data['level'].','.$this->color[$achievement_judge_data['level']]; + $temporary_arr['score_val'] = $achievement_judge_data['score']; + // 获取肺活量标准 + + }else{ + $achievement_judge_data['level'] = "无"; + $temporary_arr['score'] = "0,无,无"; + $temporary_arr['score_val'] = "0"; + } + }else{ return $this->msg(10004); } @@ -162,11 +177,12 @@ class Vitalcapacity extends Base{ ]); }else{ - $standard_data = $this->get_vitalcapacity_data($data['aud_id']); + $time = $result[0]['record_time']; $time = strtotime($time); $time = date('Y年m月d日 H:i:s', $time); $o_l = explode(',',$result[0]['score']); + $standard_data = $this->get_vitalcapacity_data($data['aud_id']); return $this->msg([ 'average'=>$result[0]['average'].'ml', 'level'=>$o_l[1], @@ -287,6 +303,7 @@ class Vitalcapacity extends Base{ // 减 bcsub(,,20) // 乘 bcmul(,,20) // 除 bcdiv(,,20) + // 肺活量成绩判断 public function vitalcapacity_achievement_judge($data){ $str = "sex = ".$data['gender']." and ".$data['grade']." <= ".$data['average']; @@ -302,6 +319,10 @@ class Vitalcapacity extends Base{ // 肺活量判断区间 public function vitalcapacity_standard_interval($val,$data){ // 缓存一周 + $result = ''; + if(count($data) <= 0){ + return $result; + } $temporary_qj = $data; $max = 0; $min = 0; @@ -314,25 +335,12 @@ class Vitalcapacity extends Base{ break; } } - // dump($temporary_qj); - // dump($data); - // die; + $num = count($temporary_qj)-1-$num; $temporary_num = bcmul(bcdiv(bcsub($val,$min,20),bcsub($max,$min,20),2),bcdiv(100,count($temporary_qj),2),2); $result = bcadd(bcmul(bcdiv(100,count($temporary_qj),2),$num,2),$temporary_num,2); - // dump($data); - // dump($num); - // dump($result); - // dump($temporary_num); - // dump(bcdiv(100,count($temporary_qj),2)); - // dump($temporary_num); - // dump($temporary_qj); + return $result; - - - - - } diff --git a/application/app/view/download/demo2.html b/application/app/view/download/demo2.html new file mode 100644 index 0000000..ffa193d --- /dev/null +++ b/application/app/view/download/demo2.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + 下载页面 + + + + + +
+
你好,这里仅仅是个下载展示页面-2
+ 点击下载 +
+ + + diff --git a/application/route.php b/application/route.php index e70ef52..5c2906a 100644 --- a/application/route.php +++ b/application/route.php @@ -14,8 +14,12 @@ use think\Route; // // ################################################################下载################################################################ // // ################################################################下载################################################################ -//下载页 +//下载页1 Route::any('/download', 'app/download/demo'); +Route::any('/download2', 'app/download/demo2'); +Route::any('/ceshi', 'app/download/ceshi'); + + // Route::any('/CityList.js', 'tsf/CityList.js'); // // ################################################################管理后台################################################################