zzwy2/app/controller/manager/Base.php

124 lines
3.6 KiB
PHP
Executable File

<?php
namespace app\controller\manager;
use app\controller\BaseController;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;
use think\response\Redirect;
/**
* 控制器基础类
*/
class Base extends BaseController
{
// excel 导出格式配置
protected $excelStyle = [
'font' => [
'name' => '宋体',
],
'alignment' => [
'horizontal' => Alignment::HORIZONTAL_CENTER, // 水平居中
'vertical' => Alignment::VERTICAL_CENTER, // 垂直居中
'wrapText' => true,
],
'borders' => [
'allBorders' => [
'borderStyle' => Border::BORDER_THIN,
'color' => ['rgb' => 'eeeeee'],
]
],
];
protected $defaultSetting = [
'cell_width' => 30,
'font_size' => 12
];
protected $data = [];
protected function initialize()
{
$this->middleware = [
//'csrf',
'auth' => [
'except' => ['manager.login/index']
]
];
$auth = session('auth');
$this->data['member'] = $auth;
if (session('?__token__')) {
$this->data['_token'] = session('__token__');
} else {
$this->data['_token'] = $this->request->buildToken();
}
$this->data['groupId'] = $auth['groupId'] ?? 0;
}
//变量赋值到模板
protected function view()
{
return view()->assign($this->data);
}
/**
* @param string $msg
* @param string|null $url
* @param string $data
* @param int $wait
* @return Redirect
*/
protected function error($msg = '', string $url = null, $data = '', int $wait = 3): Redirect
{
if (is_null($url)) {
$url = $this->request->isAjax() ? '' : 'javascript:history.back(-1);';
} elseif ($url) {
$url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : $this->app->route->buildUrl($url);
}
$result = [
'code' => 0,
'msg' => $msg,
'data' => $data,
'url' => $url,
'wait' => $wait,
];
return $this->redirect(url('manager.error/jump', $result));
}
// 根据活动
protected function getImgSize($categoryId)
{
$category = \app\model\Category::field('id,img_width,img_height,img_width_mobile,img_height_mobile,width,height,width_mobile,height_mobile')->find($categoryId);
$pcImgSize = '';//PC组图
$mobileImgSize = '';//手机组图
//PC封面图
$coverSize = $category['img_width'].'*'.$category['img_height'].'px';
//手机封面图
$mobileCoverSize = $category['img_width_mobile'].'*'.$category['img_height_mobile'].'px';
switch ($categoryId) {
// 品牌活动
case 39:
$pcImgSize = '1360*680px';
$mobileImgSize = '365*185px';
$coverSize = '340*225px';
$mobileCoverSize = '185*120px';
break;
case 9:
case 10:
case 23:
case 24:
case 25:
$pcImgSize = '1360*680px';
$mobileImgSize = '365*185px';
break;
}
$this->data['pcImgSize'] = $pcImgSize;
$this->data['mobileImgSize'] = $mobileImgSize;
$this->data['coverSize'] = $coverSize ?? '';
$this->data['mobileCoverSize'] = $mobileCoverSize ?? '';
}
}