DiverseYouthNightSchool/application/api/controller/Index.php

156 lines
4.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\api\controller;
use app\common\controller\Api;
use app\common\library\Sqlscript;
use app\common\library\Virtual;
use app\common\model\school\Area;
use app\common\model\school\classes\order\ServiceOrder;
use app\common\model\style\HomeImages;
use think\Db;
use think\exception\PDOException;
/**
* 首页接口
*/
class Index extends Api
{
protected $noNeedLogin = ['*'];
protected $noNeedRight = ['*'];
/**
* 执行sql脚本
*
*/
public function index()
{
Db::startTrans();
try {
// $da = ServiceOrder::getCost("dgadasdasdsds12343","2024121214396382520","aaaaa",$param=[],true);
// var_dump($da);
Sqlscript::importClasses(1,1000);
Db::commit();
} catch (PDOException|\Exception $e) {
Db::rollback();
$this->error($e->getMessage().$e->getFile().$e->getLine());
}
$this->success('请求成功');
}
/**
* 各种协议文章
* @ApiSummary(about_us 关于夜校 entry_agreement 入驻协议 privacy 隐私协议 user_protocol 用户协议)
* @ApiMethod (GET)
*/
public function agreement()
{
$data = [
'about_us' => config("site.about_us"),
'entry_agreement' => config("site.entry_agreement"),
"privacy"=> config("site.privacy"),
"user_protocol"=> config("site.user_protocol"),
'entry_agreement_file' => config("site.entry_agreement_file"),
"privacy_file"=> config("site.privacy_file"),
"user_protocol_file"=> config("site.user_protocol_file"),
];
$this->success(__('查询成功'), $data);
}
/**
* @ApiTitle(init接口小程序初始化参数接口)
* @ApiSummary(小程序初始化参数接口)
* @ApiRoute(/api/index/init)
* @ApiMethod(GET)
* @ApiReturn({
"code" => 1,
"msg" => "获取成功",
"data" => {}
*})
*/
public function init() {
$home_data = [];
$home_data['top_image'] = [
'type' => config('site.home_top_type'),
'image' => cdnurl(config('site.home_top_image'), true),
'url' => config('site.home_top_url'),
];
//首页轮播图
$home_data['top_images'] = HomeImages::allList(1, 20);
$base_info = [
"site_name"=>config('site.name'),
// "site_logo"=>cdnurl(config('site.logo'), true),
"site_beian"=>config('site.beian'),
"site_version"=>''.config('site.version'),
"site_city"=> Virtual::getNowCity(),
"site_timezone"=>config('site.timezone'),
];
$upload_config = config('upload');
$this->success('',["upload_config"=>$upload_config,"base_info"=>$base_info,"home_data"=>$home_data]);
}
/**
* @ApiTitle(省市区数据)
* @ApiSummary(省市区数据)
* @ApiRoute(/api/index/area)
* @ApiMethod(GET)
* @ApiReturn({
"code" => 1,
"msg" => "获取成功",
"data" => {}
*})
*/
public function area()
{
$data['provinceData'] = Area::where('level', 1)->order('id asc')->field('id as value, name as label, pid, level')->select();
foreach ($data['provinceData'] as $k => $p) {
$data['cityData'][$k] = Area::where(['level' => 2, 'pid' => $p->value])->order('id asc')->field('id as value, name as label, pid, level')->select();
foreach ($data['cityData'][$k] as $i => $c) {
$data['areaData'][$k][$i] = Area::where(['level' => 3, 'pid' => $c->value])->order('id asc')->field('id as value, name as label, pid, level')->select();
}
}
$this->success('省市区', $data);
}
/**
* @ApiTitle(省市区数据预加载接口)
* @ApiSummary(省市区数据预加载接口)
* @ApiRoute(/api/index/get_area)
* @ApiMethod(GET)
* @ApiParams(name = "province", type = "string",required=false,description = "省编号")
* @ApiParams(name = "city", type = "string",required=false,description = "市编号")
* @ApiReturn({
"code" => 1,
"msg" => "获取成功",
"data" => {}
*})
*/
public function get_area()
{
$province = $this->request->get('province/s', ''); //机构店铺id
$city = $this->request->get('city/s', ''); //机构店铺id
$model = new Area();
if($province && !$city){
$model = $model->where("pid",$province)->where("level",2);
}elseif ($city){
$model = $model->where("pid",$city)->where("level",3);
}else{
$model = $model->where("level",1);
}
$data = $model->order('id asc')->field('id as value, name as label, pid, level')->select();
$this->success('省市区', $data);
}
}