新版0803
This commit is contained in:
parent
fee65c0630
commit
1ead695b7c
|
|
@ -189,11 +189,11 @@ class Base extends Controller{
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断一个参数是否为数字且大于等于0
|
// 判断一个参数是否为数字且大于等于0
|
||||||
function isPositiveNumber($value) {
|
public function isPositiveNumber($value) {
|
||||||
return is_numeric($value) && $value >= 0;
|
return is_numeric($value) && $value >= 0;
|
||||||
}
|
}
|
||||||
// 判断是否为整型,或者字符串类型的整型数字
|
// 判断是否为整型,或者字符串类型的整型数字
|
||||||
function isValidInteger($var) {
|
public function isValidInteger($var) {
|
||||||
// 直接检查是否为整型
|
// 直接检查是否为整型
|
||||||
if (is_int($var)) {
|
if (is_int($var)) {
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -219,7 +219,7 @@ class Base extends Controller{
|
||||||
['min_val'=>'0','max_val'=>'9','text'=>'无效','color'=>'#FF5656'],
|
['min_val'=>'0','max_val'=>'9','text'=>'无效','color'=>'#FF5656'],
|
||||||
];
|
];
|
||||||
$grade = Db::table('app_user_data')->where(['id'=>$id])->field('id,grade,gender')->find();
|
$grade = Db::table('app_user_data')->where(['id'=>$id])->field('id,grade,gender')->find();
|
||||||
if(!$grade){
|
if(!$grade || $grade['grade'] == 'nothing'){
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
$sql_min = "WITH RankedGrades AS (
|
$sql_min = "WITH RankedGrades AS (
|
||||||
|
|
@ -261,7 +261,7 @@ class Base extends Controller{
|
||||||
|
|
||||||
|
|
||||||
// 时间日期转换
|
// 时间日期转换
|
||||||
function addCurrentTimeToDateString($dateStr) {
|
public function addCurrentTimeToDateString($dateStr) {
|
||||||
// 将日期字符串转换为DateTime对象
|
// 将日期字符串转换为DateTime对象
|
||||||
$dateTime = new \DateTime($dateStr);
|
$dateTime = new \DateTime($dateStr);
|
||||||
|
|
||||||
|
|
@ -281,7 +281,7 @@ class Base extends Controller{
|
||||||
|
|
||||||
|
|
||||||
// 时间加一或者减一
|
// 时间加一或者减一
|
||||||
function adjustDateTime($datetimeStr, $type) {
|
public function adjustDateTime($datetimeStr, $type) {
|
||||||
// 将时间字符串转换为时间戳
|
// 将时间字符串转换为时间戳
|
||||||
$timestamp = strtotime($datetimeStr);
|
$timestamp = strtotime($datetimeStr);
|
||||||
|
|
||||||
|
|
@ -309,7 +309,7 @@ class Base extends Controller{
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对于任意浮点字符串的指定位四舍五入
|
// 对于任意浮点字符串的指定位四舍五入
|
||||||
function bcRoundCustom($number, $scale) {
|
public function bcRoundCustom($number, $scale) {
|
||||||
// 确保scale是整数
|
// 确保scale是整数
|
||||||
$scale = intval($scale);
|
$scale = intval($scale);
|
||||||
|
|
||||||
|
|
@ -339,6 +339,55 @@ class Base extends Controller{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 = []){
|
public function msg($data,$str='',$result = []){
|
||||||
if(is_array($data)){
|
if(is_array($data)){
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,26 @@ class Calculatebody extends Base{
|
||||||
|
|
||||||
// 默认阻抗值
|
// 默认阻抗值
|
||||||
protected $default_adc = 550;
|
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]){
|
public function calculate_body_data_result($data = ['weight'=>52.5,'height'=>165,'age'=>30,'gender'=>1]){
|
||||||
$data['gender'] = $data['gender'] == 0 ? 1 : $data['gender'];
|
$data['gender'] = $data['gender'] == 0 ? 1 : $data['gender'];
|
||||||
|
|
@ -17,38 +37,75 @@ class Calculatebody extends Base{
|
||||||
// 减 bcsub(,,20)
|
// 减 bcsub(,,20)
|
||||||
// 乘 bcmul(,,20)
|
// 乘 bcmul(,,20)
|
||||||
// 除 bcdiv(,,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($result);
|
||||||
// dump('=========================================');
|
|
||||||
// dump(1);
|
|
||||||
// die;
|
// die;
|
||||||
|
// 使用接口调用之前的进行计算end
|
||||||
// $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);
|
|
||||||
|
|
||||||
|
|
||||||
$return_data['体重'] = $data['weight'];
|
$return_data['体重'] = $data['weight'];
|
||||||
$return_data['身高'] = $data['height'];
|
$return_data['身高'] = $data['height'];
|
||||||
$return_data['BMI'] = $result['bmi'];
|
$return_data['BMI'] = $result['bmi'];
|
||||||
$return_data['age'] = $result['age'];
|
$return_data['age'] = $result['age'];
|
||||||
if($result['bmi']<21.6){
|
|
||||||
$return_data['身体得分'] = bcmul(bcdiv($result['bmi'],'21.6',20),'100',0);
|
// 身体得分修改start
|
||||||
}else{
|
// if($result['bmi']<21.6){
|
||||||
$return_data['身体得分'] = bcmul(bcdiv('21.6',$result['bmi'],20),'100',0);
|
// $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'];
|
$return_data['脂肪量'][0] = $result['fat_w'];
|
||||||
|
|
||||||
|
|
@ -114,8 +171,6 @@ class Calculatebody extends Base{
|
||||||
}
|
}
|
||||||
|
|
||||||
$return_data['基础代谢'][0] = $result['kcal'];
|
$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'])){
|
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] = '偏低';
|
$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'])){
|
}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{
|
||||||
// 脂肪率:偏低 标准 偏高 高
|
// 脂肪率:偏低 标准 偏高 高
|
||||||
// 肌肉率:不足 标准 优
|
// 肌肉率:不足 标准 优
|
||||||
|
|
||||||
|
// 肥胖等级修改start
|
||||||
// if($data['age']>=16){
|
// // if($data['age']>=16){
|
||||||
if($result['standard_level']<-0.2){
|
// if($result['standard_level']<-0.2){
|
||||||
$return_data['肥胖等级'] = '体重不足';
|
// $return_data['肥胖等级'] = '体重不足';
|
||||||
}else if($result['standard_level']>=-0.2 && $result['standard_level']<-0.1){
|
// }else if($result['standard_level']>=-0.2 && $result['standard_level']<-0.1){
|
||||||
$return_data['肥胖等级'] = '偏瘦';
|
// $return_data['肥胖等级'] = '偏瘦';
|
||||||
}else if($result['standard_level']>=-0.1 && $result['standard_level']<=0.1){
|
// }else if($result['standard_level']>=-0.1 && $result['standard_level']<=0.1){
|
||||||
$return_data['肥胖等级'] = '标准';
|
// $return_data['肥胖等级'] = '标准';
|
||||||
}else if($result['standard_level']>0.1 && $result['standard_level']<=0.2){
|
// }else if($result['standard_level']>0.1 && $result['standard_level']<=0.2){
|
||||||
$return_data['肥胖等级'] = '偏重';
|
// $return_data['肥胖等级'] = '偏重';
|
||||||
}else if($result['standard_level']>0.2){
|
// }else if($result['standard_level']>0.2){
|
||||||
$return_data['肥胖等级'] = '超重';
|
// $return_data['肥胖等级'] = '超重';
|
||||||
}else{
|
|
||||||
$return_data['肥胖等级'] = '暂无数据';
|
|
||||||
}
|
|
||||||
// }else{
|
// }else{
|
||||||
// $return_data['肥胖等级'] = '儿童';
|
// $return_data['肥胖等级'] = '暂无数据';
|
||||||
// }
|
// }
|
||||||
|
// // }else{
|
||||||
|
// // $return_data['肥胖等级'] = '儿童';
|
||||||
|
// // }
|
||||||
|
$return_data['肥胖等级'] = $result['standard_level'];
|
||||||
|
// 肥胖等级修改end
|
||||||
|
|
||||||
|
|
||||||
// if($data['age']>=16){
|
// 身体类型修改start
|
||||||
if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '不足'){
|
// // if($data['age']>=16){
|
||||||
$return_data['身体类型'] = '隐形肥胖';
|
// if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '不足'){
|
||||||
}else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '标准'){
|
// $return_data['身体类型'] = '隐形肥胖';
|
||||||
$return_data['身体类型'] = '偏胖';
|
// }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '标准'){
|
||||||
}else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '优'){
|
// $return_data['身体类型'] = '偏胖';
|
||||||
$return_data['身体类型'] = '结实型偏胖';
|
// }else if(($return_data['脂肪率'][1] == '高' || $return_data['脂肪率'][1] == '偏高') && $return_data['肌肉率'][1] == '优'){
|
||||||
}else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '不足'){
|
// $return_data['身体类型'] = '结实型偏胖';
|
||||||
$return_data['身体类型'] = '缺乏肌肉型';
|
// }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '不足'){
|
||||||
}else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '标准'){
|
// $return_data['身体类型'] = '缺乏肌肉型';
|
||||||
$return_data['身体类型'] = '标准型';
|
// }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '标准'){
|
||||||
}else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '优'){
|
// $return_data['身体类型'] = '标准型';
|
||||||
$return_data['身体类型'] = '标准肌肉型';
|
// }else if($return_data['脂肪率'][1] == '标准' && $return_data['肌肉率'][1] == '优'){
|
||||||
}else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '不足'){
|
// $return_data['身体类型'] = '标准肌肉型';
|
||||||
$return_data['身体类型'] = '偏瘦';
|
// }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '不足'){
|
||||||
}else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '标准'){
|
// $return_data['身体类型'] = '偏瘦';
|
||||||
$return_data['身体类型'] = '偏瘦肌肉型';
|
// }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '标准'){
|
||||||
}else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '优'){
|
// $return_data['身体类型'] = '偏瘦肌肉型';
|
||||||
$return_data['身体类型'] = '健美肌肉型';
|
// }else if($return_data['脂肪率'][1] == '偏低' && $return_data['肌肉率'][1] == '优'){
|
||||||
}else{
|
// $return_data['身体类型'] = '健美肌肉型';
|
||||||
$return_data['身体类型'] = '暂无数据';
|
|
||||||
}
|
|
||||||
// }else{
|
// }else{
|
||||||
// $return_data['身体类型'] = '儿童';
|
// $return_data['身体类型'] = '暂无数据';
|
||||||
// }
|
// }
|
||||||
|
// // }else{
|
||||||
|
// // $return_data['身体类型'] = '儿童';
|
||||||
|
// // }
|
||||||
|
$return_data['身体类型'] = $result['body'];
|
||||||
|
// 身体类型修改end
|
||||||
|
|
||||||
$return_data['身体年龄'] = $result['bodyage'];
|
$return_data['身体年龄'] = $result['bodyage'];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,11 +92,8 @@ class Card extends Base{
|
||||||
if($this->token_time_validate($data['token']) === false){
|
if($this->token_time_validate($data['token']) === false){
|
||||||
return $this->msg(20001);
|
return $this->msg(20001);
|
||||||
}
|
}
|
||||||
// die;
|
|
||||||
unset($data['token']);
|
unset($data['token']);
|
||||||
|
|
||||||
return $this->get_user_body_data($data);
|
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']
|
// $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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -543,22 +540,14 @@ class Card extends Base{
|
||||||
if(array_key_exists('adc', $data)){
|
if(array_key_exists('adc', $data)){
|
||||||
$result_data['adc'] = $data['adc'];
|
$result_data['adc'] = $data['adc'];
|
||||||
}
|
}
|
||||||
// $result_data['adc'] = array_key_exists('adc', $data)?$data['adc']:550;
|
|
||||||
$calculate_body_formula = new Calculatebody();
|
$calculate_body_formula = new Calculatebody();
|
||||||
// dump($user_data['birthday']);
|
// 计算身体数据
|
||||||
// dump($result_data);
|
|
||||||
$get_body_value = $calculate_body_formula->calculate_body_data_result($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['gender'] = $user_data['gender'];
|
||||||
$get_body_value['birthday'] = $user_data['birthday'];
|
$get_body_value['birthday'] = $user_data['birthday'];
|
||||||
|
// 添加身高体重bmi的标尺标准
|
||||||
$get_body_value = $this->hwb_standard($get_body_value);
|
$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 = [
|
$set_data = [
|
||||||
'acd_id'=>$data['acd_id'],
|
'acd_id'=>$data['acd_id'],
|
||||||
'aud_id'=>$data['aud_id'],
|
'aud_id'=>$data['aud_id'],
|
||||||
|
|
@ -589,10 +578,10 @@ class Card extends Base{
|
||||||
'body_age'=>$get_body_value['身体年龄']
|
'body_age'=>$get_body_value['身体年龄']
|
||||||
];
|
];
|
||||||
if(strlen($set_data['record_time']) <= 12){
|
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']);
|
$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);
|
$set_user_data = Db::table('app_card_body_data')->insert($set_data);
|
||||||
if($set_user_data){
|
if($set_user_data){
|
||||||
// 返回简要数据
|
// 返回简要数据
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,36 @@ class Download extends Base{
|
||||||
public function demo(){
|
public function demo(){
|
||||||
|
|
||||||
$num = Db::table('app_version_log')->order('id desc')->find();
|
$num = Db::table('app_version_log')->order('id desc')->find();
|
||||||
echo '你好,这里就是下载页面';
|
echo '你好,这里仅仅是个下载展示页面-1';
|
||||||
echo '<br><a href="'.$num['download_url'].'">点击下载</a>';
|
echo '<br><a href="'.$num['download_url'].'">点击下载</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -194,6 +194,11 @@ class Login extends Base{
|
||||||
if(!array_key_exists('data', $data)){
|
if(!array_key_exists('data', $data)){
|
||||||
return $this->msg(10001);
|
return $this->msg(10001);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(cache($data['data'])){
|
||||||
|
return $this->msg(10002,'60秒仅可发送一次验证码');
|
||||||
|
}
|
||||||
|
|
||||||
$num = mt_rand(100000,999999);
|
$num = mt_rand(100000,999999);
|
||||||
if (preg_match('/^\d{11}$/', $data['data'])) {
|
if (preg_match('/^\d{11}$/', $data['data'])) {
|
||||||
$result = $this->send_tel_code($data['data'],$num);
|
$result = $this->send_tel_code($data['data'],$num);
|
||||||
|
|
|
||||||
|
|
@ -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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
|
|
@ -53,7 +53,7 @@ class Vitalcapacity extends Base{
|
||||||
return $this->vitalcapacity_save_record_data_action($data);
|
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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
|
|
@ -70,7 +70,7 @@ class Vitalcapacity extends Base{
|
||||||
return $this->vitalcapacity_save_record_data_action($data);
|
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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ class Vitalcapacity extends Base{
|
||||||
return $this->vitalcapacity_data_report_action($data);
|
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){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
|
|
@ -114,14 +114,29 @@ class Vitalcapacity extends Base{
|
||||||
$temporary_arr['three_val'] = $data['three'];
|
$temporary_arr['three_val'] = $data['three'];
|
||||||
$temporary_arr['average_val'] = $temporary_arr['average'];
|
$temporary_arr['average_val'] = $temporary_arr['average'];
|
||||||
$temporary_arr['flow_val'] = array_key_exists('flow', $data)?$data['flow']:'0.00';
|
$temporary_arr['flow_val'] = array_key_exists('flow', $data)?$data['flow']:'0.00';
|
||||||
|
// 处理记录时间
|
||||||
if(strlen($temporary_arr['record_time']) <= 12){
|
if(strlen($temporary_arr['record_time']) <= 12){
|
||||||
$temporary_arr['record_time'] = $this->addCurrentTimeToDateString($temporary_arr['record_time']);
|
$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();
|
$user_msg = Db::name('app_user_data')->where(['id'=>$data['aud_id']])->field('grade,gender')->find();
|
||||||
if($user_msg){
|
if($user_msg){
|
||||||
|
// 根据性别&年级&年龄查规则
|
||||||
|
if($user_msg['grade'] != 'nothing'){
|
||||||
|
// 有年级项
|
||||||
|
// 等级项(及格优秀良好等)
|
||||||
$achievement_judge_data = $this->vitalcapacity_achievement_judge(['average'=>$temporary_arr['average'],'grade'=>$user_msg['grade'],'gender'=>$user_msg['gender']]);
|
$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'] = $achievement_judge_data['score'].','.$achievement_judge_data['level'].','.$this->color[$achievement_judge_data['level']];
|
||||||
$temporary_arr['score_val'] = $achievement_judge_data['score'];
|
$temporary_arr['score_val'] = $achievement_judge_data['score'];
|
||||||
|
// 获取肺活量标准
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$achievement_judge_data['level'] = "无";
|
||||||
|
$temporary_arr['score'] = "0,无,无";
|
||||||
|
$temporary_arr['score_val'] = "0";
|
||||||
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
return $this->msg(10004);
|
return $this->msg(10004);
|
||||||
}
|
}
|
||||||
|
|
@ -162,11 +177,12 @@ class Vitalcapacity extends Base{
|
||||||
]);
|
]);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
$standard_data = $this->get_vitalcapacity_data($data['aud_id']);
|
|
||||||
$time = $result[0]['record_time'];
|
$time = $result[0]['record_time'];
|
||||||
$time = strtotime($time);
|
$time = strtotime($time);
|
||||||
$time = date('Y年m月d日 H:i:s', $time);
|
$time = date('Y年m月d日 H:i:s', $time);
|
||||||
$o_l = explode(',',$result[0]['score']);
|
$o_l = explode(',',$result[0]['score']);
|
||||||
|
$standard_data = $this->get_vitalcapacity_data($data['aud_id']);
|
||||||
return $this->msg([
|
return $this->msg([
|
||||||
'average'=>$result[0]['average'].'ml',
|
'average'=>$result[0]['average'].'ml',
|
||||||
'level'=>$o_l[1],
|
'level'=>$o_l[1],
|
||||||
|
|
@ -287,6 +303,7 @@ class Vitalcapacity extends Base{
|
||||||
// 减 bcsub(,,20)
|
// 减 bcsub(,,20)
|
||||||
// 乘 bcmul(,,20)
|
// 乘 bcmul(,,20)
|
||||||
// 除 bcdiv(,,20)
|
// 除 bcdiv(,,20)
|
||||||
|
|
||||||
// 肺活量成绩判断
|
// 肺活量成绩判断
|
||||||
public function vitalcapacity_achievement_judge($data){
|
public function vitalcapacity_achievement_judge($data){
|
||||||
$str = "sex = ".$data['gender']." and ".$data['grade']." <= ".$data['average'];
|
$str = "sex = ".$data['gender']." and ".$data['grade']." <= ".$data['average'];
|
||||||
|
|
@ -302,6 +319,10 @@ class Vitalcapacity extends Base{
|
||||||
// 肺活量判断区间
|
// 肺活量判断区间
|
||||||
public function vitalcapacity_standard_interval($val,$data){
|
public function vitalcapacity_standard_interval($val,$data){
|
||||||
// 缓存一周
|
// 缓存一周
|
||||||
|
$result = '';
|
||||||
|
if(count($data) <= 0){
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
$temporary_qj = $data;
|
$temporary_qj = $data;
|
||||||
$max = 0;
|
$max = 0;
|
||||||
$min = 0;
|
$min = 0;
|
||||||
|
|
@ -314,25 +335,12 @@ class Vitalcapacity extends Base{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// dump($temporary_qj);
|
|
||||||
// dump($data);
|
|
||||||
// die;
|
|
||||||
$num = count($temporary_qj)-1-$num;
|
$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);
|
$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);
|
$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;
|
return $result;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1,minimum-scale=1, maximum-scale=1,user-scalable=no">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<meta http-equiv="Access-Control-Allow-Origin" content="*">
|
||||||
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||||
|
<meta name="format-detection" content="telephone=no, email=no">
|
||||||
|
<meta name="full-screen" content="true">
|
||||||
|
<meta name="screen-orientation" content="portrait">
|
||||||
|
<meta name="x5-fullscreen" content="true">
|
||||||
|
<meta name="360-fullscreen" content="true">
|
||||||
|
<title>下载页面</title>
|
||||||
|
<script src="/x_admin/js/jq.js"></script>
|
||||||
|
<style>
|
||||||
|
*{
|
||||||
|
padding: 0 0;
|
||||||
|
margin: 0 0;
|
||||||
|
}
|
||||||
|
.big_box{
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
overflow: auto;
|
||||||
|
padding: 10vw;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body id="box_k">
|
||||||
|
<div class="big_box">
|
||||||
|
<div>你好,这里仅仅是个下载展示页面-2</div>
|
||||||
|
<a href="{$url}">点击下载</a>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
@ -14,8 +14,12 @@ use think\Route;
|
||||||
// // ################################################################下载################################################################
|
// // ################################################################下载################################################################
|
||||||
// // ################################################################下载################################################################
|
// // ################################################################下载################################################################
|
||||||
|
|
||||||
//下载页
|
//下载页1
|
||||||
Route::any('/download', 'app/download/demo');
|
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');
|
// Route::any('/CityList.js', 'tsf/CityList.js');
|
||||||
|
|
||||||
// // ################################################################管理后台################################################################
|
// // ################################################################管理后台################################################################
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue