随着懒人经济和宅经济的不断发展,更多的年轻人愿意享受花钱买服务的生活方式。而上门做饭系统作为一种利用网络将私人厨师做成面向互联网各处的专业服务,将会吸引越来越多的年轻人刺激消费,同时也会使一批优秀厨师跳出传统餐饮行业,成为自由的私人级别的厨师。
那么开发一款上门做饭系统有哪些特色功能呢?
1、菜谱推荐:系统会根据消费者购买的食物,进行相关的菜谱推荐。让用户能够拥有更多的厨艺展示与发挥。
2、在线食材:用户可以直接通过上门烹饪进行购买所需的食材,价格更加优惠,食材新鲜,能够满足各种用户的购买需求。
3、在线预约:用户需要上门烹饪服务的时候,通过上门做饭系统进行在线预约,不需要排队等候,方便省时,特别是钟点工方面,大大的节省了时间。
4、厨师标准:每一位厨师都是持证上岗,另外还需要经过上门做饭系统的层多层筛选,满足了所有条件才能成为合格的上门烹饪厨师,用严格的标准来满足用户的体验感,给用户带来充分的信任感。
5、订单管理:用户可以通过系统进行设置管理自己的订单,看到每一张订单的详细记录,这样就能查找之前的订单详情记录,得到多少的服务。
6、在线支付订单合同:上门做饭系统支持多种付款方式,在完成交易之前,双方需签订相关的服务条款以及注意事项,确保双方利益财产得到最佳保障,给与用户和服务人员信任感。
7、在线学习:用户可以直接通过上门做饭系统进行在线学习,系统会以视频教学的方式进行在线教学。当然用户也可以直接通过图文并茂的方式进行学习做烹饪巧以及会不定时的为更新相关的烹饪资讯以及相关的烹饪小窍门。
<?php
namespace app\student\controller;
use cmf\controller\StudentBaseController;
use think\Db;
/**
* 我的
* Class MineController
* @package app\student\controller
*/
class MineController extends StudentBaseController
{
/**
* 我购买的
* @return mixed
*/
public function mybuy()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student');
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
//已购买的课程
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1';
$list = curl_get($url);
$isMore = 0;
if (count($list['data']['info']) >= 20) {
$isMore = 1;
}
$this->assign([
'baseinfo' => $baseinfo['data']['info'][0],
'isMore' => $isMore,
'lists' => $list['data']['info'],
'mynavid' => 13,
'navid' => -1
]);
return $this->fetch();
}
/**
* 我的课程里面我的课程
* @return mixed
*/
public function index()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
$this->assign('baseinfo', $baseinfoDataInfo);
//我的全部课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=0';
$bothlist = curl_get($url);
$isMore0 = 0;
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign('isMore0', $isMore0);
$this->assign('bothlist', $bothlistDataInfo);
//我的未开始课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=1';
$nostartlist = curl_get($url);
$isMore1 = 0;
$nostartlistDataInfo = $nostartlist['data']['info'] ?? [];
if (count($nostartlistDataInfo) >= 20) {
$isMore1 = 1;
}
$this->assign('isMore1', $isMore1);
$this->assign('nostartlist', $nostartlistDataInfo);
//我的学习中课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=2';
$handlist = curl_get($url);
$isMore2 = 0;
$handlistDataInfo = $handlist['data']['info'] ?? [];
if (count($handlistDataInfo) >= 20) {
$isMore2 = 1;
}
$this->assign('isMore2', $isMore2);
$this->assign('handlist', $handlistDataInfo);
//已学完的课程
$url = $this->siteUrl . '/api/?s=Course.GetMyCourse&uid=' . $uid . '&token=' . $token . '&type=3';
$overlist = curl_get($url);
$isMore3 = 0;
$overlistDataInfo = $overlist['data']['info'] ?? [];
if (count($overlistDataInfo) >= 20) {
$isMore3 = 1;
}
$this->assign('isMore3', $isMore3);
$this->assign('overlist', $overlistDataInfo);
$this->assign('mynavid', 1);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 我的直播课程
* @return mixed
*/
public function livelist()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
//购买的直播
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1&sort=2';
$bothlist = curl_get($url);
$isMore0 = 0;
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign([
'baseinfo' => $baseinfoDataInfo,
'isMore0' => $isMore0,
'bothlist' => $bothlistDataInfo,
'mynavid' => 2,
'navid' => -1
]);
return $this->fetch();
}
/**
* 我的内容课程
* @return mixed
*/
public function contlist()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$baseinfoDataInfo = $baseinfo['data']['info'][0] ?? [];
//内容
$url = $this->siteUrl . '/api/?s=Course.GetMyBuy&uid=' . $uid . '&token=' . $token . '&p=1&sort=-1';
$bothlist = curl_get($url);
$bothlistDataInfo = $bothlist['data']['info'] ?? [];
$isMore0 = 0;
if (count($bothlistDataInfo) >= 20) {
$isMore0 = 1;
}
$this->assign([
'baseinfo' => $baseinfoDataInfo,
'isMore0' => $isMore0,
'bothlist' => $bothlistDataInfo,
'mynavid' => 3,
'navid' => -1
]);
return $this->fetch();
}
/**
* 语音
*/
public function addAudio()
{
$file = $_FILES['file'];
/* var_dump($file); */
if (!$file) {
$this->error('请先录制语音');
}
$_FILES['file']['name'] = $_FILES['file']['name'] . '.mp3';
$res = upload($file, 'audio');
if ($res['code'] != 0) {
$this->error($res['msg']);
}
$url = get_upload_path($res['url']);
$this->success("发送成功!", '', $url);
}
/**
* 账号设置
* @return mixed
*/
public function mybase()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
$this->assign('mynavid', 5);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 上传头像
*/
public function uploadImg()
{
$data = $this->request->param();
$uid = session('student.id');
if (!$uid) {
$uid = $_SESSION['student']['id'] ?? 0;
}
if ($uid < 1) {
$this->error('您的登陆状态失效,请重新登陆!');
}
$file = $_FILES['file'];
if (!$file) {
$this->error('请选择图片');
}
$res = upload();
if ($res['code'] != 0) {
$this->error($res['msg']);
}
$data = [
'avatar' => $res['url'],
'url' => get_upload_path($res['url'])
];
$_SESSION['student']['avatar'] = get_upload_path($res['url']);
$_SESSION['student']['avatar_thumb'] = get_upload_path($res['url']);
$this->success('操作成功', '', $data);
}
/**
* 我的课件
* @return mixed
*/
public function message()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
//系统消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=0';
$syslist = curl_get($url);
$this->assign('syslist', $syslist['data']['info']);
//课程消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=1';
$classlist = curl_get($url);
$this->assign('classlist', $classlist['data']['info']);
//讲师消息
$url = $this->siteUrl . '/api/?s=Message.GetList&uid=' . $uid . '&token=' . $token . '&type=2';
$teacherlist = curl_get($url);
$this->assign('teacherlist', $teacherlist['data']['info']);
$this->assign('mynavid', 6);
$this->assign('navid', -1);
return $this->fetch();
}
/**
* 关注的讲师
* @return mixed
*/
public function follows()
{
//判断有没有登录
$this->checkMyLogin();
$userinfo = session('student') ?? $_SESSION['student'];
$uid = $userinfo['id'];
$token = $userinfo['token'];
//用户信息
$url = $this->siteUrl . '/api/?s=User.GetBaseInfo&uid=' . $uid . '&token=' . $token;
$baseinfo = curl_get($url);
$this->assign('baseinfo', $baseinfo['data']['info'][0]);
//关注的讲师
$url = $this->siteUrl . '/api/?s=User.GetFollow&uid=' . $uid . '&token=' . $token . '&p=1';
$followslist = curl_get($url);
$this->assign('followslist', $followslist['data']['info']);
$isMore = 0;
if (count($followslist['data']['info']) >= 50) {
$isMore = 1;
}
$this->assign('isMore', $isMore);
$this->assign('mynavid', -1);
$this->assign('navid', -1);
return $this->fetch();
}
}