测试版多语言版本,整体版,最后一版
This commit is contained in:
parent
3791828a0b
commit
4a82d90a56
|
|
@ -616,20 +616,20 @@ class Card extends Base{
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 只有含有阻抗的记录才有数据参考
|
// 只有含有阻抗的记录才有数据参考
|
||||||
if($result[0]['record_type'] == 'by_device_adc'){
|
// if($result[0]['record_type'] == 'by_device_adc'){
|
||||||
if(count($result_end['cplist']['nutritionlist']) <= 0){
|
// if(count($result_end['cplist']['nutritionlist']) <= 0){
|
||||||
$result_end['literature'] = [];
|
// $result_end['literature'] = [];
|
||||||
}else{
|
// }else{
|
||||||
$result_end['literature'] = [
|
$result_end['literature'] = [
|
||||||
'《中华人民共和国卫生行业标准WS 423-2013》',
|
'《中华人民共和国卫生行业标准WS/T 423-2022》',
|
||||||
'《中华人民共和国卫生行业标准WS/T 612-2018》',
|
'《中华人民共和国卫生行业标准WS/T 612-2018》',
|
||||||
'《中华人民共和国卫生行业标准WS/T1586-2018》',
|
'《中华人民共和国卫生行业标准WS/T 586-2018》',
|
||||||
'《WHO 5~19岁身高/体重判定标准》',
|
'《WHO 5~19岁身高/体重判定标准》',
|
||||||
];
|
];
|
||||||
}
|
// }
|
||||||
}else{
|
// }else{
|
||||||
$result_end['literature'] = [];
|
// $result_end['literature'] = [];
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 加入曲线板块底部的减肥计划数据start
|
// 加入曲线板块底部的减肥计划数据start
|
||||||
$result_end['target_current'] = $this->base_target_initial_cumulative_weight([
|
$result_end['target_current'] = $this->base_target_initial_cumulative_weight([
|
||||||
|
|
@ -892,7 +892,8 @@ class Card extends Base{
|
||||||
$data['e_time'] = $data['e_time'].' 23:59:59';
|
$data['e_time'] = $data['e_time'].' 23:59:59';
|
||||||
|
|
||||||
$user_data_list = Db::table($this->card_use_db_name['1'])
|
$user_data_list = Db::table($this->card_use_db_name['1'])
|
||||||
->where('aud_id', $data['aud_id'])
|
// ->where('aud_id', $data['aud_id'])
|
||||||
|
->where(['aud_id'=>$data['aud_id'],'is_del'=> 0])
|
||||||
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
|
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
|
||||||
->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr")
|
->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr")
|
||||||
// ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
|
// ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
|
||||||
|
|
|
||||||
|
|
@ -171,7 +171,7 @@ class Skip extends Base{
|
||||||
|
|
||||||
}
|
}
|
||||||
// 曲线
|
// 曲线
|
||||||
public function skip_curve_chart($data = ['aud_id'=>'9','time'=>'2024-10','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
public function skip_curve_chart($data = ['aud_id'=>'144','time'=>'2025','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||||
try {
|
try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
|
|
@ -355,7 +355,7 @@ class Skip extends Base{
|
||||||
$timeData = explode('-', $data['time']);
|
$timeData = explode('-', $data['time']);
|
||||||
|
|
||||||
// 根据$timeData的长度构建不同的查询条件
|
// 根据$timeData的长度构建不同的查询条件
|
||||||
$map = ['aud_id' => $audid];
|
$map = ['aud_id' => $audid,'is_del'=>0];
|
||||||
switch (count($timeData)) {
|
switch (count($timeData)) {
|
||||||
case 3: // 年月日
|
case 3: // 年月日
|
||||||
$map['record_time'] = ['between', [date('Y-m-d 00:00:00', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2])), date('Y-m-d 23:59:59', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2]))]];
|
$map['record_time'] = ['between', [date('Y-m-d 00:00:00', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2])), date('Y-m-d 23:59:59', strtotime($timeData[0] . '-' . $timeData[1] . '-' . $timeData[2]))]];
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,9 @@ Route::any('/testedition/card_height_prediction', 'testapp/card/card_height_pred
|
||||||
// 身高预测接口
|
// 身高预测接口
|
||||||
Route::any('/card_bmi_evaluation', 'app/card/card_bmi_evaluation');
|
Route::any('/card_bmi_evaluation', 'app/card/card_bmi_evaluation');
|
||||||
Route::any('/testedition/card_bmi_evaluation', 'testapp/card/card_bmi_evaluation');
|
Route::any('/testedition/card_bmi_evaluation', 'testapp/card/card_bmi_evaluation');
|
||||||
|
// 身高预测接口
|
||||||
|
Route::any('/incremental_comparison', 'app/card/incremental_comparison');
|
||||||
|
Route::any('/testedition/incremental_comparison', 'testapp/card/incremental_comparison');
|
||||||
|
|
||||||
|
|
||||||
// ################################跳绳接口################################
|
// ################################跳绳接口################################
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@ class Base extends Controller{
|
||||||
// 如果需要更精确的计算(包括小时、分钟等转换成的天数),可以使用以下方式:
|
// 如果需要更精确的计算(包括小时、分钟等转换成的天数),可以使用以下方式:
|
||||||
// $totalSecondsDifference = $interval->format('%a') * 86400 + $interval->format('%h') * 3600 + $interval->format('%i') * 60 + $interval->format('%s');
|
// $totalSecondsDifference = $interval->format('%a') * 86400 + $interval->format('%h') * 3600 + $interval->format('%i') * 60 + $interval->format('%s');
|
||||||
// $daysDifference = floor($totalSecondsDifference / 86400); // 将总秒数转换为天数并取整
|
// $daysDifference = floor($totalSecondsDifference / 86400); // 将总秒数转换为天数并取整
|
||||||
|
// dump($user_login);
|
||||||
// 判断差异是否超过指定的天数
|
// 判断差异是否超过指定的天数
|
||||||
if ($daysDifference > $this->token_time) {
|
if ($daysDifference > $this->token_time) {
|
||||||
// echo "超过 {$specifiedDays} 天";
|
// echo "超过 {$specifiedDays} 天";
|
||||||
|
|
@ -177,8 +177,8 @@ class Base extends Controller{
|
||||||
return ['state'=>false,'language'=>$user_login['language']];
|
return ['state'=>false,'language'=>$user_login['language']];
|
||||||
} else {
|
} else {
|
||||||
// echo "未超过 {$specifiedDays} 天";
|
// echo "未超过 {$specifiedDays} 天";
|
||||||
$user_login = Db::table($this->base_use_db_name['6'])->where(['token'=>$token])->update(['login_time'=>date('Y-m-d H:i:s')]);
|
$user_login_update = Db::table($this->base_use_db_name['6'])->where(['token'=>$token])->update(['login_time'=>date('Y-m-d H:i:s')]);
|
||||||
if($user_login){
|
if($user_login_update){
|
||||||
Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.date('Y-m-d H:i:s'), 'token_log');
|
Log::record('用户尝试更新token时间,token:' . $token.',记录成功,最新的时间为'.date('Y-m-d H:i:s'), 'token_log');
|
||||||
return ['state'=>true,'language'=>$user_login['language']];
|
return ['state'=>true,'language'=>$user_login['language']];
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -224,6 +224,48 @@ class Base extends Controller{
|
||||||
$ageInMonthsPrecise = intval($ageInMonths + $partialMonth);
|
$ageInMonthsPrecise = intval($ageInMonths + $partialMonth);
|
||||||
return $ageInMonthsPrecise;
|
return $ageInMonthsPrecise;
|
||||||
}
|
}
|
||||||
|
// 计算年龄(岁数和月数)
|
||||||
|
public function calculateAge($birthDate) {
|
||||||
|
// 创建出生日期和当前日期的DateTime对象
|
||||||
|
$birthDate = new \DateTime($birthDate);
|
||||||
|
$currentDate = new \DateTime();
|
||||||
|
|
||||||
|
// 计算年份差异
|
||||||
|
$yearDiff = $currentDate->format('Y') - $birthDate->format('Y');
|
||||||
|
|
||||||
|
// 计算月份差异
|
||||||
|
$monthDiff = $currentDate->format('m') - $birthDate->format('m');
|
||||||
|
|
||||||
|
// 如果当前月份小于出生月份,或者月份相同但当前日小于出生日
|
||||||
|
if ($monthDiff < 0 || ($monthDiff == 0 && $currentDate->format('d') < $birthDate->format('d'))) {
|
||||||
|
$yearDiff--;
|
||||||
|
$monthDiff += 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 如果当前日小于出生日,需要再减一个月
|
||||||
|
if ($currentDate->format('d') < $birthDate->format('d')) {
|
||||||
|
$monthDiff--;
|
||||||
|
// 如果月份变为负数,调整年份和月份
|
||||||
|
if ($monthDiff < 0) {
|
||||||
|
$monthDiff += 12;
|
||||||
|
$yearDiff--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 确保年份和月份不为负数
|
||||||
|
$yearDiff = max(0, $yearDiff);
|
||||||
|
$monthDiff = max(0, $monthDiff);
|
||||||
|
|
||||||
|
// 构建结果数组
|
||||||
|
$result = [
|
||||||
|
'age_year' => $yearDiff,
|
||||||
|
'age_year_unit' => '岁',
|
||||||
|
'age_months' => $monthDiff,
|
||||||
|
'age_months_unit' => '个月',
|
||||||
|
];
|
||||||
|
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
// 曲线页面-底部统计动作
|
// 曲线页面-底部统计动作
|
||||||
public function base_target_initial_cumulative_weight($data = []){
|
public function base_target_initial_cumulative_weight($data = []){
|
||||||
// 第一种:用户详情(所有数据都有)
|
// 第一种:用户详情(所有数据都有)
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ class Card extends Base{
|
||||||
'9'=>'pc_weightstand_copy1',
|
'9'=>'pc_weightstand_copy1',
|
||||||
'10'=>'pc_bmistand_copy1',
|
'10'=>'pc_bmistand_copy1',
|
||||||
'11'=>'app_account_number_copy1',
|
'11'=>'app_account_number_copy1',
|
||||||
|
'12'=>'ws_height',
|
||||||
];
|
];
|
||||||
protected $age_limit = 16;
|
protected $age_limit = 16;
|
||||||
protected $unit_symbol = ['score'=>'分','height'=>'CM','weight'=>'公斤','bmi'=>'','fat_r'=>'%','fat_w'=>'kg','muscle'=>'%','muscleval'=>'kg','water'=>'kg','bone'=>'kg','protein'=>'%','proteinval'=>'kg','kcal'=>'kcal','visceral'=>'','sfr'=>'%',];
|
protected $unit_symbol = ['score'=>'分','height'=>'CM','weight'=>'公斤','bmi'=>'','fat_r'=>'%','fat_w'=>'kg','muscle'=>'%','muscleval'=>'kg','water'=>'kg','bone'=>'kg','protein'=>'%','proteinval'=>'kg','kcal'=>'kcal','visceral'=>'','sfr'=>'%',];
|
||||||
|
|
@ -90,7 +91,7 @@ class Card extends Base{
|
||||||
// 详细卡片信息
|
// 详细卡片信息
|
||||||
// $data = ['id'=>'2']
|
// $data = ['id'=>'2']
|
||||||
public function card_data_detailed($data=['aud_id'=>'144']){
|
public function card_data_detailed($data=['aud_id'=>'144']){
|
||||||
// try {
|
try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -104,46 +105,6 @@ class Card extends Base{
|
||||||
// $return_data;
|
// $return_data;
|
||||||
$return_data = $this->get_user_body_data($data);
|
$return_data = $this->get_user_body_data($data);
|
||||||
|
|
||||||
return $return_data;
|
|
||||||
// } catch (\Exception $e) {
|
|
||||||
// // 捕获异常
|
|
||||||
// $logContent["flie"] = $e->getFile();
|
|
||||||
// $logContent["line"] = $e->getLine();
|
|
||||||
// $logContent['all_content'] = "异常信息:\n";
|
|
||||||
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
|
||||||
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
|
||||||
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
|
||||||
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
|
||||||
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
|
||||||
// $this->record_api_log($data, $logContent, null);
|
|
||||||
// return $this->msg(99999);
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 曲线页面-曲线接口
|
|
||||||
public function card_curve_chart($data = ['aud_id'=>'11','s_time'=>'2024-04-01','e_time'=>'2024-12-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
|
||||||
try {
|
|
||||||
// 你的业务逻辑
|
|
||||||
if(count(input('post.')) > 0){
|
|
||||||
$data = input('post.');
|
|
||||||
}
|
|
||||||
if(!array_key_exists('aud_id', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data) || !array_key_exists('token', $data)){
|
|
||||||
return $this->msg(10001);
|
|
||||||
}
|
|
||||||
unset($data['token']);
|
|
||||||
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
|
|
||||||
return $this->msg(10005);
|
|
||||||
}
|
|
||||||
if(!$this->verify_data_is_ok($data['s_time'],'datetime')){
|
|
||||||
return $this->msg(10005);
|
|
||||||
}
|
|
||||||
if(!$this->verify_data_is_ok($data['e_time'],'datetime')){
|
|
||||||
return $this->msg(10005);
|
|
||||||
}
|
|
||||||
$return_data = $this->curve_chart_action($data);
|
|
||||||
// 成功
|
|
||||||
$this->record_api_log($data, null, $return_data);
|
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
// 捕获异常
|
// 捕获异常
|
||||||
|
|
@ -160,6 +121,46 @@ class Card extends Base{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 曲线页面-曲线接口
|
||||||
|
public function card_curve_chart($data = ['aud_id'=>'144','s_time'=>'2025-01-29','e_time'=>'2025-04-29','token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
||||||
|
// try {
|
||||||
|
// 你的业务逻辑
|
||||||
|
if(count(input('post.')) > 0){
|
||||||
|
$data = input('post.');
|
||||||
|
}
|
||||||
|
if(!array_key_exists('aud_id', $data) || !array_key_exists('s_time', $data) || !array_key_exists('e_time', $data) || !array_key_exists('token', $data)){
|
||||||
|
return $this->msg(10001);
|
||||||
|
}
|
||||||
|
// unset($data['token']);
|
||||||
|
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['s_time'],'datetime')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['e_time'],'datetime')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
$return_data = $this->curve_chart_action($data);
|
||||||
|
// 成功
|
||||||
|
$this->record_api_log($data, null, $return_data);
|
||||||
|
return $return_data;
|
||||||
|
// } catch (\Exception $e) {
|
||||||
|
// // 捕获异常
|
||||||
|
// $logContent["flie"] = $e->getFile();
|
||||||
|
// $logContent["line"] = $e->getLine();
|
||||||
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
|
// $this->record_api_log($data, $logContent, null);
|
||||||
|
// return $this->msg(99999);
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// 手动记录
|
// 手动记录
|
||||||
// $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']
|
||||||
|
|
@ -486,6 +487,42 @@ class Card extends Base{
|
||||||
// return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
public function incremental_comparison($data = ['aud_id'=>'87','token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
||||||
|
// try {
|
||||||
|
// 你的业务逻辑
|
||||||
|
if(count(input('post.')) > 0){
|
||||||
|
$data = input('post.');
|
||||||
|
}
|
||||||
|
if(!is_array($data)){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
if(!array_key_exists('aud_id', $data) || !array_key_exists('token', $data)){
|
||||||
|
return $this->msg(10001);
|
||||||
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['aud_id'],'intnum')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['token'],'str')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
|
$request_result = $this->incremental_comparison_action($data);
|
||||||
|
// $this->record_api_log($cbe_data, null, $request_result);
|
||||||
|
return $this->msg($request_result);
|
||||||
|
// } catch (\Exception $e) {
|
||||||
|
// // 捕获异常
|
||||||
|
// $logContent["flie"] = $e->getFile();
|
||||||
|
// $logContent["line"] = $e->getLine();
|
||||||
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
|
// $this->record_api_log($cbe_data, $logContent, null);
|
||||||
|
// return $this->msg(99999);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
################################################################业务接口################################################################
|
################################################################业务接口################################################################
|
||||||
################################################################业务接口################################################################
|
################################################################业务接口################################################################
|
||||||
|
|
@ -628,20 +665,20 @@ class Card extends Base{
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// 只有含有阻抗的记录才有数据参考
|
// 只有含有阻抗的记录才有数据参考
|
||||||
if($result[0]['record_type'] == 'by_device_adc'){
|
// if($result[0]['record_type'] == 'by_device_adc'){
|
||||||
if(count($result_end['cplist']['nutritionlist']) <= 0){
|
// if(count($result_end['cplist']['nutritionlist']) <= 0){
|
||||||
$result_end['literature'] = [];
|
// $result_end['literature'] = [];
|
||||||
}else{
|
// }else{
|
||||||
$result_end['literature'] = [
|
$result_end['literature'] = [
|
||||||
'《中华人民共和国卫生行业标准WS 423-2013》',
|
'《中华人民共和国卫生行业标准WS/T 423-2022》',
|
||||||
'《中华人民共和国卫生行业标准WS/T 612-2018》',
|
'《中华人民共和国卫生行业标准WS/T 612-2018》',
|
||||||
'《中华人民共和国卫生行业标准WS/T1586-2018》',
|
'《中华人民共和国卫生行业标准WS/T 586-2018》',
|
||||||
'《WHO 5~19岁身高/体重判定标准》',
|
'《WHO 5~19岁身高/体重判定标准》',
|
||||||
];
|
];
|
||||||
}
|
// }
|
||||||
}else{
|
// }else{
|
||||||
$result_end['literature'] = [];
|
// $result_end['literature'] = [];
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 加入曲线板块底部的减肥计划数据start
|
// 加入曲线板块底部的减肥计划数据start
|
||||||
$result_end['target_current'] = $this->base_target_initial_cumulative_weight([
|
$result_end['target_current'] = $this->base_target_initial_cumulative_weight([
|
||||||
|
|
@ -904,13 +941,14 @@ class Card extends Base{
|
||||||
|
|
||||||
// 曲线图动作函数
|
// 曲线图动作函数
|
||||||
public function curve_chart_action($data){
|
public function curve_chart_action($data){
|
||||||
|
|
||||||
$card_body_curve_arr = implode(',',$this->card_body_curve_arr);
|
$card_body_curve_arr = implode(',',$this->card_body_curve_arr);
|
||||||
|
|
||||||
$data['s_time'] = $data['s_time'].' 00:00:00';
|
$data['s_time'] = $data['s_time'].' 00:00:00';
|
||||||
$data['e_time'] = $data['e_time'].' 23:59:59';
|
$data['e_time'] = $data['e_time'].' 23:59:59';
|
||||||
|
|
||||||
$user_data_list = Db::table($this->card_use_db_name['1'])
|
$user_data_list = Db::table($this->card_use_db_name['1'])
|
||||||
->where('aud_id', $data['aud_id'])
|
->where(['aud_id'=>$data['aud_id'],'is_del'=> 0])
|
||||||
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
|
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
|
||||||
->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr")
|
->field("record_type,record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr")
|
||||||
// ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
|
// ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
|
||||||
|
|
@ -956,7 +994,17 @@ class Card extends Base{
|
||||||
array_push($data_arr,$temporary_arr);
|
array_push($data_arr,$temporary_arr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $this->msg($data_arr);
|
// dump($data);
|
||||||
|
$language_data = new Language();
|
||||||
|
$user_language = Db::table($this->card_use_db_name['11'])
|
||||||
|
->where(['token'=>$data['token'],'is_del'=>0])
|
||||||
|
->field('language')
|
||||||
|
->find();
|
||||||
|
if(!$user_language['language']){
|
||||||
|
$user_language['language'] = 'zh-Hans';
|
||||||
|
}
|
||||||
|
$result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $data_arr);
|
||||||
|
return $this->msg($result_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################card_manual_recording
|
################################################card_manual_recording
|
||||||
|
|
@ -1320,11 +1368,388 @@ class Card extends Base{
|
||||||
// 处理key名称一致end
|
// 处理key名称一致end
|
||||||
return $this->msg($data);
|
return $this->msg($data);
|
||||||
}
|
}
|
||||||
|
################################################incremental_comparison
|
||||||
|
public function incremental_comparison_action($data){
|
||||||
|
// 加 bcadd(,,20)
|
||||||
|
// 减 bcsub(,,20)
|
||||||
|
// 乘 bcmul(,,20)
|
||||||
|
// 除 bcdiv(,,20)
|
||||||
|
// protected $card_use_db_name = [
|
||||||
|
// '1'=>'app_card_body_data_copy1',
|
||||||
|
// '2'=>'app_user_data_copy1',
|
||||||
|
// '3'=>'pc_bmistand_copy1',
|
||||||
|
// '4'=>'pc_heightstand_copy1',
|
||||||
|
// '5'=>'pc_weightstand_copy1',
|
||||||
|
// '6'=>'pc_childrenprescription_copy1',
|
||||||
|
// '7'=>'pc_childprescriptionbyage_copy1',
|
||||||
|
// '8'=>'pc_heightstand_copy1',
|
||||||
|
// '9'=>'pc_weightstand_copy1',
|
||||||
|
// '10'=>'pc_bmistand_copy1',
|
||||||
|
// '11'=>'app_account_number_copy1',
|
||||||
|
// ];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$return_data = [];
|
||||||
|
$user_last_data = Db::table($this->card_use_db_name['1'])
|
||||||
|
->alias('a')
|
||||||
|
->join(''.$this->card_use_db_name['2'].' b','a.aud_id = b.id','LEFT')
|
||||||
|
->where('a.aud_id',$data['aud_id'])
|
||||||
|
->order('record_time desc')
|
||||||
|
->field('a.record_time as record_time,a.height_val,b.gender,b.nickname,b.gender,b.birthday')
|
||||||
|
->find();
|
||||||
|
|
||||||
|
// 设置基础数据
|
||||||
|
$return_data['nickname'] = $user_last_data['nickname'];
|
||||||
|
$return_data['gender'] = $user_last_data['gender'] == 1 ? '男' : '女';
|
||||||
|
$return_data['birthday'] = $user_last_data['birthday'];
|
||||||
|
$return_data['age'] = $this->calculateAge($user_last_data['birthday']);
|
||||||
|
// dump($return_data);
|
||||||
|
// die;
|
||||||
|
$return_data['age_year'] = $return_data['age']['age_year'];
|
||||||
|
$return_data['age_year_unit'] = $return_data['age']['age_year_unit'];
|
||||||
|
$return_data['age_months'] = $return_data['age']['age_months'];
|
||||||
|
$return_data['age_months_unit'] = $return_data['age']['age_months_unit'];
|
||||||
|
$return_data['height'] = $user_last_data['height_val'];
|
||||||
|
unset($return_data['age']);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$half_year = Db::table($this->card_use_db_name['1'])
|
||||||
|
->where(['aud_id'=>$data['aud_id']])
|
||||||
|
->whereTime('record_time', '>=', '-6 month')
|
||||||
|
->order('record_time desc')
|
||||||
|
->field('id,record_time,height_val')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
$one_year = Db::table($this->card_use_db_name['1'])
|
||||||
|
->where(['aud_id'=>$data['aud_id']])
|
||||||
|
->whereTime('record_time', '>=', '-12 month')
|
||||||
|
->order('record_time desc')
|
||||||
|
->field('id,record_time,height_val')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
$month_age = $this->calculateAgeInMonthsWithPrecision($user_last_data['birthday']);
|
||||||
|
|
||||||
|
$height_standard = Db::table($this->card_use_db_name['12'])
|
||||||
|
->where(['gender'=>$user_last_data['gender'],'age'=>['<=',$month_age]])
|
||||||
|
->order('age desc')
|
||||||
|
->find();
|
||||||
|
// dump($height_standard);
|
||||||
|
// 处理身体级别
|
||||||
|
$true_altitude_list = [
|
||||||
|
[
|
||||||
|
'maxvalue' => $height_standard['f1sd'],
|
||||||
|
'minvalue' => 0,
|
||||||
|
'text' => '矮',
|
||||||
|
'color' => '#ff5656',
|
||||||
|
'level' => 4
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'maxvalue' => $height_standard['middle'],
|
||||||
|
'minvalue' => $height_standard['f1sd'],
|
||||||
|
'text' => '偏矮',
|
||||||
|
'color' => '#ffab00',
|
||||||
|
'level' => 2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'maxvalue' => $height_standard['z1sd'],
|
||||||
|
'minvalue' => $height_standard['middle'],
|
||||||
|
'text' => '标准',
|
||||||
|
'color' => '#5ad06d',
|
||||||
|
'level' => 1
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'maxvalue' => $height_standard['z2sd'],
|
||||||
|
'minvalue' => $height_standard['z1sd'],
|
||||||
|
'text' => '偏高',
|
||||||
|
'color' => '#6492f6',
|
||||||
|
'level' => 3
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'maxvalue' => 99999,
|
||||||
|
'minvalue' => $height_standard['z2sd'],
|
||||||
|
'text' => '高',
|
||||||
|
'color' => '#3967d6',
|
||||||
|
'level' => 5
|
||||||
|
]
|
||||||
|
];
|
||||||
|
$return_data['heightlevel'] = 1;
|
||||||
|
foreach ($true_altitude_list as $key => $value) {
|
||||||
|
// dump($return_data['height']);
|
||||||
|
// dump($value);
|
||||||
|
if($return_data['height'] >= $value['minvalue'] && $return_data['height'] < $value['maxvalue']){
|
||||||
|
// dump($value);
|
||||||
|
$return_data['heightlevel'] = $value['level'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// die;
|
||||||
|
// 处理半年信息
|
||||||
|
if(count($half_year) >= 2){
|
||||||
|
$return_data['halfyearheight'] = bcsub($half_year[0]['height_val'],$half_year[count($half_year)-1]['height_val'],2);
|
||||||
|
}else{
|
||||||
|
$return_data['halfyearheight'] = 0;
|
||||||
|
}
|
||||||
|
// $height_standard_half = Db::table($this->card_use_db_name['12'])
|
||||||
|
// ->where(['gender'=>$user_last_data['gender'],'age'=>['<=',($month_age-6)<=0?0:$month_age-6]])
|
||||||
|
// ->order('age desc')
|
||||||
|
// ->find();
|
||||||
|
$height_standard_half = $this->count_increment_val($return_data,'half_year');
|
||||||
|
// dump($height_standard_half);
|
||||||
|
// die;
|
||||||
|
$halfyearstandlist = [
|
||||||
|
[
|
||||||
|
'val' => 0,
|
||||||
|
'text' => '偏低',
|
||||||
|
'color' => '#ffda69',
|
||||||
|
'level' => 2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'val' => $height_standard_half,
|
||||||
|
'text' => '正常',
|
||||||
|
'color' => '#5ad06d',
|
||||||
|
'level' => 1
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
for ($i=count($halfyearstandlist)-1; $i >=0 ; $i--) {
|
||||||
|
if($return_data['halfyearheight'] >= $halfyearstandlist[$i]['val']){
|
||||||
|
$return_data['halfyearheightlevel'] = $halfyearstandlist[$i]['level'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$return_data['halfyearstandheight'] = $halfyearstandlist[1]['val'];
|
||||||
|
// 处理一年信息
|
||||||
|
if(count($one_year) >= 2){
|
||||||
|
$return_data['yearheight'] = bcsub($one_year[0]['height_val'],$one_year[count($one_year)-1]['height_val'],2);
|
||||||
|
}else{
|
||||||
|
$return_data['yearheight'] = 0;
|
||||||
|
}
|
||||||
|
// $height_standard_year = Db::table($this->card_use_db_name['12'])
|
||||||
|
// ->where(['gender'=>$user_last_data['gender'],'age'=>['<=',($month_age-12)<=0?0:$month_age-12]])
|
||||||
|
// ->order('age desc')
|
||||||
|
// ->find();
|
||||||
|
$height_standard_half = $this->count_increment_val($return_data,'one_year');
|
||||||
|
$yearstandlist = [
|
||||||
|
[
|
||||||
|
'val' => 0,
|
||||||
|
'text' => '偏低',
|
||||||
|
'color' => '#ffda69',
|
||||||
|
'level' => 2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'val' => $height_standard_half,
|
||||||
|
'text' => '正常',
|
||||||
|
'color' => '#5ad06d',
|
||||||
|
'level' => 1
|
||||||
|
]
|
||||||
|
];
|
||||||
|
for ($i=count($yearstandlist)-1; $i >=0 ; $i--) {
|
||||||
|
if($return_data['yearheight'] >= $yearstandlist[$i]['val']){
|
||||||
|
$return_data['yearheightlevel'] = $yearstandlist[$i]['level'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$return_data['yearstandheight'] = $yearstandlist[1]['val'];
|
||||||
|
|
||||||
|
$return_data['f3sd'] = $height_standard['f3sd'];
|
||||||
|
$return_data['f2sd'] = $height_standard['f2sd'];
|
||||||
|
$return_data['f1sd'] = $height_standard['f1sd'];
|
||||||
|
$return_data['median'] = $height_standard['middle'];
|
||||||
|
$return_data['z1sd'] = $height_standard['z1sd'];
|
||||||
|
$return_data['z2sd'] = $height_standard['z2sd'];
|
||||||
|
$return_data['z3sd'] = $height_standard['z3sd'];
|
||||||
|
$return_data['list'] = $true_altitude_list;
|
||||||
|
$return_data['halfyearstandlist'] = $halfyearstandlist;
|
||||||
|
$return_data['yearstandlist'] = $yearstandlist;
|
||||||
|
// dump($return_data);
|
||||||
|
// die;
|
||||||
|
$language_data = new Language();
|
||||||
|
$zh_language = Db::table($this->card_use_db_name['11'])
|
||||||
|
->where(['token'=>$data['token'],'is_del'=>0])
|
||||||
|
->field('id,language')
|
||||||
|
->find();
|
||||||
|
if(!$zh_language['language']){
|
||||||
|
$zh_language['language'] = 'zh-Hans';
|
||||||
|
}
|
||||||
|
$result_end = $language_data->handling_languages_from_multiple_countries($zh_language['language'], $return_data);
|
||||||
|
return $result_end;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
################################################################其他接口################################################################
|
################################################################其他接口################################################################
|
||||||
################################################################其他接口################################################################
|
################################################################其他接口################################################################
|
||||||
|
|
||||||
|
public function count_increment_val($user,$type){
|
||||||
|
// 加 bcadd(,,20)
|
||||||
|
// 减 bcsub(,,20)
|
||||||
|
// 乘 bcmul(,,20)
|
||||||
|
// 除 bcdiv(,,20)
|
||||||
|
// [
|
||||||
|
// 'min_age' => 0,
|
||||||
|
// 'max_age' => 1,
|
||||||
|
// 'boy_val' => '26.1',
|
||||||
|
// 'girl_val' => '25.3',
|
||||||
|
// ],
|
||||||
|
$height_add_list = [
|
||||||
|
[
|
||||||
|
'min_age' => 0,
|
||||||
|
'max_age' => 1,
|
||||||
|
'boy_val' => '26.1',
|
||||||
|
'girl_val' => '25.3',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 1,
|
||||||
|
'max_age' => 2,
|
||||||
|
'boy_val' => '12.0',
|
||||||
|
'girl_val' => '12.2',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 2,
|
||||||
|
'max_age' => 3,
|
||||||
|
'boy_val' => '8.3',
|
||||||
|
'girl_val' => '8.4',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 3,
|
||||||
|
'max_age' => 4,
|
||||||
|
'boy_val' => '7.3',
|
||||||
|
'girl_val' => '7.5',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 4,
|
||||||
|
'max_age' => 5,
|
||||||
|
'boy_val' => '7.2',
|
||||||
|
'girl_val' => '7.1',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 5,
|
||||||
|
'max_age' => 6,
|
||||||
|
'boy_val' => '6.4',
|
||||||
|
'girl_val' => '6.4',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 6,
|
||||||
|
'max_age' => 7,
|
||||||
|
'boy_val' => '7.8',
|
||||||
|
'girl_val' => '7.5',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 7,
|
||||||
|
'max_age' => 8,
|
||||||
|
'boy_val' => '5.2',
|
||||||
|
'girl_val' => '5.2',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 8,
|
||||||
|
'max_age' => 9,
|
||||||
|
'boy_val' => '5.1',
|
||||||
|
'girl_val' => '5.6',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 9,
|
||||||
|
'max_age' => 10,
|
||||||
|
'boy_val' => '5.0',
|
||||||
|
'girl_val' => '6.3',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 10,
|
||||||
|
'max_age' => 11,
|
||||||
|
'boy_val' => '6.8',
|
||||||
|
'girl_val' => '6.2',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 11,
|
||||||
|
'max_age' => 12,
|
||||||
|
'boy_val' => '6.2',
|
||||||
|
'girl_val' => '5.0',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 12,
|
||||||
|
'max_age' => 13,
|
||||||
|
'boy_val' => '8.0',
|
||||||
|
'girl_val' => '3.7',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 13,
|
||||||
|
'max_age' => 14,
|
||||||
|
'boy_val' => '5.4',
|
||||||
|
'girl_val' => '1.7',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 14,
|
||||||
|
'max_age' => 15,
|
||||||
|
'boy_val' => '4.6',
|
||||||
|
'girl_val' => '0.7',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 15,
|
||||||
|
'max_age' => 16,
|
||||||
|
'boy_val' => '1.6',
|
||||||
|
'girl_val' => '0.4',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 16,
|
||||||
|
'max_age' => 17,
|
||||||
|
'boy_val' => '0.8',
|
||||||
|
'girl_val' => '0.3',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'min_age' => 17,
|
||||||
|
'max_age' => 18,
|
||||||
|
'boy_val' => '0.0',
|
||||||
|
'girl_val' => '0.8',
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$temporary_arr1 = [];
|
||||||
|
$temporary_arr0 = [];
|
||||||
|
$gender = $user['gender'] == '男'?'boy_val':'girl_val';
|
||||||
|
for ($i=0; $i < count($height_add_list); $i++) {
|
||||||
|
if($user['age_year'] >= $height_add_list[$i]['min_age'] && $user['age_year'] < $height_add_list[$i]['max_age']){
|
||||||
|
$temporary_arr1 = $height_add_list[$i];
|
||||||
|
if($i > 0){
|
||||||
|
$temporary_arr0 = $height_add_list[$i-1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$monthly = bcdiv($temporary_arr1[$gender],12,20);
|
||||||
|
if($type == 'half_year'){
|
||||||
|
if($user['age_months'] >= 6){
|
||||||
|
$return_data = bcmul($monthly,6,2);
|
||||||
|
return $return_data;
|
||||||
|
}else{
|
||||||
|
if(count($temporary_arr0) > 0){
|
||||||
|
$return_data = bcmul($monthly,$user['age_months'],20);
|
||||||
|
$return_data = bcadd($return_data,bcmul(bcdiv($temporary_arr0[$gender],12,20),bcsub(6,$user['age_months'],20),20),2);
|
||||||
|
return $return_data;
|
||||||
|
}else{
|
||||||
|
$return_data = bcmul($monthly,6,2);
|
||||||
|
return $return_data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if($user['age_months'] < 12){
|
||||||
|
if(count($temporary_arr0) > 0){
|
||||||
|
$return_data = bcmul($monthly,$user['age_months'],20);
|
||||||
|
$return_data = bcadd($return_data,bcmul(bcdiv($temporary_arr0[$gender],12,20),bcsub(12,$user['age_months'],20),20),2);
|
||||||
|
return $return_data;
|
||||||
|
}else{
|
||||||
|
$return_data = bcmul($monthly,12,2);
|
||||||
|
return $return_data;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
$return_data = bcmul($monthly,12,2);
|
||||||
|
return $return_data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function body_temporary_use($age,$gender){
|
public function body_temporary_use($age,$gender){
|
||||||
$return_data = [
|
$return_data = [
|
||||||
'height'=>'',
|
'height'=>'',
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ namespace app\testapp\controller;
|
||||||
use think\Db;
|
use think\Db;
|
||||||
use \think\Validate;
|
use \think\Validate;
|
||||||
use app\testapp\controller\Language;
|
use app\testapp\controller\Language;
|
||||||
|
use think\Cache;
|
||||||
// use ip2region\Ip2Region;
|
// use ip2region\Ip2Region;
|
||||||
|
|
||||||
class Index extends Base{
|
class Index extends Base{
|
||||||
|
|
@ -102,7 +103,7 @@ class Index extends Base{
|
||||||
################################################################个人资料卡################################################################
|
################################################################个人资料卡################################################################
|
||||||
|
|
||||||
// 检测版本及判断是否登录失效
|
// 检测版本及判断是否登录失效
|
||||||
public function login_invalid_version($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
public function login_invalid_version($data = ['token'=>'2d4ea9b3f44b169ddf64b2f3d2725ceb','is_wechat'=>false]){
|
||||||
// try {
|
// try {
|
||||||
// 获取客户端IP
|
// 获取客户端IP
|
||||||
$ip = request()->ip();
|
$ip = request()->ip();
|
||||||
|
|
@ -138,6 +139,9 @@ class Index extends Base{
|
||||||
if(!array_key_exists('token', $data)){
|
if(!array_key_exists('token', $data)){
|
||||||
return $this->msg(10001);
|
return $this->msg(10001);
|
||||||
}
|
}
|
||||||
|
if(!array_key_exists('is_wechat', $data)){
|
||||||
|
$data['is_wechat'] = false;
|
||||||
|
}
|
||||||
$result = Db::table($this->index_use_db_name['1'])->order('is_del,id desc')->find();
|
$result = Db::table($this->index_use_db_name['1'])->order('is_del,id desc')->find();
|
||||||
if($result){
|
if($result){
|
||||||
$version = $result['version_num_original'];
|
$version = $result['version_num_original'];
|
||||||
|
|
@ -146,13 +150,30 @@ class Index extends Base{
|
||||||
$version = '';
|
$version = '';
|
||||||
$url = '';
|
$url = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_token_state = $this->token_time_validate($data['token']);
|
$user_token_state = $this->token_time_validate($data['token']);
|
||||||
|
// dump($user_token_state);
|
||||||
$language_data = $this->pd_language($user_token_state['language'],$isSupportedLanguage,$language);
|
$language_data = $this->pd_language($user_token_state['language'],$isSupportedLanguage,$language);
|
||||||
|
|
||||||
if($user_token_state['state'] === false){
|
if($user_token_state['state'] === false){
|
||||||
return $this->msg(-1,'未登录',['version'=>$version,'url'=>$url,'language'=>$language_data,'language_arr'=>$this->process_Language()]);
|
return $this->msg(-1,'未登录',[
|
||||||
|
'version'=>$version,
|
||||||
|
'url'=>$url,
|
||||||
|
'language'=>$data['is_wechat']?'zh-Hans':$language_data['user_language'],
|
||||||
|
'ip_address'=>$language_data['address'],
|
||||||
|
'language_arr'=>$this->process_Language()
|
||||||
|
]);
|
||||||
}else{
|
}else{
|
||||||
return $this->msg(['version'=>$version,'url'=>$url,'language'=>$language_data,'language_arr'=>$this->process_Language()]);
|
if($data['is_wechat'] == true){
|
||||||
|
$result = Db::table($this->index_use_db_name['7'])->where(['token'=>$data['token']])->update(['language'=>'zh-Hans']);
|
||||||
|
}
|
||||||
|
return $this->msg([
|
||||||
|
'version'=>$version,
|
||||||
|
'url'=>$url,
|
||||||
|
'language'=>$data['is_wechat']?'zh-Hans':$language_data['user_language'],
|
||||||
|
'ip_address'=>$language_data['address'],
|
||||||
|
'language_arr'=>$this->process_Language()
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// } catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
|
|
@ -1144,12 +1165,17 @@ class Index extends Base{
|
||||||
public function pd_language($user_language,$isSupportedLanguage,$language){
|
public function pd_language($user_language,$isSupportedLanguage,$language){
|
||||||
if(!$user_language){
|
if(!$user_language){
|
||||||
if($isSupportedLanguage){
|
if($isSupportedLanguage){
|
||||||
$result = $language;
|
// $result = $language;
|
||||||
|
$result['user_language'] = null;
|
||||||
|
$result['address'] = $language;
|
||||||
}else{
|
}else{
|
||||||
$result = 'zh-Hans'; // 默认语言为中文
|
$result = null; // 默认语言为中文
|
||||||
|
$result['user_language'] = null;
|
||||||
|
$result['address'] = null;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$result = $user_language;
|
$result['user_language'] = $user_language;
|
||||||
|
$result['address'] = $language;
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@ class Language extends Base
|
||||||
protected $languageMap = [
|
protected $languageMap = [
|
||||||
'en' => [
|
'en' => [
|
||||||
'操作成功' => 'Success',
|
'操作成功' => 'Success',
|
||||||
|
'男' => 'Male',
|
||||||
|
'女' => 'Female',
|
||||||
|
'年龄' => 'Age',
|
||||||
'体重' => 'Weight',
|
'体重' => 'Weight',
|
||||||
'身高' => 'Height',
|
'身高' => 'Height',
|
||||||
'消瘦' => 'Slim',
|
'消瘦' => 'Slim',
|
||||||
|
|
@ -37,12 +40,14 @@ class Language extends Base
|
||||||
'BMI是身体质量指数,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。' => "BMI is the body mass index, which is currently a commonly used international standard for measuring the degree of body fat, thinness, and health.",
|
'BMI是身体质量指数,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。' => "BMI is the body mass index, which is currently a commonly used international standard for measuring the degree of body fat, thinness, and health.",
|
||||||
'公斤' => "kg",
|
'公斤' => "kg",
|
||||||
'CM' => "cm",
|
'CM' => "cm",
|
||||||
|
'岁' => " years,",
|
||||||
|
'个月' => " months",
|
||||||
'年' => "-",
|
'年' => "-",
|
||||||
'月' => "-",
|
'月' => "-",
|
||||||
'日' => "",
|
'日' => "",
|
||||||
'身体得分' => "Physical score",
|
'身体得分' => "Physical score",
|
||||||
'分' => "score",
|
'分' => "score",
|
||||||
'身体类型' => "body type",
|
'身体类型' => "Body Type",
|
||||||
'健美肌肉型' => "Bodybuilding muscle type",
|
'健美肌肉型' => "Bodybuilding muscle type",
|
||||||
'低' => "Low",
|
'低' => "Low",
|
||||||
'偏低' => "Slightly low",
|
'偏低' => "Slightly low",
|
||||||
|
|
@ -51,34 +56,50 @@ class Language extends Base
|
||||||
'高' => "High",
|
'高' => "High",
|
||||||
'矮' => "Short",
|
'矮' => "Short",
|
||||||
'偏矮' => "Slightly short",
|
'偏矮' => "Slightly short",
|
||||||
'脂肪率' => "Body Fat Percentage",
|
// '脂肪率' => "Body Fat Percentage",
|
||||||
|
'脂肪率' => "Fat%",
|
||||||
'体脂率是指身体成分中,脂肪组织所占的比率。测量体脂率比单纯的只测量体重更能反映我们身体的脂肪水平(肥胖程度)。' => "Body fat percentage refers to the proportion of fat tissue in body composition. Measuring it provides a more accurate reflection of body fat levels (degree of obesity) than weight measurement alone.",
|
'体脂率是指身体成分中,脂肪组织所占的比率。测量体脂率比单纯的只测量体重更能反映我们身体的脂肪水平(肥胖程度)。' => "Body fat percentage refers to the proportion of fat tissue in body composition. Measuring it provides a more accurate reflection of body fat levels (degree of obesity) than weight measurement alone.",
|
||||||
'脂肪量' => "Fat Mass",
|
// '脂肪量' => "Fat Mass",
|
||||||
|
'脂肪量' => "Fat",
|
||||||
'人体脂肪的重量' => "Body Fat Weight",
|
'人体脂肪的重量' => "Body Fat Weight",
|
||||||
'肌肉率' => "Muscle Percentage",
|
// '肌肉率' => "Muscle Percentage",
|
||||||
|
'肌肉率' => "Muscle%",
|
||||||
'优' => "Excellent",
|
'优' => "Excellent",
|
||||||
'根据人体肌肉总量和人体体重、身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。' => "Muscle percentage is a ratio derived from total muscle mass, body weight, height, etc. Its range determines a person's health status and strength level.",
|
'根据人体肌肉总量和人体体重、身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。' => "Muscle percentage is a ratio derived from total muscle mass, body weight, height, etc. Its range determines a person's health status and strength level.",
|
||||||
'肌肉量' => "Muscle Mass",
|
// '肌肉量' => "Muscle Mass",
|
||||||
|
'肌肉量' => "MM",
|
||||||
'不足' => "Insufficient",
|
'不足' => "Insufficient",
|
||||||
'肌肉量=实际体重*肌肉率' => "Muscle Mass = Actual Weight × Muscle Percentage",
|
'肌肉量=实际体重*肌肉率' => "Muscle Mass = Actual Weight × Muscle Percentage",
|
||||||
'水分' => "Body Water",
|
// '水分' => "Body Water",
|
||||||
|
'水分' => "TBW%",
|
||||||
'指人体内水分比例。' => "Refers to the proportion of water in the human body.",
|
'指人体内水分比例。' => "Refers to the proportion of water in the human body.",
|
||||||
|
// '蛋白量' => "Protein Mass",
|
||||||
'蛋白量' => "Protein Mass",
|
'蛋白量' => "Protein Mass",
|
||||||
'蛋白量=实际体重*蛋白率' => "Protein Mass = Actual Weight × Protein Percentage",
|
'蛋白量=实际体重*蛋白率' => "Protein Mass = Actual Weight × Protein Percentage",
|
||||||
'骨重' => "Bone Mass",
|
// '骨重' => "Bone Mass",
|
||||||
|
'骨重' => "BMC",
|
||||||
'单位体积内,骨组织、骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白率、无机盐等等)含量,骨量代表它们骨骼健康的情况。' => "Bone mass refers to the content of bone tissue, minerals (calcium, phosphorus, etc.), and bone matrix (collagen, proteins, inorganic salts, etc.) per unit volume, reflecting skeletal health.",
|
'单位体积内,骨组织、骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白率、无机盐等等)含量,骨量代表它们骨骼健康的情况。' => "Bone mass refers to the content of bone tissue, minerals (calcium, phosphorus, etc.), and bone matrix (collagen, proteins, inorganic salts, etc.) per unit volume, reflecting skeletal health.",
|
||||||
'蛋白率' => "Protein Percentage",
|
// '蛋白率' => "Protein Percentage",
|
||||||
|
'蛋白率' => "Protein%",
|
||||||
'人体内蛋白率含量。' => "The proportion of protein in the human body.",
|
'人体内蛋白率含量。' => "The proportion of protein in the human body.",
|
||||||
'基础代谢' => "Basal Metabolic Rate (BMR)",
|
// '基础代谢' => "Basal Metabolic Rate (BMR)",
|
||||||
|
'基础代谢' => "BMR",
|
||||||
'指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率' => "The energy expenditure rate when the body is awake, completely at rest, and unaffected by muscle activity, ambient temperature, food intake, or mental stress.",
|
'指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率' => "The energy expenditure rate when the body is awake, completely at rest, and unaffected by muscle activity, ambient temperature, food intake, or mental stress.",
|
||||||
'内脏指数' => "Visceral Fat Index",
|
// '内脏指数' => "Visceral Fat Index",
|
||||||
|
'内脏指数' => "VFL",
|
||||||
'警惕' => "Caution",
|
'警惕' => "Caution",
|
||||||
'危险' => "Danger",
|
'危险' => "Danger",
|
||||||
'内脏脂肪指数' => "Visceral Fat Level",
|
// '内脏脂肪指数' => "Visceral Fat Level",
|
||||||
'皮下脂肪' => "Subcutaneous Fat",
|
'内脏脂肪指数' => "VFI",
|
||||||
|
// '皮下脂肪' => "Subcutaneous Fat",
|
||||||
|
'皮下脂肪' => "SubQ Fat",
|
||||||
'皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织' => "Subcutaneous fat refers to adipose tissue stored under the skin. About two-thirds of body fat is stored subcutaneously.",
|
'皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织' => "Subcutaneous fat refers to adipose tissue stored under the skin. About two-thirds of body fat is stored subcutaneously.",
|
||||||
|
// '肥胖等级' => "Obesity Level",
|
||||||
'肥胖等级' => "Obesity Level",
|
'肥胖等级' => "Obesity Level",
|
||||||
'体重不足' => "Underweight",
|
'体重不足' => "Underweight",
|
||||||
|
'去脂体重' => "Lean Body Mass",
|
||||||
|
'体型' => "Body Type",
|
||||||
|
'体龄' => "Biological Age",
|
||||||
'肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。' => "Obesity level indicates the disparity between actual and ideal weight, serving as a diagnostic criterion for obesity.",
|
'肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。' => "Obesity level indicates the disparity between actual and ideal weight, serving as a diagnostic criterion for obesity.",
|
||||||
|
|
||||||
'孩子可能存在营养不良:对于处在生长发育期的孩子而言,蛋白质、碳水化合物、维生素和矿物质这四类营养素非常重要。建议补充足够的蛋白质、锌、钙、铁、维生素D、赖氨酸等营养。建议补充含鸡内金山楂膏健脾开胃类药食同源食物。' => "The child may be malnourished: For growing children, protein, carbohydrates, vitamins, and minerals are critical. Ensure adequate intake of protein, zinc, calcium, iron, vitamin D, lysine, etc. Consider herbal foods like chicken gizzard-hawthorn paste to improve digestion and appetite.",
|
'孩子可能存在营养不良:对于处在生长发育期的孩子而言,蛋白质、碳水化合物、维生素和矿物质这四类营养素非常重要。建议补充足够的蛋白质、锌、钙、铁、维生素D、赖氨酸等营养。建议补充含鸡内金山楂膏健脾开胃类药食同源食物。' => "The child may be malnourished: For growing children, protein, carbohydrates, vitamins, and minerals are critical. Ensure adequate intake of protein, zinc, calcium, iron, vitamin D, lysine, etc. Consider herbal foods like chicken gizzard-hawthorn paste to improve digestion and appetite.",
|
||||||
|
|
@ -165,11 +186,13 @@ class Language extends Base
|
||||||
|
|
||||||
'坚持适当、科学的跳跃运动能够科学地增加学生体重,能够改善学生体重过低的情况;同时运动会消耗能量并加速胃肠蠕动,这会使孩子的食欲大开,再配合均衡的营养有利于孩子增重。' => 'Consistent, properly-designed jumping exercises can scientifically increase students\' body mass and correct underweight conditions. Concurrently, physical training consumes energy and enhances digestive motility, stimulating appetite which - when supported by nutritional balance - promotes healthy weight gain.',
|
'坚持适当、科学的跳跃运动能够科学地增加学生体重,能够改善学生体重过低的情况;同时运动会消耗能量并加速胃肠蠕动,这会使孩子的食欲大开,再配合均衡的营养有利于孩子增重。' => 'Consistent, properly-designed jumping exercises can scientifically increase students\' body mass and correct underweight conditions. Concurrently, physical training consumes energy and enhances digestive motility, stimulating appetite which - when supported by nutritional balance - promotes healthy weight gain.',
|
||||||
|
|
||||||
'《中华人民共和国卫生行业标准WS 423-2013》' => "《Chinese Health Industry Standard WS 423-2013》",
|
'《中华人民共和国卫生行业标准WS/T 423-2022》' => "《Chinese Health Industry Standard WS 423-2013》",
|
||||||
|
|
||||||
'《中华人民共和国卫生行业标准WS/T 612-2018》' => "《Chinese Health Industry Standard WS/T 612-2018》",
|
'《中华人民共和国卫生行业标准WS/T 612-2018》' => "《Chinese Health Industry Standard WS/T 612-2018》",
|
||||||
'《中华人民共和国卫生行业标准WS/T1586-2018》' => "《Chinese Health Industry Standard WS/T 1586-2018》",
|
'《中华人民共和国卫生行业标准WS/T 586-2018》' => "《Chinese Health Industry Standard WS/T 1586-2018》",
|
||||||
'《WHO 5~19岁身高/体重判定标准》' => "《WHO Growth Reference for Children and Adolescents (5–19 Years)》",
|
'《WHO 5~19岁身高/体重判定标准》' => "《WHO Growth Reference for Children and Adolescents (5–19 Years)》",
|
||||||
'头围' => "Head Circumference",
|
// '头围' => "Head Circumference",
|
||||||
|
'头围' => "HC",
|
||||||
'头围是指绕头部一周的最大长度,头围的大小与脑的发育密切相关' => "Head circumference refers to the maximum length around the head. Its measurement is closely related to brain development.",
|
'头围是指绕头部一周的最大长度,头围的大小与脑的发育密切相关' => "Head circumference refers to the maximum length around the head. Its measurement is closely related to brain development.",
|
||||||
'跳绳数量或者分钟、秒钟值必须为整数' => 'The number of jump ropes, minutes, or seconds must be integers.',
|
'跳绳数量或者分钟、秒钟值必须为整数' => 'The number of jump ropes, minutes, or seconds must be integers.',
|
||||||
'跳绳数不能小于等于0' => 'The jump rope count cannot be less than or equal to 0.',
|
'跳绳数不能小于等于0' => 'The jump rope count cannot be less than or equal to 0.',
|
||||||
|
|
@ -196,6 +219,8 @@ class Language extends Base
|
||||||
'之前' => 'Before',
|
'之前' => 'Before',
|
||||||
'之后' => 'After',
|
'之后' => 'After',
|
||||||
'异常' => 'Abnormal',
|
'异常' => 'Abnormal',
|
||||||
|
'至' => 'To',
|
||||||
|
'无' => 'null',
|
||||||
],
|
],
|
||||||
// 可以添加更多语言映射
|
// 可以添加更多语言映射
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ class Login extends Base{
|
||||||
################################################################接口################################################################
|
################################################################接口################################################################
|
||||||
|
|
||||||
// 注册
|
// 注册
|
||||||
public function register_action($data = ['data'=>13408173311,'password'=>'123','code'=>'746119']){
|
public function register_action($data = ['data'=>13408173311,'password'=>'123','code'=>'746119','language'=>'en']){
|
||||||
try {
|
try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
// 验证是否前段发送过来的数据
|
// 验证是否前段发送过来的数据
|
||||||
|
|
@ -29,7 +29,7 @@ class Login extends Base{
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
// 验证数据项是否完整
|
// 验证数据项是否完整
|
||||||
if(!array_key_exists('data', $data) || !array_key_exists('password', $data) || !array_key_exists('code', $data)){
|
if(!array_key_exists('data', $data) || !array_key_exists('password', $data) || !array_key_exists('code', $data) || !array_key_exists('language', $data)){
|
||||||
return $this->msg(10001);
|
return $this->msg(10001);
|
||||||
}
|
}
|
||||||
// 验证数据值是否合规
|
// 验证数据值是否合规
|
||||||
|
|
@ -42,6 +42,9 @@ class Login extends Base{
|
||||||
if(!$this->verify_data_is_ok($data['code'],'num')){
|
if(!$this->verify_data_is_ok($data['code'],'num')){
|
||||||
return $this->msg(10005);
|
return $this->msg(10005);
|
||||||
}
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['language'],'str')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
// 验证是手机还是邮箱
|
// 验证是手机还是邮箱
|
||||||
$montage_data = $this->is_tel_email($data['data']);
|
$montage_data = $this->is_tel_email($data['data']);
|
||||||
if($montage_data == false){
|
if($montage_data == false){
|
||||||
|
|
@ -73,9 +76,10 @@ class Login extends Base{
|
||||||
$set_data['create_time'] = date('Y-m-d H:i:s');
|
$set_data['create_time'] = date('Y-m-d H:i:s');
|
||||||
$set_data['login_time'] = date('Y-m-d H:i:s');
|
$set_data['login_time'] = date('Y-m-d H:i:s');
|
||||||
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
|
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
|
||||||
|
$set_data['language'] = $data['language'];
|
||||||
$result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data);
|
$result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data);
|
||||||
if($result){
|
if($result){
|
||||||
$return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result]);
|
$return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result,'language'=>$data['language']]);
|
||||||
}else{
|
}else{
|
||||||
$return_data = $this->msg(10002);
|
$return_data = $this->msg(10002);
|
||||||
}
|
}
|
||||||
|
|
@ -165,13 +169,13 @@ class Login extends Base{
|
||||||
|
|
||||||
}
|
}
|
||||||
// 登录
|
// 登录
|
||||||
public function login_action($data = ['data'=>'18530934717','validate_data'=>'0932','type'=>'login','validate_type'=>'password']){
|
public function login_action($data = ['data'=>'18530934717','validate_data'=>'0932','type'=>'login','validate_type'=>'password','language'=>'en']){
|
||||||
try {
|
try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
}
|
}
|
||||||
if(!array_key_exists('data', $data) || !array_key_exists('validate_data', $data) || !array_key_exists('validate_type', $data)){
|
if(!array_key_exists('data', $data) || !array_key_exists('validate_data', $data) || !array_key_exists('validate_type', $data) || !array_key_exists('language', $data)){
|
||||||
return $this->msg(10001);
|
return $this->msg(10001);
|
||||||
}
|
}
|
||||||
// 检测是否为手机
|
// 检测是否为手机
|
||||||
|
|
@ -179,17 +183,19 @@ class Login extends Base{
|
||||||
if($montage_data == false){
|
if($montage_data == false){
|
||||||
return $this->msg(10005);
|
return $this->msg(10005);
|
||||||
}
|
}
|
||||||
|
if(!$this->verify_data_is_ok($data['language'],'str')){
|
||||||
|
return $this->msg(10005);
|
||||||
|
}
|
||||||
$verify_result[$montage_data] = $data['data'];
|
$verify_result[$montage_data] = $data['data'];
|
||||||
$verify_result['is_del'] = 0;
|
$verify_result['is_del'] = 0;
|
||||||
// 检测校验途径
|
// 检测校验途径
|
||||||
if($data['validate_type'] == 'code'){
|
if($data['validate_type'] == 'code'){
|
||||||
$code_name = $data['data'];
|
$code_name = $data['data'];
|
||||||
if($this->check_code($code_name,$data['validate_data']) === true){
|
if($this->check_code($code_name,$data['validate_data']) === true){
|
||||||
$result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token')->find();
|
$result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,language')->find();
|
||||||
if($result){
|
if($result){
|
||||||
Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s')]);
|
Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s'),'language'=>$data['language']]);
|
||||||
$return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']]);
|
$return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id'],'language'=>$data['language']]);
|
||||||
}else{
|
}else{
|
||||||
$set_data['password'] = '';
|
$set_data['password'] = '';
|
||||||
$set_data[$montage_data] = $data['data'];
|
$set_data[$montage_data] = $data['data'];
|
||||||
|
|
@ -198,9 +204,10 @@ class Login extends Base{
|
||||||
$set_data['create_time'] = date('Y-m-d H:i:s');
|
$set_data['create_time'] = date('Y-m-d H:i:s');
|
||||||
$set_data['login_time'] = date('Y-m-d H:i:s');
|
$set_data['login_time'] = date('Y-m-d H:i:s');
|
||||||
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
|
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
|
||||||
|
$set_data['language'] = $data['language'];
|
||||||
$result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data);
|
$result = Db::table($this->login_use_db_name['1'])->insertGetId($set_data);
|
||||||
if($result){
|
if($result){
|
||||||
$return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result],'登录成功');
|
$return_data = $this->msg(['token'=>$set_data['token'],'aan_id'=>$result,'language'=>$data['language']],'登录成功');
|
||||||
}else{
|
}else{
|
||||||
$return_data = $this->msg(10002);
|
$return_data = $this->msg(10002);
|
||||||
}
|
}
|
||||||
|
|
@ -210,7 +217,7 @@ class Login extends Base{
|
||||||
}
|
}
|
||||||
}else if($data['validate_type'] == 'password'){
|
}else if($data['validate_type'] == 'password'){
|
||||||
// $verify_result['password'] = $data['validate_data'];
|
// $verify_result['password'] = $data['validate_data'];
|
||||||
$result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,password')->find();
|
$result = Db::table($this->login_use_db_name['1'])->where($verify_result)->field('id,token,password,language')->find();
|
||||||
if($result){
|
if($result){
|
||||||
if($result['password'] == ''){
|
if($result['password'] == ''){
|
||||||
$return_data = $this->msg(10003,'该账户未设密码,请用验证码登录');
|
$return_data = $this->msg(10003,'该账户未设密码,请用验证码登录');
|
||||||
|
|
@ -218,9 +225,8 @@ class Login extends Base{
|
||||||
if($data['validate_data'] != $result['password']){
|
if($data['validate_data'] != $result['password']){
|
||||||
$return_data = $this->msg(10003,'账号密码错误');
|
$return_data = $this->msg(10003,'账号密码错误');
|
||||||
}else{
|
}else{
|
||||||
|
Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s'),'language'=>$data['language']]);
|
||||||
Db::table($this->login_use_db_name['1'])->where($verify_result)->update(['login_time'=>date('Y-m-d H:i:s')]);
|
$return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id'],'language'=>$data['language']],'登录成功');
|
||||||
$return_data = $this->msg(['token'=>$result['token'],'aan_id'=>$result['id']],'登录成功');
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
$return_data = $this->msg(10003,'账号未注册,请先注册');
|
$return_data = $this->msg(10003,'账号未注册,请先注册');
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ class Pagingcontrast extends Base{
|
||||||
'2'=>'app_card_skip_data_copy1',
|
'2'=>'app_card_skip_data_copy1',
|
||||||
'3'=>'app_card_vitalcapacity_data_copy1',
|
'3'=>'app_card_vitalcapacity_data_copy1',
|
||||||
'4'=>'app_user_data_copy1',
|
'4'=>'app_user_data_copy1',
|
||||||
|
'5'=>'app_account_number_copy1',
|
||||||
];
|
];
|
||||||
protected $request_result = [
|
protected $request_result = [
|
||||||
'2'=>['height'=>['身高','cm'],'weight'=>['体重','kg'],'age'=>['年龄','岁'],'bmi'=>['BMI',''],'head'=>['头围',''],'fat_w'=>['脂肪量','kg'],'fat_r'=>['脂肪率','%'],'muscleval'=>['肌肉量','kg'],'muscle'=>['肌肉率','%'],'proteinval'=>['蛋白量','kg'],'protein'=>['蛋白率','%'],'water'=>['水分',''],'bone'=>['骨重','kg'],'visceral'=>['内脏指数',''],'sfr'=>['皮下脂肪','%'],'kcal'=>['基础代谢','kcal'],'un_fat_w_weight'=>['去脂体重','kg'],'body_age'=>['体龄',''],'body_level'=>['肥胖等级',''],'body_type'=>['体型','']],
|
'2'=>['height'=>['身高','cm'],'weight'=>['体重','kg'],'age'=>['年龄','岁'],'bmi'=>['BMI',''],'head'=>['头围',''],'fat_w'=>['脂肪量','kg'],'fat_r'=>['脂肪率','%'],'muscleval'=>['肌肉量','kg'],'muscle'=>['肌肉率','%'],'proteinval'=>['蛋白量','kg'],'protein'=>['蛋白率','%'],'water'=>['水分',''],'bone'=>['骨重','kg'],'visceral'=>['内脏指数',''],'sfr'=>['皮下脂肪','%'],'kcal'=>['基础代谢','kcal'],'un_fat_w_weight'=>['去脂体重','kg'],'body_age'=>['体龄',''],'body_level'=>['肥胖等级',''],'body_type'=>['体型','']],
|
||||||
|
|
@ -25,7 +26,7 @@ class Pagingcontrast extends Base{
|
||||||
################################################请求接口################################################
|
################################################请求接口################################################
|
||||||
// 获取记录信息(分组)(包含身体、跳绳、肺活量)
|
// 获取记录信息(分组)(包含身体、跳绳、肺活量)
|
||||||
public function get_all_record_data_group($data = ['aud_id'=>'202','s_time'=>'2024-04-01','e_time'=>'2025-06-12','type'=>'2']){
|
public function get_all_record_data_group($data = ['aud_id'=>'202','s_time'=>'2024-04-01','e_time'=>'2025-06-12','type'=>'2']){
|
||||||
try {
|
// try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -52,25 +53,26 @@ class Pagingcontrast extends Base{
|
||||||
}
|
}
|
||||||
// 成功
|
// 成功
|
||||||
$this->record_api_log($data, null, $return_data);
|
$this->record_api_log($data, null, $return_data);
|
||||||
|
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
// 捕获异常
|
// // 捕获异常
|
||||||
$logContent["flie"] = $e->getFile();
|
// $logContent["flie"] = $e->getFile();
|
||||||
$logContent["line"] = $e->getLine();
|
// $logContent["line"] = $e->getLine();
|
||||||
$logContent['all_content'] = "异常信息:\n";
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
$this->record_api_log($data, $logContent, null);
|
// $this->record_api_log($data, $logContent, null);
|
||||||
return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
// 获取记录信息(分页)(包含身体、跳绳、肺活量)
|
// 获取记录信息(分页)(包含身体、跳绳、肺活量)
|
||||||
public function get_all_record_data_page($data = ['aud_id'=>'144','page'=>1,'token'=>'caadd1be045a65f30b92aa805f1de54a','type'=>'8']){
|
public function get_all_record_data_page($data = ['aud_id'=>'144','page'=>1,'token'=>'caadd1be045a65f30b92aa805f1de54a','type'=>'8']){
|
||||||
try {
|
// try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -96,24 +98,24 @@ class Pagingcontrast extends Base{
|
||||||
// 成功
|
// 成功
|
||||||
$this->record_api_log($data, null, $return_data);
|
$this->record_api_log($data, null, $return_data);
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
// 捕获异常
|
// // 捕获异常
|
||||||
$logContent["flie"] = $e->getFile();
|
// $logContent["flie"] = $e->getFile();
|
||||||
$logContent["line"] = $e->getLine();
|
// $logContent["line"] = $e->getLine();
|
||||||
$logContent['all_content'] = "异常信息:\n";
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
$this->record_api_log($data, $logContent, null);
|
// $this->record_api_log($data, $logContent, null);
|
||||||
return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
// 获取详细历史数据信息(包含身体、跳绳、肺活量)
|
// 获取详细历史数据信息(包含身体、跳绳、肺活量)
|
||||||
public function get_all_record_detailed_information($data = ['id'=>'3802','type'=>'2','aan_id'=>'1841','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
public function get_all_record_detailed_information($data = ['id'=>'3802','type'=>'2','aan_id'=>'1841','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||||
try {
|
// try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -127,28 +129,28 @@ class Pagingcontrast extends Base{
|
||||||
if(!$this->verify_data_is_ok($data['type'],'intnum')){
|
if(!$this->verify_data_is_ok($data['type'],'intnum')){
|
||||||
return $this->msg(10005);
|
return $this->msg(10005);
|
||||||
}
|
}
|
||||||
unset($data['token']);
|
// unset($data['token']);
|
||||||
$return_data = $this->jump_transfer_interface_detailed($data);
|
$return_data = $this->jump_transfer_interface_detailed($data);
|
||||||
// 成功
|
// 成功
|
||||||
$this->record_api_log($data, null, $return_data);
|
$this->record_api_log($data, null, $return_data);
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
// 捕获异常
|
// // 捕获异常
|
||||||
$logContent["flie"] = $e->getFile();
|
// $logContent["flie"] = $e->getFile();
|
||||||
$logContent["line"] = $e->getLine();
|
// $logContent["line"] = $e->getLine();
|
||||||
$logContent['all_content'] = "异常信息:\n";
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
$this->record_api_log($data, $logContent, null);
|
// $this->record_api_log($data, $logContent, null);
|
||||||
return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
// 数据对比(包含身体、跳绳、肺活量)
|
// 数据对比(包含身体、跳绳、肺活量)
|
||||||
public function get_all_card_data_contrast($data = ['before_id'=>'171','after_id'=>'174','type'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
public function get_all_card_data_contrast($data = ['before_id'=>'171','after_id'=>'174','type'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){
|
||||||
try {
|
// try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -165,29 +167,29 @@ class Pagingcontrast extends Base{
|
||||||
if(!$this->verify_data_is_ok($data['type'],'intnum')){
|
if(!$this->verify_data_is_ok($data['type'],'intnum')){
|
||||||
return $this->msg(10005);
|
return $this->msg(10005);
|
||||||
}
|
}
|
||||||
unset($data['token']);
|
// unset($data['token']);
|
||||||
$return_data = $this->jump_transfer_interface_data_contrast($data);
|
$return_data = $this->jump_transfer_interface_data_contrast($data);
|
||||||
// 成功
|
// 成功
|
||||||
$this->record_api_log($data, null, $return_data);
|
$this->record_api_log($data, null, $return_data);
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
// 捕获异常
|
// // 捕获异常
|
||||||
$logContent["flie"] = $e->getFile();
|
// $logContent["flie"] = $e->getFile();
|
||||||
$logContent["line"] = $e->getLine();
|
// $logContent["line"] = $e->getLine();
|
||||||
$logContent['all_content'] = "异常信息:\n";
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
$this->record_api_log($data, $logContent, null);
|
// $this->record_api_log($data, $logContent, null);
|
||||||
return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
// 删除历史数据
|
// 删除历史数据
|
||||||
public function del_all_record_data($data = ['id'=>'29','type'=>'2','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
public function del_all_record_data($data = ['id'=>'29','type'=>'2','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
|
||||||
try {
|
// try {
|
||||||
// 你的业务逻辑
|
// 你的业务逻辑
|
||||||
if(count(input('post.')) > 0){
|
if(count(input('post.')) > 0){
|
||||||
$data = input('post.');
|
$data = input('post.');
|
||||||
|
|
@ -212,19 +214,19 @@ class Pagingcontrast extends Base{
|
||||||
// 成功
|
// 成功
|
||||||
$this->record_api_log($data, null, $return_data);
|
$this->record_api_log($data, null, $return_data);
|
||||||
return $return_data;
|
return $return_data;
|
||||||
} catch (\Exception $e) {
|
// } catch (\Exception $e) {
|
||||||
// 捕获异常
|
// // 捕获异常
|
||||||
$logContent["flie"] = $e->getFile();
|
// $logContent["flie"] = $e->getFile();
|
||||||
$logContent["line"] = $e->getLine();
|
// $logContent["line"] = $e->getLine();
|
||||||
$logContent['all_content'] = "异常信息:\n";
|
// $logContent['all_content'] = "异常信息:\n";
|
||||||
$logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
// $logContent['all_content'] .= "消息: " . $e->getMessage() . "\n";
|
||||||
$logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
// $logContent['all_content'] .= "代码: " . $e->getCode() . "\n";
|
||||||
$logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
// $logContent['all_content'] .= "文件: " . $e->getFile() . "\n";
|
||||||
$logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
// $logContent['all_content'] .= "行号: " . $e->getLine() . "\n";
|
||||||
$logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
// $logContent['all_content'] .= "跟踪信息:\n" . $e->getTraceAsString() . "\n";
|
||||||
$this->record_api_log($data, $logContent, null);
|
// $this->record_api_log($data, $logContent, null);
|
||||||
return $this->msg(99999);
|
// return $this->msg(99999);
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
################################################请求接口################################################
|
################################################请求接口################################################
|
||||||
|
|
@ -310,7 +312,23 @@ class Pagingcontrast extends Base{
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $this->msg($return_result);
|
|
||||||
|
$language_data = new Language();
|
||||||
|
$user_language = Db::table($this->pagingcontrast_use_db_name['4'])
|
||||||
|
->alias('a')
|
||||||
|
->join(''.$this->pagingcontrast_use_db_name['5'].' b','a.aan_id = b.id','LEFT')
|
||||||
|
->where(['a.id'=>$data['aud_id'],'a.is_del'=>0])
|
||||||
|
->field('b.language')
|
||||||
|
->find();
|
||||||
|
if(!$user_language['language']){
|
||||||
|
$user_language['language'] = 'zh-Hans';
|
||||||
|
}
|
||||||
|
$result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $return_result);
|
||||||
|
|
||||||
|
// dump($result_end);
|
||||||
|
// die;
|
||||||
|
|
||||||
|
return $this->msg($result_end);
|
||||||
}
|
}
|
||||||
// 获取记录信息列表(分组)-跳绳
|
// 获取记录信息列表(分组)-跳绳
|
||||||
// 获取记录信息列表(分页)-跳绳
|
// 获取记录信息列表(分页)-跳绳
|
||||||
|
|
@ -504,8 +522,20 @@ class Pagingcontrast extends Base{
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$language_data = new Language();
|
||||||
|
$user_language = Db::table($this->pagingcontrast_use_db_name['5'])
|
||||||
|
->where(['token'=>$data['token'],'is_del'=>0])
|
||||||
|
->field('language')
|
||||||
|
->find();
|
||||||
|
if(!$user_language['language']){
|
||||||
|
$user_language['language'] = 'zh-Hans';
|
||||||
|
}
|
||||||
|
$result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $result_data);
|
||||||
|
|
||||||
|
|
||||||
// 添加头围详细end
|
// 添加头围详细end
|
||||||
return $this->msg($result_data);
|
return $this->msg($result_end);
|
||||||
}else{
|
}else{
|
||||||
return $this->msg(10004);
|
return $this->msg(10004);
|
||||||
}
|
}
|
||||||
|
|
@ -561,7 +591,7 @@ class Pagingcontrast extends Base{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$return_data['time'] = $calculate_arr['before']['b_time'].'与'.$calculate_arr['after']['b_time'];
|
$return_data['time'] = $calculate_arr['before']['b_time'].'/'.$calculate_arr['after']['b_time'];
|
||||||
$return_data['headimg'] = $calculate_arr['before']['head_pic'];
|
$return_data['headimg'] = $calculate_arr['before']['head_pic'];
|
||||||
$return_data['name'] = $calculate_arr['before']['nickname'];
|
$return_data['name'] = $calculate_arr['before']['nickname'];
|
||||||
$return_data['gender'] = $calculate_arr['before']['gender'];
|
$return_data['gender'] = $calculate_arr['before']['gender'];
|
||||||
|
|
@ -652,7 +682,16 @@ class Pagingcontrast extends Base{
|
||||||
|
|
||||||
// }
|
// }
|
||||||
// 添加头围数据(如果需要的话)end
|
// 添加头围数据(如果需要的话)end
|
||||||
return $this->msg($return_data);
|
$language_data = new Language();
|
||||||
|
$user_language = Db::table($this->pagingcontrast_use_db_name['5'])
|
||||||
|
->where(['token'=>$data['token'],'is_del'=>0])
|
||||||
|
->field('language')
|
||||||
|
->find();
|
||||||
|
if(!$user_language['language']){
|
||||||
|
$user_language['language'] = 'zh-Hans';
|
||||||
|
}
|
||||||
|
$result_end = $language_data->handling_languages_from_multiple_countries($user_language['language'], $return_data);
|
||||||
|
return $this->msg($result_end);
|
||||||
}
|
}
|
||||||
// 数据对比
|
// 数据对比
|
||||||
public function get_skip_data_contrast($data){
|
public function get_skip_data_contrast($data){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue