feat(Phase 2): add Base controller + extend all admin controllers, add BaseService
parent
3949f91622
commit
d0a2a1193c
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* VR票务插件 - Admin 基础控制器
|
||||||
|
*
|
||||||
|
* 所有 admin 控制器继承此类,自动完成登录校验
|
||||||
|
*
|
||||||
|
* @package vr_ticket\admin\controller
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace app\plugins\vr_ticket\admin\controller;
|
||||||
|
|
||||||
|
use app\service\AdminService;
|
||||||
|
|
||||||
|
abstract class Base
|
||||||
|
{
|
||||||
|
/** @var array|null 管理员信息 */
|
||||||
|
protected $admin;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->admin = AdminService::LoginInfo();
|
||||||
|
if (empty($this->admin)) {
|
||||||
|
if (IS_AJAX) {
|
||||||
|
exit(json_encode([
|
||||||
|
'code' => -400,
|
||||||
|
'msg' => '登录失效,请重新登录',
|
||||||
|
'data' => [
|
||||||
|
'login' => MyUrl('admin/admin/logininfo'),
|
||||||
|
'logout' => MyUrl('admin/admin/logout'),
|
||||||
|
]
|
||||||
|
]));
|
||||||
|
} else {
|
||||||
|
die('<script type="text/javascript">window.location.href="' . MyUrl('admin/admin/logininfo') . '";</script>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,8 +7,13 @@
|
||||||
|
|
||||||
namespace app\plugins\vr_ticket\admin\controller;
|
namespace app\plugins\vr_ticket\admin\controller;
|
||||||
|
|
||||||
class Ticket
|
class Ticket extends Base
|
||||||
{
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 电子票列表
|
* 电子票列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,13 @@
|
||||||
|
|
||||||
namespace app\plugins\vr_ticket\admin\controller;
|
namespace app\plugins\vr_ticket\admin\controller;
|
||||||
|
|
||||||
class Verification
|
class Verification extends Base
|
||||||
{
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 核销记录列表
|
* 核销记录列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,13 @@
|
||||||
|
|
||||||
namespace app\plugins\vr_ticket\admin\controller;
|
namespace app\plugins\vr_ticket\admin\controller;
|
||||||
|
|
||||||
class Verifier
|
class Verifier extends Base
|
||||||
{
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 核销员列表
|
* 核销员列表
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -152,4 +152,59 @@ class BaseService
|
||||||
$log_func($tag . $message . $ctx);
|
$log_func($tag . $message . $ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 插件后台权限菜单
|
||||||
|
*
|
||||||
|
* ShopXO 通过 PluginsService::PluginsAdminPowerMenu() 调用此方法
|
||||||
|
* 返回格式:二维数组,每项代表一个菜单分组
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public static function AdminPowerMenu()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
// 座位模板
|
||||||
|
[
|
||||||
|
'name' => '座位模板',
|
||||||
|
'control' => 'seat_template',
|
||||||
|
'action' => 'list',
|
||||||
|
'item' => [
|
||||||
|
['name' => '座位模板', 'action' => 'list'],
|
||||||
|
['name' => '添加模板', 'action' => 'save'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
// 电子票
|
||||||
|
[
|
||||||
|
'name' => '电子票',
|
||||||
|
'control' => 'ticket',
|
||||||
|
'action' => 'list',
|
||||||
|
'item' => [
|
||||||
|
['name' => '电子票列表', 'action' => 'list'],
|
||||||
|
['name' => '票详情', 'action' => 'detail'],
|
||||||
|
['name' => '手动核销', 'action' => 'verify'],
|
||||||
|
['name' => '导出票', 'action' => 'export'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
// 核销员
|
||||||
|
[
|
||||||
|
'name' => '核销员',
|
||||||
|
'control' => 'verifier',
|
||||||
|
'action' => 'list',
|
||||||
|
'item' => [
|
||||||
|
['name' => '核销员列表', 'action' => 'list'],
|
||||||
|
['name' => '添加核销员', 'action' => 'save'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
// 核销记录
|
||||||
|
[
|
||||||
|
'name' => '核销记录',
|
||||||
|
'control' => 'verification',
|
||||||
|
'action' => 'list',
|
||||||
|
'item' => [
|
||||||
|
['name' => '核销记录', 'action' => 'list'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue