刮刮后端接口
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
3.5 KiB

<?php
namespace app\controller;
use app\BaseController;
use app\model\AwardsRecords;
use app\model\Notice;
use app\model\RotationChart;
use app\model\User as UserModel;
use app\model\Zone as ZoneModel;
use think\exception\ValidateException;
use think\facade\Request;
class Index extends BaseController
{
/**
* 轮播图
*/
public function rotationChart()
{
$data = Request::param();
$limit = $data['limit'] ?? 11;
$RotationChart = new RotationChart();
$list = $RotationChart
->field('image,url')
->where('status',1)
->order('sort asc,create_time desc')
->paginate($limit);
$data = $list->toArray()['data'];
foreach ($data as &$item) {
$item['image'] = get_image_url($item['image']);
if ($item['url']) $item['url'] = get_jump_url($item['url']);
}
return $this->renderSuccess('数据返回成功',[
'list' => $data,
'total' => $list->total()
]);
}
/**
* 获取首页中间记录
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function awardRecords()
{
$data = Request::param();
$limit = $data['limit'] ?? 10;
$records = new AwardsRecords();
$list = $records->field('user_id,awards_amount')->order('create_time desc')->paginate($limit);
$data = $list->toArray()['data'];
foreach ($data as &$item) {
$item['user_id'] .= "XX";
$user = UserModel::field('phone')->find($item['user_id']);
$item['phone'] = format_phone_number($user['phone']);
$item['awards_amount'] = number_format($item['awards_amount']);
}
return $this->renderSuccess('数据返回成功',[
'list' => $data,
'total' => $list->total()
]);
}
/**
* 首页专区列表
* @return array
*/
public function zoneList()
{
return $this->renderSuccess('数据返回成功',ZoneModel::getList());
}
/**
* 返回公告
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getNotice()
{
$Notice = Notice::where('status',1)->order('create_time','desc')->find();
return $this->renderSuccess('数据返回成功',!empty($Notice) ? ['id' => $Notice->id, 'title' => $Notice->title] : []);
}
/**
* 公告详情
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function getNoticeInfo()
{
$param = Request::param();
try {
validate()->rule(['id|公告id' => 'require|number'])->check($param);
$Notice = Notice::where('id',$param['id'])->order('sort asc,id desc')->find();
return $this->renderSuccess('数据返回成功',[
'title' => $Notice->title,
'create_time' => date("Y.m.d H:i:s",strtotime($Notice->create_time)),
'content' => $Notice->content
]);
} catch (ValidateException $validateException) {
return $this->renderError($validateException->getMessage());
}
}
}