This commit is contained in:
tsf 2024-05-16 10:33:57 +08:00
parent 3c7d3db3f4
commit 518a622482
7 changed files with 231 additions and 198 deletions

View File

@ -43,7 +43,7 @@
pd = false pd = false
console.log('进来了') console.log('进来了')
$.ajax({ $.ajax({
url:"login_action", //请求的url地址 url:"/admin/login_action", //请求的url地址
dataType:"json", //返回格式为json dataType:"json", //返回格式为json
async:true,//请求是否异步默认为异步这也是ajax重要特性 async:true,//请求是否异步默认为异步这也是ajax重要特性
data:{"name":data.field.username,"password":data.field.password}, //参数值 data:{"name":data.field.username,"password":data.field.password}, //参数值
@ -53,7 +53,7 @@
if(req.code == 10000){ if(req.code == 10000){
layer.msg('登录成功,准备跳转',function(){ layer.msg('登录成功,准备跳转',function(){
location.href='/admin/index/index' location.href='/admin/index'
}); });
}else{ }else{
layer.msg('登录失败',function(){ layer.msg('登录失败',function(){

View File

@ -69,24 +69,7 @@ class Card extends Base{
################################################################接口################################################################ ################################################################接口################################################################
################################################################接口################################################################ ################################################################接口################################################################
// 存储卡片顺序
// $data = ['aud_id'=>'xxxxxxxxxxxxxxx','order_list'=>[1,2,3,4,5]]
public function save_card_order(){
$data = input();
if(!array_key_exists('order_list', $data) || !array_key_exists('user_token', $data)){
return $this->msg(10001,'数据格式错误');
}
if(!$this->isNumericArray($data['order_list'])){
return $this->msg(10002,'数据内参数格式或值错误');
}
$data['order_list'] = json_encode($data['order_list']);
$result = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->update(['card_order'=>$data['order_list']]);
if($result){
return $this->msg(0,'success');
}else{
return $this->msg(10003,'修改失败');
}
}
// 获取卡片列表 // 获取卡片列表
// $data = ['id'=>'2','time'=>'1991-04-20',content=>'15个'] // $data = ['id'=>'2','time'=>'1991-04-20',content=>'15个']

View File

@ -8,25 +8,35 @@ use app\bj\controller\Common;
use think\Log; use think\Log;
use \think\Validate; use \think\Validate;
class Index extends Controller{ class Index extends Base{
protected $db_name = ['2'=>'app_card_body_data','6'=>'app_card_skip_data','8'=>'app_card_vitalcapacity_data'];
// protected $card_key = ['2'=>'body','6'=>'skip','8'=>'vitalcapacity'];
protected $card_data = [
'2'=>['身体数据',['height','weight','bmi','record_time']],
// 'skip'=>['跳绳数据',['height,weight,bmi,record_time']],
'8'=>['肺活量',['average','record_time']],
];
################################################################个人资料卡################################################################ ################################################################个人资料卡################################################################
################################################################个人资料卡################################################################ ################################################################个人资料卡################################################################
################################################################个人资料卡################################################################ ################################################################个人资料卡################################################################
// 个人信息 // // 个人信息
public function personal_information(){ // public function personal_information(){
// phpinfo(); // // phpinfo();
dump(123); // dump(123);
$result = Db::table('admin_user')->select(); // $result = Db::table('admin_user')->select();
dump($result); // dump($result);
} // }
// 创建用户卡片 // 创建用户
public function create_user_data(){ public function create_user_data(){
$data = input(); $data = input();
$verify_result = $this->verify_parameters($data,'register'); $verify_result = $this->verify_parameters($data,'register');
if(!is_array($verify_result)){
return $this->msg(10002,$verify_result);
}
$result = Db::table('app_user_data')->insert($verify_result); $result = Db::table('app_user_data')->insert($verify_result);
if($result){ if($result){
return $this->msg(0,'success'); return $this->msg(0,'success');
@ -35,19 +45,6 @@ class Index extends Controller{
} }
} }
// 切换用户
public function switch_user(){
$data = input();
$verify_result = $this->verify_parameters($data,'register');
$result = Db::table('app_user_data')->insert($verify_result);
if($result){
return $this->msg(0,'success');
}else{
return $this->msg(10001,'创建失败');
}
}
// 获取账号下用户列表 // 获取账号下用户列表
// $type 1获取列表2获取详细信息 // $type 1获取列表2获取详细信息
public function user_card_list($aan_id,$type=1){ public function user_card_list($aan_id,$type=1){
@ -64,71 +61,103 @@ class Index extends Controller{
return $this->msg(0,'success',$data); return $this->msg(0,'success',$data);
} }
// 获取账号下用户详细信息 // 获取指定用户详细信息
public function user_card_information($id){ public function user_data_information($id=11){
$result = Db::table('app_user_card')->where(['id'=>$id])->find(); $result = Db::table('app_user_data')->where(['id'=>$id])->field('id,aan_id,nickname,birthday,gender,card_order')->find();
if($result){ unset($result['ROW_NUMBER']);
return $this->msg(0,'success',$result); if($result['card_order'] === ''){
$result['age'] = $this->calculate_age($result['birthday']);
$result['card_order'] = [];
$result['card_data_list'] = [];
}else{ }else{
return $this->msg(10001,'error'); $result['card_order'] = explode(',',$result['card_order']);
$result['card_data_list'] = $this->get_user_card_data_list($result['card_order'],$result['id']);
} }
return $this->msg(0,'success',$result);
} }
// 获取所有卡片列表信息
public function get_card_all_list($id = 11){
$user_card_list = Db::table('app_user_data')->where(['id'=>$id])->field('id,card_order')->find();
unset($user_card_list['ROW_NUMBER']);
$user_card_list['card_order'] = explode(',',$user_card_list['card_order']);
$all_card_list = Db::table('app_card_data')->field('id,name')->select();
// dump($user_card_list);
// dump($all_card_list);
$result = ['user'=>[],'all'=>[]];
foreach ($all_card_list as $key => $value) {
if(in_array($value['id'],$user_card_list['card_order'])){
$result['user'][array_search($value['id'], $user_card_list['card_order'])] = ['id'=>$value['id'],'name'=>$value['name']];
}else{
array_push($result['all'],['id'=>$value['id'],'name'=>$value['name']]);
}
}
ksort($result['user']);
return $this->msg(0,'success',$result);
}
// 保存用户的卡片排序
// 创建身体数据 public function save_user_card_order($data=['id'=>11,'card_order'=>[2,8]]){
public function create_body_data(){
$data = input(); $data = input();
$result = Db::table('app_body_data')->insert([ if(!array_key_exists('order_list', $data) || !array_key_exists('user_token', $data)){
'auc_id'=>$data['id'], return $this->msg(10001,'数据格式错误');
'height'=>$data['height'], }
'weight'=>$data['weight'], if(!$this->isNumericArray($data['order_list'])){
'bmi'=>$data['bmi'], return $this->msg(10002,'数据内参数格式或值错误');
'create_time'=>date('Y-m-d H:i:s'), }
'last_update_time'=>date('Y-m-d H:i:s'), $data['card_order'] = json_encode($data['card_order']);
]); $result = Db::table('app_user_data')->where(['id'=>$data['id']])->update(['card_order'=>implode(',',$data['card_order'])]);
return $this->msg(0,'success');
}
// 存储卡片顺序
// $data = ['id'=>'xxxxxxxxxxxxxxx','card_order'=>[1,2,3,4,5]]
public function save_card_order(){
$data = input();
if(!array_key_exists('order_list', $data) || !array_key_exists('user_token', $data)){
return $this->msg(10001,'数据格式错误');
}
if(!$this->isNumericArray($data['order_list'])){
return $this->msg(10002,'数据内参数格式或值错误');
}
$data['order_list'] = json_encode($data['order_list']);
$result = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->update(['card_order'=>$data['order_list']]);
if($result){ if($result){
return $this->msg(0,'success'); return $this->msg(0,'success');
}else{ }else{
return $this->msg(10001,'创建失败'); return $this->msg(10003,'修改失败');
} }
} }
// 获取账号下用户卡片身体数据
// $type 1获取列表2获取详细信息 ################################获取账号下信息操作################################
public function body_data_list($auc_id = 1,$type=1){ // 获取账号下首页卡片的基础数据
$result = Db::table('app_body_data')->where(['auc_id'=>$auc_id])->select(); public function get_user_card_data_list($data,$aud_id){
$data = []; $result = [];
if($type == 1){ $temporary_arr = [];
for ($i=0; $i < count($result); $i++) { foreach ($data as $key => $value) {
array_push($data,['id'=>$result[$i]['id'],'create_time'=>$result[$i]['create_time']]); $temporary_arr[$value] = Db::table($this->db_name[$value])->where(['aud_id'=>$aud_id])->order('id desc')->limit(1)->select();
}
foreach ($temporary_arr as $key => $value) {
if(!array_key_exists($key, $this->card_data)){
// dump($key.'====in');
continue;
} }
}else{ foreach ($value[0] as $k => $v) {
$data = $result; // dump($k);
if(in_array($k, $this->card_data[$key][1])){
$result[$key][$k] = $v;
}
}
$result[$key]['name'] = $this->card_data[$key][0];
} }
return $data; return $result;
} }
// 获取账号下用户卡片身体数据详细信息
public function body_data_information($id){
$result = Db::table('app_body_data')->where(['id'=>$id])->find();
if($result){
return $result;
}else{
return false;
}
}
public function data_card(){
}
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
public function verify_parameters($data,$type){ public function verify_parameters($data,$type){
// 设置验证 // 设置验证
$rule = [ $rule = [

View File

@ -10,7 +10,7 @@ use think\Log;
use \think\Validate; use \think\Validate;
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\PHPMailer;
class Login extends Controller{ class Login extends Base{
################################################################个人资料卡################################################################ ################################################################个人资料卡################################################################
@ -18,11 +18,12 @@ class Login extends Controller{
################################################################个人资料卡################################################################ ################################################################个人资料卡################################################################
// 注册 // 注册
public function register_action(){ public function register_action($data = ['tel'=>18866668888,'password'=>'ceshi','code'=>'123456']){
$data = input();
if(count(input()) > 0){
$data = input();
}
$verify_result = $this->verify_parameters($data,'register'); $verify_result = $this->verify_parameters($data,'register');
if(!is_array($verify_result)){ if(!is_array($verify_result)){
return $this->msg(10001,$verify_result); return $this->msg(10001,$verify_result);
} }
@ -36,54 +37,91 @@ class Login extends Controller{
} }
// 登录 // 登录
public function login_action(){ public function login_action($data = ['data'=>'18530934717','validate_data'=>'734626','type'=>'login','validate_type'=>'code']){
$data = input(); if(count(input()) > 0){
$verify_result = $this->verify_parameters($data,'login'); $data = input();
if(!is_array($verify_result)){
return $this->msg(10001,$verify_result);
} }
$result = Db::table('app_register')->where($verify_result)->field('id')->find();
// dump($result); if(!array_key_exists('data', $data) || !array_key_exists('validate_data', $data) || !array_key_exists('type', $data) || !array_key_exists('validate_type', $data)){
// die; return $this->msg(10001,'参数缺失');
if($result){ }
$user_data = Db::table('app_user_data')->where(['aan_id'=>$result['id']])->field('id,nickname')->select(); // 检测是否为手机
// $data['color'] = $this->color; if (preg_match('/^\d{11}$/', $data['data'])) {
return $this->msg(0,'success',$data); $verify_result['tel'] = $data['data'];
$road = 'tel';
}else{ }else{
return $this->msg(10001,'未找到账户'); $verify_result['email'] = $data['data'];
$road = 'email';
} }
// 检测校验途径
if($data['validate_type'] == 'code'){
$code_name = $data['data']."_".$road."_".$data['type'];
// dump(cache($code_name));
// die;
if(cache($code_name) == $data['validate_data']){
return $this->msg(0,'success',$data);
}else{
return $this->msg(10001,'登录失败,验证码错误或失效');
}
}else if($data['validate_type'] == 'password'){
$verify_result['password'] = $data['validate_data'];
$result = Db::table('app_account_number')->where($verify_result)->count();
if($result){
return $this->msg(0,'success');
}else{
return $this->msg(10001,'登录失败,账号/密码错误');
}
}else{
return $this->msg(10002,'校验参数错误');
}
} }
// 手机/邮箱验证 // 发送验证码 手机/邮箱
/* 接口说明(发邮件) /* 接口说明(发邮件)
* $data手机或者邮箱信息 字符串 * $data手机或者邮箱信息 字符串
* $type验证类型是注册用还是其他用途 字符串 默认register注册 * $type验证类型是注册用还是其他用途 字符串 默认register注册register、login、reset_password
* $road是手机还是邮箱还是其他 字符串 默认tel或email * $road是手机还是邮箱还是其他 字符串 默认tel或email
*/ */
public function phone_email_code(){ public function send_phone_email_code($data = ['data'=>'18530934717','type'=>'login']){
$data = input(); // $data = input();
if(!array_key_exists('data', $data) || !array_key_exists('type', $data) || !array_key_exists('road', $data)){ if(count(input()) > 0){
$data = input();
}
if(!array_key_exists('data', $data) || !array_key_exists('type', $data)){
return $this->msg(10001,'数据&场景&通道必须'); return $this->msg(10001,'数据&场景&通道必须');
} }
$num = $this->rand_int(); $num = $this->rand_int();
if($data['road'] == 'tel'){ if (preg_match('/^\d{11}$/', $data['data'])) {
$result = $this->send_tel_code($data['data'],$num); $result = $this->send_tel_code($data['data'],$num);
}else if($data['road'] == 'email'){ $road = 'tel';
}else{
$result = $this->send_email_code($data['data'],['title'=>'体测APP验证码','from_user_name'=>'体测APP','content'=>$num]); $result = $this->send_email_code($data['data'],['title'=>'体测APP验证码','from_user_name'=>'体测APP','content'=>$num]);
$road = 'email';
} }
if(is_array($result) && $result['code'] == 0){ if(is_array($result) && $result['code'] == 0){
cache($data['data']."_".$data['road']."_".$data['type'], $num, 60); cache($data['data']."_".$road."_".$data['type'], $num, 60);
// dump($data['data']."_".$data['road']."_".$data['type']); // dump($data['data']."_".$data['road']."_".$data['type']);
return $this->msg(0,'success'); return $this->msg(0,'success',$num);
// return true;
}else{ }else{
return $this->msg(10001,'error'); return $this->msg(10001,'error');
// return false;
} }
} }
public function check_code($data = []){
}
################################内部调用################################
/* 接口说明(发邮件) /* 接口说明(发邮件)
* $address收件人的邮箱地址 数组 格式: ['460834639@qq.com','460834639@qq.com'.......] * $address收件人的邮箱地址 数组 格式: ['460834639@qq.com','460834639@qq.com'.......]
* $content邮件的主题数据信息 数组 格式:['title'=>'123','from_user_name'=>'123','content'=>'123'] * $content邮件的主题数据信息 数组 格式:['title'=>'123','from_user_name'=>'123','content'=>'123']
@ -171,8 +209,6 @@ class Login extends Controller{
echo "未收到响应"; echo "未收到响应";
} }
} }
################################################################other################################################################ ################################################################other################################################################
################################################################other################################################################ ################################################################other################################################################
################################################################other################################################################ ################################################################other################################################################

View File

@ -103,8 +103,8 @@ class Skip extends Base{
} }
// 运动曲线 // 运动曲线
// public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024']]){ public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024']]){
public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','04']]){ // public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','04']]){
// public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','12','31']]){ // public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','12','31']]){
// 确保传入的$data是一个数组且包含所需的键 // 确保传入的$data是一个数组且包含所需的键
if (!is_array($data) || !isset($data['aud_id'], $data['time_data'])) { if (!is_array($data) || !isset($data['aud_id'], $data['time_data'])) {

View File

@ -25,7 +25,7 @@ class Vitalcapacity extends Base{
// 今日数据 // 今日数据
public function skip_today_data($data = ['aud_id'=>11]){ public function vitalcapacity_today_data($data = ['aud_id'=>11]){
$result = Db::query(" $result = Db::query("
select select
jump_num, jump_num,
@ -153,71 +153,33 @@ class Vitalcapacity extends Base{
################################################################跳绳数据卡片接口################################################################ ################################################################肺活量数据卡片接口################################################################
################################################################跳绳数据卡片接口################################################################ ################################################################肺活量数据卡片接口################################################################
public function get_skip_record_data(){}
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
// 假随机数据插入
public function generateRandomJumpData($n = 666) {
$return_data = [];
$startDate = new \DateTime('2024-01-01 00:00:00');
$endDate = new \DateTime('2024-12-31 23:59:59');
// 为了保证在$startDate和$endDate之间随机生成日期先确定两个日期之间的天数差
$diff = $endDate->diff($startDate)->format('%a');
$startTime = strtotime('2024-01-01 00:00:00');
$endTime = strtotime('2024-12-31 23:59:59');
// 记录肺活量数据
public function vitalcapacity_data_set($data = ['aud_id'=>'11','acd_id'=>8,'times'=>[1991,2001,2024],'average'=>2005]){
$result = Db::name('app_card_vitalcapacity_data')->insert([
'one'=>$data['times'][0],
'two'=>$data['times'][1],
'three'=>$data['times'][2],
'average'=>$data['average'],
'aud_id'=>$data['aud_id'],
'acd_id'=>$data['acd_id'],
'create_time'=>date('Y-m-d H:i:s')]);
if($result){
for ($i = 0; $i < $n; $i++) { return $this->msg(0,'success');
// 生成随机日期 }else{
$randomSeconds = random_int($startTime, $endTime); return $this->msg(10001,'数据记录失败');
$randomDateTime = date('Y-m-d H:i:s', $randomSeconds); }
// 生成随机jump_num }
$jump_num = rand(30, 70);
// 生成随机jump_time ################################################################other################################################################
$jump_time = rand(60, 150); ################################################################other################################################################
################################################################other################################################################
// 生成随机jump_kcal
$jump_kcal = rand(100, 400);
// 生成随机jump_type
$jump_types = ['free', 'time', 'num'];
$jump_type = $jump_types[array_rand($jump_types)];
// 固定的aud_id和acd_id
$aud_id = 11;
$acd_id = 5;
// 将生成的数据存入数组
$return_data[] = [
'create_time' => date('Y-m-d H:i:s'),
'record_time' => $randomDateTime,
'jump_num' => $jump_num,
'jump_time' => $jump_time,
'jump_kcal' => $jump_kcal,
'aud_id' => $aud_id,
'acd_id' => $acd_id,
'jump_type' => $jump_type
];
}
// dump($return_data);
// die;
$user_data = Db::table('app_card_skip_data')->insertAll($return_data);
dump($user_data);
dump($return_data);
die;
}
} }

View File

@ -15,15 +15,17 @@ use think\Route;
// // ################################################################下载################################################################ // // ################################################################下载################################################################
//下载页 //下载页
Route::get('/download', 'app/download/demo'); Route::any('/download', 'app/download/demo');
// // ################################################################管理后台################################################################ // // ################################################################管理后台################################################################
// // ################################################################管理后台################################################################ // // ################################################################管理后台################################################################
// // // 管理后台登录 // 管理后台登录
// // Route::get('/admin/login', 'admin/login/login'); // 登录页
// // Route::post('/admin/login_action', 'admin/login/login_action'); Route::any('/admin/login', 'admin/login/login');
// // // 管理后台首页 // 登录动作
// // Route::get('/admin/index', 'admin/index/index'); Route::post('/admin/login_action', 'admin/login/login_action');
// 管理后台首页
Route::any('/admin/index', 'admin/index/index');
// // Route::get('/admin/welcome', 'admin/index/welcome'); // // Route::get('/admin/welcome', 'admin/index/welcome');
// // // APP账号角色管理 // // // APP账号角色管理
// // // APP账号数据列表 // // // APP账号数据列表
@ -34,15 +36,34 @@ Route::get('/download', 'app/download/demo');
// // ################################################################APP接口################################################################ // // ################################################################APP接口################################################################
// // ################################################################APP接口################################################################ // // ################################################################APP接口################################################################
// ################################登录接口################################
// 注册接口
Route::any('/register_action', 'app/login/register_action');
// 登录接口
Route::any('/login_action', 'app/login/login_action');
// 手机或者邮箱验证码接口接口
Route::any('/send_phone_email_code', 'app/login/send_phone_email_code');
// ################################APP首页接口################################
// 创建用户
Route::any('/create_user_data', 'app/index/create_user_data');
// 获取账号下用户列表
Route::any('/user_card_list', 'app/index/user_card_list');
// 获取指定用户详细信息
Route::any('/user_data_information', 'app/index/user_data_information');
// 获取所有卡片列表信息
Route::any('/get_card_all_list', 'app/index/get_card_all_list');
// 保存用户的卡片排序
Route::any('/save_user_card_order', 'app/index/save_user_card_order');
// ################################身体接口################################ // ################################身体接口################################
// 查找设备 // 查找设备
Route::any('/get_card_record_data', 'app/card/get_card_record_data'); Route::any('/get_card_record_data', 'app/card/get_card_record_data');
// // 今日数据 // // 今日数据
// Route::any('/skip_today_data', 'app/skip/skip_today_data'); Route::any('/card_data_contrast', 'app/card/card_data_contrast');
// // 数据记录 // // 数据记录
// Route::any('/skip_record_data', 'app/skip/skip_record_data'); // Route::any('/skip_record_data', 'app/skip/skip_record_data');
// // 运动曲线 // // 运动曲线
// Route::any('/skip_motion_curve', 'app/skip/skip_motion_curve'); Route::any('/skip_motion_curve', 'app/skip/skip_motion_curve');
Route::any('/body_curve_data', 'app/card/body_curve_data');
// Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData'); // Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData');
// ################################跳绳接口################################ // ################################跳绳接口################################
// 查找设备 // 查找设备
@ -53,9 +74,10 @@ Route::any('/skip_today_data', 'app/skip/skip_today_data');
Route::any('/skip_record_data', 'app/skip/skip_record_data'); Route::any('/skip_record_data', 'app/skip/skip_record_data');
// 运动曲线 // 运动曲线
Route::any('/skip_motion_curve', 'app/skip/skip_motion_curve'); Route::any('/skip_motion_curve', 'app/skip/skip_motion_curve');
Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData'); // Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData');
// ################################肺活量接口################################
// 今日数据
Route::any('/vitalcapacity_data_set', 'app/vitalcapacity/vitalcapacity_data_set');
// Route::any('/skip_device_check', 'app/skip/skip_device_check'); // Route::any('/skip_device_check', 'app/skip/skip_device_check');
// Route::any('/skip_device_check', 'app/skip/skip_device_check'); // Route::any('/skip_device_check', 'app/skip/skip_device_check');
// Route::any('/skip_device_check', 'app/skip/skip_device_check'); // Route::any('/skip_device_check', 'app/skip/skip_device_check');
@ -72,6 +94,7 @@ Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData');
// // ################################################################其它测试################################################################ // // ################################################################其它测试################################################################
Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData'); Route::any('/generateRandomJumpData', 'app/skip/generateRandomJumpData');
Route::any('/setdb', 'app/skip/setdb'); Route::any('/setdb', 'app/skip/setdb');
// Route::any('/isNumericArray', 'app/base/isNumericArray');
// 处理404错误 z // 处理404错误 z
Route::miss(function(){ Route::miss(function(){