You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
4.5 KiB
PHP
176 lines
4.5 KiB
PHP
<?php
|
|
|
|
namespace Admin\Controller;
|
|
|
|
class SdkMenuController extends ThinkController{
|
|
|
|
public $but_type = [
|
|
'0' => 'h5页面',
|
|
'1' => '原生',
|
|
'2' => '外部链接',
|
|
'3' => 'h5资源',
|
|
];
|
|
|
|
public $menu_version = [
|
|
'0' => '双平台',
|
|
'1' => '安卓',
|
|
'2' => 'ios',
|
|
];
|
|
|
|
public function lists()
|
|
{
|
|
$menu_name = I('get.menu_name','sdk_menu');
|
|
$sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find();
|
|
$config = json_decode($sdkMenus['config'],true);
|
|
if(!empty($config))
|
|
{
|
|
foreach($config as $k => $v)
|
|
{
|
|
$config[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon'];
|
|
$config[$k]['type'] = $this->but_type[$v['type']];
|
|
$config[$k]['menu_version'] = $this->menu_version[$v['menu_version']];
|
|
}
|
|
}
|
|
$this->assign('list',$config);
|
|
$this->assign('menu_name',$menu_name);
|
|
$this->assign('menu_list',$this->getMenuList());
|
|
$this->meta_title = '悬浮球菜单';
|
|
$this->display('lists');
|
|
}
|
|
|
|
public function add()
|
|
{
|
|
$menu_name = I('get.menu_name','sdk_menu');
|
|
$sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find();
|
|
$config = json_decode($sdkMenus['config'],true);
|
|
if(!empty($config))
|
|
{
|
|
$config1 = $config;
|
|
$id = array_pop($config1);
|
|
$id = $id['id'] + 1;
|
|
}else
|
|
{
|
|
$config = [];
|
|
$id = 1;
|
|
}
|
|
|
|
if(IS_POST)
|
|
{
|
|
$post = I('post.');
|
|
$cover = $_REQUEST['icon'];
|
|
$post['cover'] = $cover;
|
|
$post['id'] = $id;
|
|
array_push($config,$post);
|
|
$sdkMenus['config'] = json_encode($config);
|
|
if(empty($sdkMenus['name']))
|
|
{
|
|
$sdkMenus['name'] = $menu_name;
|
|
$sdkMenus['title'] = '悬浮球菜单';
|
|
M('tool','tab_')->data($sdkMenus)->add();
|
|
}else
|
|
{
|
|
M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save();
|
|
}
|
|
$this->success('新增成功', U('lists',['menu_name' => $menu_name]));
|
|
}
|
|
|
|
$data['sort'] = $id;
|
|
$this->meta_title = '悬浮球菜单';
|
|
$this->assign('type','add');
|
|
$this->assign('data',$data);
|
|
$this->assign('menu_name',$menu_name);
|
|
$this->assign('but_type',$this->but_type);
|
|
$this->assign('menu_version',$this->menu_version);
|
|
$this->display('add');
|
|
}
|
|
|
|
public function edit($id)
|
|
{
|
|
$menu_name = I('get.menu_name','sdk_menu');
|
|
$sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find();
|
|
$config = json_decode($sdkMenus['config'],true);
|
|
if(IS_POST)
|
|
{
|
|
foreach($config as $k => $v)
|
|
{
|
|
if($v['id'] == $id)
|
|
{
|
|
$post = I('post.');
|
|
foreach($post as $key => $val)
|
|
{
|
|
if($key == 'icon')
|
|
{
|
|
$picRes = M('picture')->where(['id'=>intval($val)])->find();
|
|
$path = $picRes['path'];
|
|
$config[$k][$key] = $path;
|
|
$config[$k]['cover'] = $val;
|
|
}else
|
|
{
|
|
$config[$k][$key] = $val;
|
|
$config[$k]['cover'] = '';
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
$sdkMenus['config'] = json_encode($config);
|
|
M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save();
|
|
$this->success('修改成功', U('lists',['menu_name' => $menu_name]));
|
|
}
|
|
$data = [];
|
|
foreach($config as $k => $v)
|
|
{
|
|
if($v['id'] == $id)
|
|
{
|
|
$v['icon'] = is_https()?'https://':'http://' . $_SERVER['HTTP_HOST'] . $v['icon'];
|
|
$data = $v;
|
|
break;
|
|
}
|
|
}
|
|
if(empty($data))
|
|
{
|
|
$this->error('菜单不存在','lists');
|
|
}
|
|
$img[0] = $data['cover'];
|
|
$this->meta_title = '悬浮球菜单';
|
|
$this->assign('type','edit');
|
|
$this->assign('data',$data);
|
|
$this->assign('img',$img);
|
|
$this->assign('menu_name',$menu_name);
|
|
$this->assign('but_type',$this->but_type);
|
|
$this->assign('menu_version',$this->menu_version);
|
|
$this->display('add');
|
|
}
|
|
|
|
|
|
public function del($id)
|
|
{
|
|
$menu_name = I('get.menu_name','sdk_menu');
|
|
if(!is_array($id))
|
|
{
|
|
$data[] = $id;
|
|
}else
|
|
{
|
|
$data = $id;
|
|
}
|
|
$sdkMenus = M('tool','tab_')->where(['name' => $menu_name])->find();
|
|
$config = json_decode($sdkMenus['config'],true);
|
|
foreach($config as $k => $v)
|
|
{
|
|
if(in_array($v['id'], $data))
|
|
{
|
|
unset($config[$k]);
|
|
}
|
|
}
|
|
$sdkMenus['config'] = json_encode($config);
|
|
M('tool','tab_')->where(['name' => $menu_name])->data($sdkMenus)->save();
|
|
$this->success('删除成功', U('lists',['menu_name' => $menu_name]));
|
|
}
|
|
|
|
public function getMenuList()
|
|
{
|
|
$data = M('tool','tab_')->where(['type' => 5])->select();
|
|
return $data;
|
|
}
|
|
|
|
} |