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 @@
+
+
+