<?php
|
namespace app\api\controller\plus\business;
|
|
use app\api\controller\Controller;
|
use app\api\model\plus\business\Template as TemplateModel;
|
|
class Template extends Controller
|
{
|
/**
|
* 获取模板列表
|
*/
|
public function getList()
|
{
|
$model = new TemplateModel();
|
$param=$this->request->param();
|
$list=$model->lists($param);
|
foreach($list as $l=>$v ){
|
$list[$l]['style']= json_decode($v['style'],true);
|
$width=round($param['screenWidth']/$v['style']['backdrop']['width'],2);
|
$v['width']=$width;
|
foreach ($v['style'] as $key=>$item){
|
if(is_array($item)){
|
foreach ($item as $i=>$y){
|
if($i!='color'&&$i!='src'&&$i!='style'&&$i!='display'&&$i!='type'||is_array($y)){
|
if(is_array($y)&&count($y)){
|
foreach ($y as $u=>$n){
|
if($u!='color'&&$u!='src'&&$u!='style'&&$n!=0){
|
$data[$l]['style'][$key][$i][$u]= round($n*$width,2);
|
}else{
|
$data[$l]['style'][$key][$i][$u]=$n;
|
}
|
}
|
}else{
|
$data[$l]['style'][$key][$i]= round($y*$width,2);
|
}
|
}else{
|
$data[$l]['style'][$key][$i]=$y;
|
}
|
}
|
}else{
|
$data[$l]['style'][$key]=$item;
|
}
|
}
|
}
|
foreach ($data as $l=>$v ){
|
$list[$l]['style']=$v['style'];
|
}
|
return $this->renderSuccess('',$list);
|
}
|
|
/**
|
* 获取模板详情
|
* @param $template_id
|
* @return array
|
* @throws \think\db\exception\DataNotFoundException
|
* @throws \think\db\exception\ModelNotFoundException
|
* @throws \think\exception\DbException
|
*/
|
public function detail($template_id)
|
{
|
$model = new TemplateModel();
|
$detail = $model->detail($template_id);
|
if (!$detail) {
|
return $this->renderError('模板不存在');
|
}
|
$detail['style'] = json_decode($detail['style'], true);
|
return $this->renderSuccess($detail);
|
}
|
|
/**
|
* 添加模板
|
*/
|
public function add()
|
{
|
$param = request()->param();
|
$param['style'] = json_encode($param['style'], JSON_UNESCAPED_UNICODE);
|
if ((new TemplateModel())->add($param)) {
|
return $this->renderSuccess('添加成功');
|
}
|
return $this->renderError('添加失败');
|
}
|
|
/**
|
* 编辑模板
|
*/
|
public function edit()
|
{
|
$param = request()->param();
|
$model = (new TemplateModel())->detail($param['template_id']);
|
if (!$model) {
|
return $this->renderError('模板不存在');
|
}
|
$param['style'] = json_encode($param['style'], JSON_UNESCAPED_UNICODE);
|
unset($param['template_id']);
|
if ($model->save($param)) {
|
return $this->renderSuccess('', '编辑成功');
|
}
|
return $this->renderError('编辑失败');
|
}
|
}
|