File: /www/wwwroot/cms.smpolia.com/addons/controller/Diywap.php
<?php
// +----------------------------------------------------------------------
// | Yzncms [ 御宅男工作室 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2018 http://yzncms.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 御宅男 <530765310@qq.com>
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | H5设计管理
// +----------------------------------------------------------------------
namespace app\diywap\controller;
use app\common\controller\Adminbase;
use app\diywap\model\DiyPage as DiyPageModel;
use think\Db;
class Diywap extends Adminbase
{
protected function initialize()
{
parent::initialize();
$this->modelClass = new DiyPageModel;
}
public function add()
{
if ($this->request->isAjax()) {
$post = $this->request->param('data');
if (!$this->modelClass->add($post)) {
return $this->error('添加失败');
}
$this->success('新增成功');
}
$defaultData = json_encode($this->modelClass->getDefaultItems());
$jsonData = json_encode(['page' => $this->modelClass->getDefaultPage(), 'items' => []]);
$this->assign([
"defaultData" => $defaultData,
"jsonData" => $jsonData,
]);
return $this->fetch();
}
//编辑diy页面
public function edit($ids = null)
{
$id = $this->request->param("id/d");
$row = $this->modelClass->where('id', $id)->find();
if (!$row) {
$this->error('数据不存在');
}
if ($this->request->isAjax()) {
$post = $this->request->param('data');
if (!$row->edit($post)) {
return $this->error('编辑失败');
}
$this->success('编辑成功');
}
$defaultData = json_encode($row->getDefaultItems());
$this->assign([
"defaultData" => $defaultData,
"jsonData" => $row->page_data,
]);
return $this->fetch('add');
}
//设置默认首页
public function sethome()
{
$id = $this->request->param("id/d");
$row = $this->modelClass->where('id', $id)->find();
if (!$row) {
$this->error('数据不存在');
}
if (!$row->setHome()) {
$this->error('设置失败');
}
$this->success("设置成功!");
}
//选择链接
public function selectlink()
{
$list = $this->modelClass->getLinkUrl();
$list['Inlay']['list'] = [];
$pagelist = $this->modelClass->getUrlList();
foreach ($pagelist as $k => $v) {
array_push($list['Inlay']['list'], ['id' => $v['id'], 'title' => $v['page_name'], 'path' => 'pages/custom/index?page_id=' . $v['id']]);
}
return json(["rows" => $list]);
}
/**
* 编辑富文本
*/
public function editrichtext()
{
return $this->fetch();
}
/**
* 表单字段获取
*/
public function diyform()
{
$id = $this->request->param('id');
$form = Db::name('model')->where(['id' => $id, 'module' => 'formguide'])->find();
if (!$form) {
$this->error('表单不存在');
}
$fields = Db::name('model_field')
->where('modelid', $id)
->order('listorder DESC,id DESC')->select();
foreach ($fields as $k => &$v) {
$v['setting'] = unserialize($v['setting']);
}
$this->success('获取成功', '', ['data' => $fields]);
}
}