order('id desc')->find(); // echo '你好,这里仅仅是个展示页面-配合小白快乐成长&宠物小白使用'; // echo '
点击下载'; // $url = Db::table('app_version_log')->order('id desc')->find(); // $this->assign([ // 'url' => $url['download_url'], // ]); return $this->fetch(); } public function bluetooth_code(){ $url = Db::table('app_version_log')->order('id desc')->find(); $this->assign([ 'url' => $url['download_url'], ]); return $this->fetch(); } ##################################################################小贴士视频部分start################################################################## ##################################################################小贴士视频部分start################################################################## ##################################################################小贴士视频部分start################################################################## // 小贴士的前端二维码页面 public function little_tips_project(){ $qrcode_db = Db::connect('qrcode_db'); // $temporary_data = $qrcode_db->table('little_tips_data')->where(['is_del'=>0])->order('id desc')->select(); // $temporary_data = $qrcode_db->table('little_tips_data')->where(['is_del'=>0])->order('id desc')->select(); $temporary_data2 = $qrcode_db->table('little_tips_label')->where(['type'=>1])->order('is_del,id')->select(); $title = $qrcode_db->table('little_tips_label')->where(['id'=>3])->find(); // dump($temporary_data); // dump($temporary_data2); // dump($title); // die; $this->assign([ 'label' => $temporary_data2, 'title' => $title, 'default_id' => $temporary_data2[0]['id'], ]); return $this->fetch(); } // 小贴士前端页面获取数据 public function little_tips_get_video_list(){ $data = input(); $qrcode_db = Db::connect('qrcode_db'); $temporary_data = $qrcode_db->table('little_tips_data')->where(['device_category'=>$data['id'],'is_del'=>0])->order('id desc')->select(); return $this->msg($temporary_data); } // 小贴士视频上传管理页面 public function little_tips_project_set_page(){ $qrcode_db = Db::connect('qrcode_db'); $temporary_data = $qrcode_db->table('little_tips_data') ->alias('a') ->join('little_tips_label b','a.device_category = b.id','LEFT') ->field('a.*,b.type_name') ->order('is_del,id desc') ->select(); $temporary_data2 = $qrcode_db->table('little_tips_label')->where(['type'=>1])->order('is_del,id desc')->select(); $title = $qrcode_db->table('little_tips_label')->where(['id'=>3])->find(); $this->assign([ 'data' => $temporary_data, 'label' => $temporary_data2, 'title' => $title, ]); return $this->fetch(); } public function little_tips_project_upload_action(){ // return $this->msg([]); $temporary_data = []; $qrcode_db = Db::connect('qrcode_db'); $device_model = request()->param('device_model_name'); $device_model_type = request()->param('device_model_type'); $device_describe = request()->param('device_describe'); $device_category = request()->param('device_category'); $image_type = request()->param('image_type'); $video_type = request()->param('video_type'); if(!$device_model){ return $this->msg(10001,'设备名称不能为空'); } $temporary_data = []; $temporary_data['device_model'] = $device_model; if($device_describe){ $temporary_data['device_describe'] = $device_describe; } if($device_model_type){ $temporary_data['device_type'] = $device_model_type; } if($device_category){ $temporary_data['device_category'] = $device_category; } // dump($image_type); // dump($video_type); if($image_type == 'yes'){ $pic = request()->file('image'); $name_pic = $pic->getInfo()['name']; $pathinfo_pic = pathinfo($name_pic); $extension_pic = strtolower($pathinfo_pic['extension']); // 转换为小写以进行不区分大小写的比较 $new_filename_pic = 'pic_'.time().$this->generateRandomString(). '.' . $extension_pic; $info_pic = $pic->validate(['size'=>10*1024*1024,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'teaching_video',$new_filename_pic); if(!$info_pic){ // 上传失败获取错误信息 return $this->msg(10010,$pic->getError()); } $temporary_data['pic_url'] = "https://tc.pcxbc.com/teaching_video/".$new_filename_pic; $temporary_data['pic_name'] = $new_filename_pic; } if($video_type == 'yes'){ $video = request()->file('video'); $name_video = $video->getInfo()['name']; $pathinfo_video = pathinfo($name_video); $extension_video = strtolower($pathinfo_video['extension']); // 转换为小写以进行不区分大小写的比较 $new_filename_video = 'pic_'.time().$this->generateRandomString(). '.' . $extension_video; $info_video = $video->validate(['size'=>90*1024*1024,'ext'=>'mp4,avi,mkv,wmv'])->move(ROOT_PATH . 'public' . DS . 'teaching_video',$new_filename_video); if(!$info_video){ // 上传失败获取错误信息 unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $new_filename_pic); return $this->msg(10011,$video->getError()); } $temporary_data['video_url'] = "https://tc.pcxbc.com/teaching_video/".$new_filename_video; $temporary_data['video_name'] = $new_filename_video; } // dump($temporary_data); // die; // 判断是修改还是新建 $device_data = $qrcode_db->table('little_tips_data')->where(['device_model'=>$temporary_data['device_model']])->find(); if($device_data){ // 修改 // unset($temporary_data['create_time']); $result = $qrcode_db->table('little_tips_data') ->where(['device_model'=>$temporary_data['device_model']]) ->update($temporary_data); // 删除刚才存储的图片和视频文件 if($image_type == 'yes'){ if($device_data['pic_name']){ if (file_exists(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['pic_name'])) { unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['pic_name']); } } } if($video_type == 'yes'){ if($device_data['video_name']){ if (file_exists(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['video_name'])) { unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['video_name']); } } } }else{ $temporary_data['create_time'] = date('Y-m-d H:i:s'); $result = $qrcode_db->table('little_tips_data')->insertGetId($temporary_data); } if($result){ return $this->msg([]); }else{ return $this->msg(10002,'操作失败'); } // // dump($device_model); // // dump($device_model_type); // // dump($device_describe); // // dump($device_category); // // die; // if(!$device_model){ // return $this->msg(10001,'设备名称不能为空'); // } // dump($device_model); // dump($devicdevice_model_typee_model); // dump($device_category); // dump($device_describe); // dump($pic); // dump($video); // die; // // if(!$device_model_type){ // // return $this->msg(10001,'设备类型不能为空'); // // } // // if(!$device_category){ // // return $this->msg(10001,'设备设备分类不能为空'); // // } // if(!$pic || !$video){ // return $this->msg(10001,'未选择图片或者视频'); // }else{ // // $name_pic = $pic->getInfo()['name']; // // $pathinfo_pic = pathinfo($name_pic); // // $extension_pic = strtolower($pathinfo_pic['extension']); // 转换为小写以进行不区分大小写的比较 // // $new_filename_pic = 'pic_'.time().$this->generateRandomString(). '.' . $extension_pic; // // $name_video = $video->getInfo()['name']; // // $pathinfo_video = pathinfo($name_video); // // $extension_video = strtolower($pathinfo_video['extension']); // 转换为小写以进行不区分大小写的比较 // // $new_filename_video = 'pic_'.time().$this->generateRandomString(). '.' . $extension_video; // // $info_pic = $pic->validate(['size'=>10*1024*1024,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'teaching_video',$new_filename_pic); // // if(!$info_pic){ // // // 上传失败获取错误信息 // // return $this->msg(10010,$pic->getError()); // // } // // $info_video = $video->validate(['size'=>90*1024*1024,'ext'=>'mp4,avi,mkv,wmv'])->move(ROOT_PATH . 'public' . DS . 'teaching_video',$new_filename_video); // // if(!$info_video){ // // // 上传失败获取错误信息 // // unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $new_filename_pic); // // return $this->msg(10011,$video->getError()); // // } // $temporary_data = [ // 'device_model'=>$device_model, // 'device_describe'=>$device_describe, // 'device_type'=>$device_model_type, // 'device_category'=>$device_category, // 'pic_url'=>"https://tc.pcxbc.com/teaching_video/".$new_filename_pic, // 'video_url'=>"https://tc.pcxbc.com/teaching_video/".$new_filename_video, // 'pic_name'=>$new_filename_pic, // 'video_name'=>$new_filename_video, // 'create_time'=>date('Y-m-d H:i:s'), // ]; // if($device_data){ // unset($temporary_data['create_time']); // $result = $qrcode_db->table('little_tips_data') // ->where(['device_model'=>$temporary_data['device_model']]) // ->update($temporary_data); // // 删除刚才存储的图片和视频文件 // if (file_exists(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['pic_name'])) { // unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['pic_name']); // } // if (file_exists(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['video_name'])) { // unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['video_name']); // } // return $this->msg([]); // }else{ // $result = $qrcode_db->table('little_tips_data')->insertGetId($temporary_data); // } // if($result){ // return $this->msg([]); // }else{ // return $this->msg(10002,'添加失败'); // } // } } // 小贴士下架操作 public function little_tips_is_del_update(){ $data = input(); $qrcode_db = Db::connect('qrcode_db'); if(!array_key_exists('id', $data)){ return $this->msg(10001,'id缺失'); } if(!array_key_exists('type', $data)){ return $this->msg(10001,'type缺失'); } $device_data = $qrcode_db->table('little_tips_data')->where(['id'=>$data['id']])->field('pic_name,video_name')->find(); if($device_data){ $temporary_data = $qrcode_db->table('little_tips_data')->where(['id'=>$data['id']])->update(['is_del'=>$data['type']]); if($temporary_data){ return $this->msg([]); }else{ return $this->msg(10002,'操作失败'); } }else{ return $this->msg(10002,'未找到对应设备信息'); } } // 小贴士删除操作 public function little_tips_del_action(){ $data = input(); $qrcode_db = Db::connect('qrcode_db'); if(!array_key_exists('id', $data)){ return $this->msg(10001,'id缺失'); } $device_data = $qrcode_db->table('little_tips_data')->where(['id'=>$data['id']])->field('pic_name,video_name')->find(); $temporary_data = $qrcode_db->table('little_tips_data')->where(['id'=>$data['id']])->delete(); unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['pic_name']); unlink(ROOT_PATH . 'public' . DS . 'teaching_video' . DS . $device_data['video_name']); if($temporary_data){ return $this->msg([]); }else{ return $this->msg(10002,'操作失败'); } } ##################################################################小贴士视频部分end################################################################## ##################################################################小贴士视频部分end################################################################## ##################################################################小贴士视频部分end################################################################## public function add_label_action(){ $data = input(); $qrcode_db = Db::connect('qrcode_db'); if(!array_key_exists('label', $data)){ return $this->msg(10001,'label缺失'); } $device_data = $qrcode_db->table('little_tips_label')->insert([ 'type_name'=>$data['label'], 'create_time'=>date('Y-m-d H:i:s'), 'type'=>1, ]); if($device_data){ return $this->msg([]); }else{ return $this->msg(10002,'操作失败'); } } public function update_title_action(){ $data = input(); $qrcode_db = Db::connect('qrcode_db'); if(!array_key_exists('title', $data)){ return $this->msg(10001,'title缺失'); } $device_data = $qrcode_db->table('little_tips_label')->where(['id'=>3])->update([ 'type_name'=>$data['title'], ]); if($device_data){ return $this->msg([]); }else{ return $this->msg(10002,'操作失败'); } } ##################################################################儿童膳食食谱文档跳转start################################################################## ##################################################################儿童膳食食谱文档跳转start################################################################## ##################################################################儿童膳食食谱文档跳转start################################################################## public function children_meals_cookbook(){ // header("Location: http://121.36.67.254:3000/tiansf/childrens-dietary-recipes"); header("Location: http://git.ybhdmob.com:3000/tiansf/childrens-dietary-recipes"); } ##################################################################儿童膳食食谱文档跳转end################################################################## ##################################################################儿童膳食食谱文档跳转end################################################################## ##################################################################儿童膳食食谱文档跳转end################################################################## ##################################################################二维码-厨房秤小程序跳转start################################################################## ##################################################################二维码-厨房秤小程序跳转start################################################################## ##################################################################二维码-厨房秤小程序跳转start################################################################## public function kitchen_qrcode(){ return $this->fetch(); } ##################################################################二维码-厨房秤小程序跳转end################################################################## ##################################################################二维码-厨房秤小程序跳转end################################################################## ##################################################################二维码-厨房秤小程序跳转end################################################################## ##################################################################以下是工具部分################################################################## ##################################################################以下是工具部分################################################################## ##################################################################以下是工具部分################################################################## public function generateRandomString($length = 10) { $characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return $randomString; } }