Merge e6bb15d748
into d0d1da26c8
This commit is contained in:
commit
625ec6d8c2
@ -7,13 +7,13 @@ use support\exception\BusinessException;
|
|||||||
use function admin;
|
use function admin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对外提供的鉴权接口
|
* Authentication interface provided externally
|
||||||
*/
|
*/
|
||||||
class Auth
|
class Auth
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 判断权限
|
* judgment authority
|
||||||
* 如果没有权限则抛出异常
|
* Throw exception if no permission
|
||||||
*
|
*
|
||||||
* @param string $controller
|
* @param string $controller
|
||||||
* @param string $action
|
* @param string $action
|
||||||
@ -30,7 +30,7 @@ class Auth
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断是否有权限
|
* Determine whether there is permission
|
||||||
*
|
*
|
||||||
* @param string $controller
|
* @param string $controller
|
||||||
* @param string $action
|
* @param string $action
|
||||||
@ -41,40 +41,40 @@ class Auth
|
|||||||
*/
|
*/
|
||||||
public static function canAccess(string $controller, string $action, int &$code = 0, string &$msg = '')
|
public static function canAccess(string $controller, string $action, int &$code = 0, string &$msg = '')
|
||||||
{
|
{
|
||||||
// 获取控制器鉴权信息
|
// Get controller authentication information
|
||||||
$class = new \ReflectionClass($controller);
|
$class = new \ReflectionClass($controller);
|
||||||
$properties = $class->getDefaultProperties();
|
$properties = $class->getDefaultProperties();
|
||||||
$noNeedLogin = $properties['noNeedLogin'] ?? [];
|
$noNeedLogin = $properties['noNeedLogin'] ?? [];
|
||||||
$noNeedAuth = $properties['noNeedAuth'] ?? [];
|
$noNeedAuth = $properties['noNeedAuth'] ?? [];
|
||||||
|
|
||||||
// 不需要登录
|
// No login required
|
||||||
if (in_array($action, $noNeedLogin)) {
|
if (in_array($action, $noNeedLogin)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取登录信息
|
// Get login information
|
||||||
$admin = admin();
|
$admin = admin();
|
||||||
if (!$admin) {
|
if (!$admin) {
|
||||||
$msg = '请登录';
|
$msg = 'please sign in';
|
||||||
// 401是未登录固定的返回码
|
// 401is not logged in fixed return code
|
||||||
$code = 401;
|
$code = 401;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 不需要鉴权
|
// No authentication required
|
||||||
if (in_array($action, $noNeedAuth)) {
|
if (in_array($action, $noNeedAuth)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 当前管理员无角色
|
// Current administrator has no role
|
||||||
$roles = $admin['roles'];
|
$roles = $admin['roles'];
|
||||||
if (!$roles) {
|
if (!$roles) {
|
||||||
$msg = '无权限';
|
$msg = 'No permission';
|
||||||
$code = 2;
|
$code = 2;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 角色没有规则
|
// Role has no rules
|
||||||
$rules = AdminRole::whereIn('id', $roles)->pluck('rules');
|
$rules = AdminRole::whereIn('id', $roles)->pluck('rules');
|
||||||
$rule_ids = [];
|
$rule_ids = [];
|
||||||
foreach ($rules as $rule_string) {
|
foreach ($rules as $rule_string) {
|
||||||
@ -84,23 +84,23 @@ class Auth
|
|||||||
$rule_ids = array_merge($rule_ids, explode(',', $rule_string));
|
$rule_ids = array_merge($rule_ids, explode(',', $rule_string));
|
||||||
}
|
}
|
||||||
if (!$rule_ids) {
|
if (!$rule_ids) {
|
||||||
$msg = '无权限';
|
$msg = 'No permission';
|
||||||
$code = 2;
|
$code = 2;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 超级管理员
|
// Super Admin
|
||||||
if (in_array('*', $rule_ids)){
|
if (in_array('*', $rule_ids)){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 没有当前控制器的规则
|
// No rules for current controller
|
||||||
$rule = AdminRule::where(function ($query) use ($controller, $action) {
|
$rule = AdminRule::where(function ($query) use ($controller, $action) {
|
||||||
$query->where('name', "$controller@$action")->orWhere('name', $controller);
|
$query->where('name', "$controller@$action")->orWhere('name', $controller);
|
||||||
})->whereIn('id', $rule_ids)->first();
|
})->whereIn('id', $rule_ids)->first();
|
||||||
|
|
||||||
if (!$rule) {
|
if (!$rule) {
|
||||||
$msg = '无权限';
|
$msg = 'No permission';
|
||||||
$code = 2;
|
$code = 2;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -5,33 +5,33 @@ namespace plugin\admin\api;
|
|||||||
class Install
|
class Install
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 安装
|
* Install
|
||||||
*
|
*
|
||||||
* @param $version
|
* @param $version
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function install($version)
|
public static function install($version)
|
||||||
{
|
{
|
||||||
// 导入菜单
|
// Import menu
|
||||||
Menu::import(static::getMenus());
|
Menu::import(static::getMenus());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 卸载
|
* Uninstall
|
||||||
*
|
*
|
||||||
* @param $version
|
* @param $version
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function uninstall($version)
|
public static function uninstall($version)
|
||||||
{
|
{
|
||||||
// 删除菜单
|
// Delete menu
|
||||||
foreach (static::getMenus() as $menu) {
|
foreach (static::getMenus() as $menu) {
|
||||||
Menu::delete($menu['name']);
|
Menu::delete($menu['name']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* renew
|
||||||
*
|
*
|
||||||
* @param $from_version
|
* @param $from_version
|
||||||
* @param $to_version
|
* @param $to_version
|
||||||
@ -40,16 +40,16 @@ class Install
|
|||||||
*/
|
*/
|
||||||
public static function update($from_version, $to_version, $context = null)
|
public static function update($from_version, $to_version, $context = null)
|
||||||
{
|
{
|
||||||
// 删除不用的菜单
|
// Delete unused menus
|
||||||
if (isset($context['previous_menus'])) {
|
if (isset($context['previous_menus'])) {
|
||||||
static::removeUnnecessaryMenus($context['previous_menus']);
|
static::removeUnnecessaryMenus($context['previous_menus']);
|
||||||
}
|
}
|
||||||
// 导入新菜单
|
// Import new menu
|
||||||
Menu::import(static::getMenus());
|
Menu::import(static::getMenus());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新前数据收集等
|
* Data collection before update etc
|
||||||
*
|
*
|
||||||
* @param $from_version
|
* @param $from_version
|
||||||
* @param $to_version
|
* @param $to_version
|
||||||
@ -57,12 +57,12 @@ class Install
|
|||||||
*/
|
*/
|
||||||
public static function beforeUpdate($from_version, $to_version)
|
public static function beforeUpdate($from_version, $to_version)
|
||||||
{
|
{
|
||||||
// 在更新之前获得老菜单,通过context传递给 update
|
// Get the old menu before updating, passed the context to update
|
||||||
return ['previous_menus' => static::getMenus()];
|
return ['previous_menus' => static::getMenus()];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取菜单
|
* Get menu
|
||||||
*
|
*
|
||||||
* @return array|mixed
|
* @return array|mixed
|
||||||
*/
|
*/
|
||||||
@ -77,7 +77,7 @@ class Install
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除不需要的菜单
|
* Remove unwanted menus
|
||||||
*
|
*
|
||||||
* @param $previous_menus
|
* @param $previous_menus
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -7,13 +7,13 @@ use support\exception\BusinessException;
|
|||||||
use function admin;
|
use function admin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对外提供的菜单接口
|
* Externally provided menu interface
|
||||||
*/
|
*/
|
||||||
class Menu
|
class Menu
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据名字获得菜单
|
* Get menu by name
|
||||||
*
|
*
|
||||||
* @param $name
|
* @param $name
|
||||||
* @return array
|
* @return array
|
||||||
@ -25,7 +25,7 @@ class Menu
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id获得菜单
|
* Get menu by id
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param $id
|
||||||
* @return array
|
* @return array
|
||||||
@ -36,7 +36,7 @@ class Menu
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加菜单
|
* Add menu
|
||||||
*
|
*
|
||||||
* @param array $menu
|
* @param array $menu
|
||||||
* @return int
|
* @return int
|
||||||
@ -55,7 +55,7 @@ class Menu
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入菜单
|
* Import menu
|
||||||
*
|
*
|
||||||
* @param array $menu_tree
|
* @param array $menu_tree
|
||||||
* @return void
|
* @return void
|
||||||
@ -83,7 +83,7 @@ class Menu
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除菜单
|
* Delete menu
|
||||||
*
|
*
|
||||||
* @param $name
|
* @param $name
|
||||||
* @return void
|
* @return void
|
||||||
@ -94,7 +94,7 @@ class Menu
|
|||||||
if (!$item) {
|
if (!$item) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 子规则一起删除
|
// Sub-rules are deleted together
|
||||||
$delete_ids = $children_ids = [$item['id']];
|
$delete_ids = $children_ids = [$item['id']];
|
||||||
while($children_ids) {
|
while($children_ids) {
|
||||||
$children_ids = AdminRule::whereIn('pid', $children_ids)->pluck('id')->toArray();
|
$children_ids = AdminRule::whereIn('pid', $children_ids)->pluck('id')->toArray();
|
||||||
@ -105,7 +105,7 @@ class Menu
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取菜单中某个(些)字段的值
|
* Get the value of a field(s) in the menu
|
||||||
*
|
*
|
||||||
* @param $menus
|
* @param $menus
|
||||||
* @param $column
|
* @param $column
|
||||||
|
@ -8,7 +8,7 @@ use Webman\Http\Response;
|
|||||||
use Webman\MiddlewareInterface;
|
use Webman\MiddlewareInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对外提供的中间件
|
* Externally provided middleware
|
||||||
*/
|
*/
|
||||||
class Middleware implements MiddlewareInterface
|
class Middleware implements MiddlewareInterface
|
||||||
{
|
{
|
||||||
|
@ -31,7 +31,7 @@ class Util
|
|||||||
static public function checkTableName($table)
|
static public function checkTableName($table)
|
||||||
{
|
{
|
||||||
if (!preg_match('/^[a-zA-Z_0-9]+$/', $table)) {
|
if (!preg_match('/^[a-zA-Z_0-9]+$/', $table)) {
|
||||||
throw new BusinessException('表名不合法');
|
throw new BusinessException('The table name is invalid');
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -71,7 +71,7 @@ class Util
|
|||||||
public static function methodControlMap()
|
public static function methodControlMap()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//method=>[控件]
|
//method=>[Controls]
|
||||||
'integer' => ['InputNumber'],
|
'integer' => ['InputNumber'],
|
||||||
'string' => ['Input'],
|
'string' => ['Input'],
|
||||||
'text' => ['InputTextArea'],
|
'text' => ['InputTextArea'],
|
||||||
|
@ -7,25 +7,25 @@ use support\Db;
|
|||||||
use support\Request;
|
use support\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基础控制器
|
* Basic Controller
|
||||||
*/
|
*/
|
||||||
class Base
|
class Base
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 无需登录的方法及鉴权
|
* Method and authentication without login
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $noNeedLogin = [];
|
protected $noNeedLogin = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 需要登录无需鉴权的方法
|
* Requires login without authentication method
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $noNeedAuth = [];
|
protected $noNeedAuth = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 返回格式化json数据
|
* return formatted json data
|
||||||
*
|
*
|
||||||
* @param int $code
|
* @param int $code
|
||||||
* @param string $msg
|
* @param string $msg
|
||||||
|
@ -18,7 +18,7 @@ trait Crud
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询
|
* Inquire
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -60,7 +60,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* Add to
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -70,7 +70,7 @@ trait Crud
|
|||||||
$table = $this->model->getTable();
|
$table = $this->model->getTable();
|
||||||
$allow_column = Util::db()->select("desc `$table`");
|
$allow_column = Util::db()->select("desc `$table`");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
$columns = array_column($allow_column, 'Field', 'Field');
|
$columns = array_column($allow_column, 'Field', 'Field');
|
||||||
foreach ($data as $col => $item) {
|
foreach ($data as $col => $item) {
|
||||||
@ -94,7 +94,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* renew
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -106,14 +106,14 @@ trait Crud
|
|||||||
$table = $this->model->getTable();
|
$table = $this->model->getTable();
|
||||||
$allow_column = Util::db()->select("desc `$table`");
|
$allow_column = Util::db()->select("desc `$table`");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
foreach ($data as $col => $item) {
|
foreach ($data as $col => $item) {
|
||||||
if (is_array($item)) {
|
if (is_array($item)) {
|
||||||
$data[$col] = implode(',', $item);
|
$data[$col] = implode(',', $item);
|
||||||
}
|
}
|
||||||
if ($col === 'password') {
|
if ($col === 'password') {
|
||||||
// 密码为空,则不更新密码
|
// If the password is empty, the password will not be updated
|
||||||
if ($item == '') {
|
if ($item == '') {
|
||||||
unset($data[$col]);
|
unset($data[$col]);
|
||||||
continue;
|
continue;
|
||||||
@ -126,7 +126,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* delete
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
* @throws \Support\Exception\BusinessException
|
* @throws \Support\Exception\BusinessException
|
||||||
@ -140,7 +140,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 摘要
|
* Summary
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
* @throws \Support\Exception\BusinessException
|
* @throws \Support\Exception\BusinessException
|
||||||
@ -168,7 +168,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 按表获取摘要
|
* Get summary by table
|
||||||
*
|
*
|
||||||
* @param $table
|
* @param $table
|
||||||
* @param $section
|
* @param $section
|
||||||
@ -269,7 +269,7 @@ trait Crud
|
|||||||
|
|
||||||
$allow_column = Util::db()->select("desc `$table`");
|
$allow_column = Util::db()->select("desc `$table`");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
$allow_column = array_column($allow_column, 'Field', 'Field');
|
$allow_column = array_column($allow_column, 'Field', 'Field');
|
||||||
if (!in_array($field, $allow_column)) {
|
if (!in_array($field, $allow_column)) {
|
||||||
@ -317,7 +317,7 @@ trait Crud
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表格树
|
* table tree
|
||||||
*
|
*
|
||||||
* @param $items
|
* @param $items
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
|
@ -10,21 +10,21 @@ class IndexController
|
|||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 无需登录的方法
|
* Methods without login
|
||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
protected $noNeedLogin = ['index'];
|
protected $noNeedLogin = ['index'];
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后台主页
|
* Background Home
|
||||||
*
|
*
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
public function index(Request $request)
|
public function index(Request $request)
|
||||||
{
|
{
|
||||||
if (!$request->queryString()) {
|
if (!$request->queryString()) {
|
||||||
// 检查是否安装了admin
|
// Check if installedadmin
|
||||||
$database_config_file = base_path() . '/plugin/admin/config/database.php';
|
$database_config_file = base_path() . '/plugin/admin/config/database.php';
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
if (!is_file($database_config_file)) {
|
if (!is_file($database_config_file)) {
|
||||||
|
@ -8,7 +8,7 @@ use plugin\admin\app\model\Admin;
|
|||||||
use support\Request;
|
use support\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员设置
|
* Administrator Settings
|
||||||
*/
|
*/
|
||||||
class AdminController extends Base
|
class AdminController extends Base
|
||||||
{
|
{
|
||||||
@ -19,12 +19,12 @@ class AdminController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 增删改查
|
* Add, delete, modify and check
|
||||||
*/
|
*/
|
||||||
use Crud;
|
use Crud;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -32,7 +32,7 @@ class AdminController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* delete
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -43,7 +43,7 @@ class AdminController extends Base
|
|||||||
$column = $request->post('column');
|
$column = $request->post('column');
|
||||||
$value = $request->post('value');
|
$value = $request->post('value');
|
||||||
if ($value == admin_id()) {
|
if ($value == admin_id()) {
|
||||||
return $this->json(1, '不能删除自己');
|
return $this->json(1, 'Cannot delete myself');
|
||||||
}
|
}
|
||||||
$this->model->where([$column => $value])->delete();
|
$this->model->where([$column => $value])->delete();
|
||||||
return $this->json(0);
|
return $this->json(0);
|
||||||
|
@ -11,7 +11,7 @@ use support\Db;
|
|||||||
use support\Request;
|
use support\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员角色设置
|
* Administrator role settings
|
||||||
*/
|
*/
|
||||||
class AdminRoleController extends Base
|
class AdminRoleController extends Base
|
||||||
{
|
{
|
||||||
@ -21,12 +21,12 @@ class AdminRoleController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 增删改查
|
* Add, delete, modify and check
|
||||||
*/
|
*/
|
||||||
use Crud;
|
use Crud;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -34,7 +34,7 @@ class AdminRoleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* renew
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -47,14 +47,14 @@ class AdminRoleController extends Base
|
|||||||
$table = $this->model->getTable();
|
$table = $this->model->getTable();
|
||||||
$allow_column = Util::db()->select("desc $table");
|
$allow_column = Util::db()->select("desc $table");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['rules'] = array_filter(array_unique((array)$data['rules']));
|
$data['rules'] = array_filter(array_unique((array)$data['rules']));
|
||||||
|
|
||||||
$item = $this->model->where($column, $value)->first();
|
$item = $this->model->where($column, $value)->first();
|
||||||
if (!$item) {
|
if (!$item) {
|
||||||
return $this->json(1, '记录不存在');
|
return $this->json(1, 'Record does not exist');
|
||||||
}
|
}
|
||||||
if ($item->id == 1) {
|
if ($item->id == 1) {
|
||||||
$data['rules'] = '*';
|
$data['rules'] = '*';
|
||||||
@ -65,7 +65,7 @@ class AdminRoleController extends Base
|
|||||||
$data[$col] = implode(',', $item);
|
$data[$col] = implode(',', $item);
|
||||||
}
|
}
|
||||||
if ($col === 'password') {
|
if ($col === 'password') {
|
||||||
// 密码为空,则不更新密码
|
// If the password is empty, the password will not be updated
|
||||||
if ($item == '') {
|
if ($item == '') {
|
||||||
unset($data[$col]);
|
unset($data[$col]);
|
||||||
continue;
|
continue;
|
||||||
@ -79,7 +79,7 @@ class AdminRoleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* delete
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
* @throws \Support\Exception\BusinessException
|
* @throws \Support\Exception\BusinessException
|
||||||
@ -93,7 +93,7 @@ class AdminRoleController extends Base
|
|||||||
return $this->json(0);
|
return $this->json(0);
|
||||||
}
|
}
|
||||||
if ($item->id == 1) {
|
if ($item->id == 1) {
|
||||||
return $this->json(1, '无法删除超级管理员角色');
|
return $this->json(1, 'Cannot delete super administrator role');
|
||||||
}
|
}
|
||||||
$this->model->where('id', $item->id)->delete();
|
$this->model->where('id', $item->id)->delete();
|
||||||
return $this->json(0);
|
return $this->json(0);
|
||||||
|
@ -17,12 +17,12 @@ class AdminRuleController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 增删改查
|
* Add, delete, modify and check
|
||||||
*/
|
*/
|
||||||
use Crud;
|
use Crud;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -30,7 +30,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取权限树
|
* Get permission tree
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -43,7 +43,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据类同步规则到数据库
|
* According to class synchronization rules to database
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -91,7 +91,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 从数据库中删除已经不存在的方法
|
// Remove a method that no longer exists from the database
|
||||||
$menu_names_to_del = array_diff($methods_in_db, $methods_in_files);
|
$menu_names_to_del = array_diff($methods_in_db, $methods_in_files);
|
||||||
if ($menu_names_to_del) {
|
if ($menu_names_to_del) {
|
||||||
AdminRule::whereIn('name', $menu_names_to_del)->delete();
|
AdminRule::whereIn('name', $menu_names_to_del)->delete();
|
||||||
@ -99,7 +99,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询
|
* Inquire
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -141,7 +141,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* Add to
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -151,11 +151,11 @@ class AdminRuleController extends Base
|
|||||||
$table = $this->model->getTable();
|
$table = $this->model->getTable();
|
||||||
$allow_column = Util::db()->select("desc $table");
|
$allow_column = Util::db()->select("desc $table");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
$name = $data['name'];
|
$name = $data['name'];
|
||||||
if ($this->model->where('name', $name)->first()) {
|
if ($this->model->where('name', $name)->first()) {
|
||||||
return $this->json(1, "菜单key $name 已经存在");
|
return $this->json(1, "Menu key $name already exists");
|
||||||
}
|
}
|
||||||
$columns = array_column($allow_column, 'Field', 'Field');
|
$columns = array_column($allow_column, 'Field', 'Field');
|
||||||
foreach ($data as $col => $item) {
|
foreach ($data as $col => $item) {
|
||||||
@ -178,7 +178,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* renew
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -190,11 +190,11 @@ class AdminRuleController extends Base
|
|||||||
$table = $this->model->getTable();
|
$table = $this->model->getTable();
|
||||||
$allow_column = Util::db()->select("desc `$table`");
|
$allow_column = Util::db()->select("desc `$table`");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
$row = $this->model->where($column, $value)->first();
|
$row = $this->model->where($column, $value)->first();
|
||||||
if (!$row) {
|
if (!$row) {
|
||||||
return $this->json(2, '记录不存在');
|
return $this->json(2, 'Record does not exist');
|
||||||
}
|
}
|
||||||
foreach ($data as $col => $item) {
|
foreach ($data as $col => $item) {
|
||||||
if (is_array($item)) {
|
if (is_array($item)) {
|
||||||
@ -204,7 +204,7 @@ class AdminRuleController extends Base
|
|||||||
if (!isset($data['pid'])) {
|
if (!isset($data['pid'])) {
|
||||||
$data['pid'] = 0;
|
$data['pid'] = 0;
|
||||||
} elseif ($data['pid'] == $row['id']) {
|
} elseif ($data['pid'] == $row['id']) {
|
||||||
return $this->json(2, '不能将自己设置为上级菜单');
|
return $this->json(2, 'Cannot set yourself as parent menu');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['path'] = (empty($data['pid']) ? '/' : '') . ltrim($data['path'], '/');
|
$data['path'] = (empty($data['pid']) ? '/' : '') . ltrim($data['path'], '/');
|
||||||
@ -214,7 +214,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除
|
* delete
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
* @throws \Support\Exception\BusinessException
|
* @throws \Support\Exception\BusinessException
|
||||||
@ -225,9 +225,9 @@ class AdminRuleController extends Base
|
|||||||
$value = $request->post('value');
|
$value = $request->post('value');
|
||||||
$item = $this->model->where($column, $value)->first();
|
$item = $this->model->where($column, $value)->first();
|
||||||
if (!$item) {
|
if (!$item) {
|
||||||
return $this->json(1, '记录不存在');
|
return $this->json(1, 'Record does not exist');
|
||||||
}
|
}
|
||||||
// 子规则一起删除
|
// Sub-rules are deleted together
|
||||||
$delete_ids = $children_ids = [$item['id']];
|
$delete_ids = $children_ids = [$item['id']];
|
||||||
while($children_ids) {
|
while($children_ids) {
|
||||||
$children_ids = $this->model->whereIn('pid', $children_ids)->pluck('id')->toArray();
|
$children_ids = $this->model->whereIn('pid', $children_ids)->pluck('id')->toArray();
|
||||||
@ -238,7 +238,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 一键生成菜单
|
* One-click menu generation
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -258,7 +258,7 @@ class AdminRuleController extends Base
|
|||||||
if ($pid) {
|
if ($pid) {
|
||||||
$parent_menu = AdminRule::find($pid);
|
$parent_menu = AdminRule::find($pid);
|
||||||
if (!$parent_menu) {
|
if (!$parent_menu) {
|
||||||
return $this->json(1, '父菜单不存在');
|
return $this->json(1, 'Parent menu does not exist');
|
||||||
}
|
}
|
||||||
$path = $parent_menu['path'];
|
$path = $parent_menu['path'];
|
||||||
}
|
}
|
||||||
@ -283,20 +283,20 @@ class AdminRuleController extends Base
|
|||||||
$model_file = base_path() . "/plugin/admin/app/model/$model_class.php";
|
$model_file = base_path() . "/plugin/admin/app/model/$model_class.php";
|
||||||
if (!$overwrite) {
|
if (!$overwrite) {
|
||||||
if (is_file($controller_file)) {
|
if (is_file($controller_file)) {
|
||||||
return $this->json(1, substr($controller_file, strlen(base_path())) . '已经存在');
|
return $this->json(1, substr($controller_file, strlen(base_path())) . 'already exists');
|
||||||
}
|
}
|
||||||
if (is_file($model_file)) {
|
if (is_file($model_file)) {
|
||||||
return $this->json(1, substr($model_file, strlen(base_path())) . '已经存在');
|
return $this->json(1, substr($model_file, strlen(base_path())) . 'already exists');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建model
|
// createmodel
|
||||||
$this->createModel($model_class, "plugin\\admin\\app\\model", $model_file, $table_name);
|
$this->createModel($model_class, "plugin\\admin\\app\\model", $model_file, $table_name);
|
||||||
|
|
||||||
// 创建controller
|
// createcontroller
|
||||||
$this->createController($controller_class, $controller_namespace, $controller_file, $model_class, $name);
|
$this->createController($controller_class, $controller_namespace, $controller_file, $model_class, $name);
|
||||||
|
|
||||||
// 菜单相关参数
|
// Menu related parameters
|
||||||
$menu_path = str_replace('_', '', $table_basename);
|
$menu_path = str_replace('_', '', $table_basename);
|
||||||
$suffix = substr($menu_path, -2);
|
$suffix = substr($menu_path, -2);
|
||||||
if ($suffix != 'ss' && $suffix != 'es') {
|
if ($suffix != 'ss' && $suffix != 'es') {
|
||||||
@ -328,7 +328,7 @@ class AdminRuleController extends Base
|
|||||||
$rule_ids = array_merge($rule_ids, explode(',', $rule_string));
|
$rule_ids = array_merge($rule_ids, explode(',', $rule_string));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 不是超级管理员,则需要给当前管理员这个菜单的权限
|
// If you are not a super administrator, you need to give the current administrator permission to this menu
|
||||||
if (!in_array('*', $rule_ids) && $roles){
|
if (!in_array('*', $rule_ids) && $roles){
|
||||||
$role = AdminRole::find(current($roles));
|
$role = AdminRole::find(current($roles));
|
||||||
if ($role) {
|
if ($role) {
|
||||||
@ -341,7 +341,7 @@ class AdminRuleController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建model
|
* createmodel
|
||||||
*
|
*
|
||||||
* @param $class
|
* @param $class
|
||||||
* @param $namespace
|
* @param $namespace
|
||||||
@ -363,7 +363,7 @@ class AdminRuleController extends Base
|
|||||||
foreach (Util::db()->select("select COLUMN_NAME,DATA_TYPE,COLUMN_KEY,COLUMN_COMMENT from INFORMATION_SCHEMA.COLUMNS where table_name = '$table' and table_schema = '$database'") as $item) {
|
foreach (Util::db()->select("select COLUMN_NAME,DATA_TYPE,COLUMN_KEY,COLUMN_COMMENT from INFORMATION_SCHEMA.COLUMNS where table_name = '$table' and table_schema = '$database'") as $item) {
|
||||||
if ($item->COLUMN_KEY === 'PRI') {
|
if ($item->COLUMN_KEY === 'PRI') {
|
||||||
$pk = $item->COLUMN_NAME;
|
$pk = $item->COLUMN_NAME;
|
||||||
$item->COLUMN_COMMENT .= "(主键)";
|
$item->COLUMN_COMMENT .= "(primary key)";
|
||||||
}
|
}
|
||||||
$type = $this->getType($item->DATA_TYPE);
|
$type = $this->getType($item->DATA_TYPE);
|
||||||
$properties .= " * @property $type \${$item->COLUMN_NAME} {$item->COLUMN_COMMENT}\n";
|
$properties .= " * @property $type \${$item->COLUMN_NAME} {$item->COLUMN_COMMENT}\n";
|
||||||
@ -416,7 +416,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建控制器
|
* Create Controller
|
||||||
*
|
*
|
||||||
* @param $controller_class
|
* @param $controller_class
|
||||||
* @param $namespace
|
* @param $namespace
|
||||||
@ -444,7 +444,7 @@ use support\Request;
|
|||||||
class $controller_class extends Base
|
class $controller_class extends Base
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 开启增删改查
|
* Enable CRUD
|
||||||
*/
|
*/
|
||||||
use Crud;
|
use Crud;
|
||||||
|
|
||||||
@ -454,7 +454,7 @@ class $controller_class extends Base
|
|||||||
protected \$model = null;
|
protected \$model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -478,7 +478,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字段类型到php类型映射
|
* Field type to php type mapping
|
||||||
*
|
*
|
||||||
* @param string $type
|
* @param string $type
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -12,18 +12,18 @@ use support\Request;
|
|||||||
use support\Response;
|
use support\Response;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 管理员账户
|
* Administrator Account
|
||||||
*/
|
*/
|
||||||
class AccountController extends Base
|
class AccountController extends Base
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 不需要登录的方法
|
* Methods that do not require login
|
||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
public $noNeedLogin = ['login', 'logout', 'captcha'];
|
public $noNeedLogin = ['login', 'logout', 'captcha'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 不需要鉴权的方法
|
* Methods that do not require authentication
|
||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
public $noNeedAuth = ['info', 'getPermCode'];
|
public $noNeedAuth = ['info', 'getPermCode'];
|
||||||
@ -34,7 +34,7 @@ class AccountController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -42,7 +42,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* Log in
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -51,18 +51,18 @@ class AccountController extends Base
|
|||||||
{
|
{
|
||||||
$captcha = $request->post('captcha');
|
$captcha = $request->post('captcha');
|
||||||
if (strtolower($captcha) !== session('captcha-login')) {
|
if (strtolower($captcha) !== session('captcha-login')) {
|
||||||
return $this->json(1, '验证码错误');
|
return $this->json(1, 'Verification code error');
|
||||||
}
|
}
|
||||||
$request->session()->forget('captcha-login');
|
$request->session()->forget('captcha-login');
|
||||||
$username = $request->post('username', '');
|
$username = $request->post('username', '');
|
||||||
$password = $request->post('password', '');
|
$password = $request->post('password', '');
|
||||||
if (!$username) {
|
if (!$username) {
|
||||||
return $this->json(1, '用户名不能为空');
|
return $this->json(1, 'Username can not be empty');
|
||||||
}
|
}
|
||||||
$this->checkLoginLimit($username);
|
$this->checkLoginLimit($username);
|
||||||
$admin = Admin::where('username', $username)->first();
|
$admin = Admin::where('username', $username)->first();
|
||||||
if (!$admin || !Util::passwordVerify($password, $admin->password)) {
|
if (!$admin || !Util::passwordVerify($password, $admin->password)) {
|
||||||
return $this->json(1, '账户不存在或密码错误');
|
return $this->json(1, 'Account does not exist or password is incorrect');
|
||||||
}
|
}
|
||||||
$this->removeLoginLimit($username);
|
$this->removeLoginLimit($username);
|
||||||
$admin = $admin->toArray();
|
$admin = $admin->toArray();
|
||||||
@ -70,14 +70,14 @@ class AccountController extends Base
|
|||||||
unset($admin['password']);
|
unset($admin['password']);
|
||||||
$admin['roles'] = $admin['roles'] ? explode(',', $admin['roles']) : [];
|
$admin['roles'] = $admin['roles'] ? explode(',', $admin['roles']) : [];
|
||||||
$session->set('admin', $admin);
|
$session->set('admin', $admin);
|
||||||
return $this->json(0, '登录成功', [
|
return $this->json(0, 'login successful', [
|
||||||
'nickname' => $admin['nickname'],
|
'nickname' => $admin['nickname'],
|
||||||
'token' => $request->sessionId(),
|
'token' => $request->sessionId(),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退出
|
* quit
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -90,7 +90,7 @@ class AccountController extends Base
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取登录信息
|
* Get login information
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -116,7 +116,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证码
|
* Verification Code
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param $type
|
* @param $type
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -131,7 +131,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取权限码(目前没作用)
|
* Get permission code (currently has no effect)
|
||||||
* @return Response
|
* @return Response
|
||||||
*/
|
*/
|
||||||
public function getPermCode()
|
public function getPermCode()
|
||||||
@ -140,7 +140,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新
|
* renew
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -175,7 +175,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改密码
|
* change Password
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -185,10 +185,10 @@ class AccountController extends Base
|
|||||||
$hash = admin('password');
|
$hash = admin('password');
|
||||||
$password = $request->post('password');
|
$password = $request->post('password');
|
||||||
if (!$password) {
|
if (!$password) {
|
||||||
return $this->json(2, '密码不能为空');
|
return $this->json(2, 'password can not be blank');
|
||||||
}
|
}
|
||||||
if (!Util::passwordVerify($request->post('old_password'), $hash)) {
|
if (!Util::passwordVerify($request->post('old_password'), $hash)) {
|
||||||
return $this->json(1, '原始密码不正确');
|
return $this->json(1, 'Original password is incorrect');
|
||||||
}
|
}
|
||||||
$update_data = [
|
$update_data = [
|
||||||
'password' => Util::passwordHash($password)
|
'password' => Util::passwordHash($password)
|
||||||
@ -198,7 +198,7 @@ class AccountController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查登录频率限制
|
* Check login frequency limit
|
||||||
*
|
*
|
||||||
* @param $username
|
* @param $username
|
||||||
* @return void
|
* @return void
|
||||||
@ -228,13 +228,13 @@ class AccountController extends Base
|
|||||||
$limit_info['count']++;
|
$limit_info['count']++;
|
||||||
file_put_contents($limit_file, json_encode($limit_info));
|
file_put_contents($limit_file, json_encode($limit_info));
|
||||||
if ($limit_info['count'] >= 5) {
|
if ($limit_info['count'] >= 5) {
|
||||||
throw new BusinessException('登录失败次数过多,请5分钟后再试');
|
throw new BusinessException('Too many login failures, please try again in 5 minutes');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解除登录限制
|
* Remove login restrictions
|
||||||
*
|
*
|
||||||
* @param $username
|
* @param $username
|
||||||
* @return void
|
* @return void
|
||||||
|
@ -13,18 +13,18 @@ use support\Response;
|
|||||||
use support\Db;
|
use support\Db;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安装
|
* Install
|
||||||
*/
|
*/
|
||||||
class InstallController extends Base
|
class InstallController extends Base
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 不需要登录的方法
|
* Methods that do not require login
|
||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
public $noNeedLogin = ['step1', 'step2'];
|
public $noNeedLogin = ['step1', 'step2'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置数据库
|
* Setup Database
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -35,11 +35,11 @@ class InstallController extends Base
|
|||||||
$database_config_file = base_path() . '/plugin/admin/config/database.php';
|
$database_config_file = base_path() . '/plugin/admin/config/database.php';
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
if (is_file($database_config_file)) {
|
if (is_file($database_config_file)) {
|
||||||
return $this->json(1, '管理后台已经安装!如需重新安装,请删除该插件数据库配置文件并重启');
|
return $this->json(1, 'The management background has been installed! If you need to reinstall, please delete the plugin database configuration file and restart');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!class_exists(CaptchaBuilder::class) || !class_exists(Manager::class)) {
|
if (!class_exists(CaptchaBuilder::class) || !class_exists(Manager::class)) {
|
||||||
return $this->json(1, '请先restart重启webman后再进行此页面的设置');
|
return $this->json(1, 'Please restart webman before setting this page');
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = $request->post('user');
|
$user = $request->post('user');
|
||||||
@ -60,13 +60,13 @@ class InstallController extends Base
|
|||||||
$tables = $smt->fetchAll();
|
$tables = $smt->fetchAll();
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
if (stripos($e, 'Access denied for user')) {
|
if (stripos($e, 'Access denied for user')) {
|
||||||
return $this->json(1, '数据库用户名或密码错误');
|
return $this->json(1, 'Incorrect database username or password');
|
||||||
}
|
}
|
||||||
if (stripos($e, 'Connection refused')) {
|
if (stripos($e, 'Connection refused')) {
|
||||||
return $this->json(1, 'Connection refused. 请确认数据库IP端口是否正确,数据库已经启动');
|
return $this->json(1, 'Connection refused. Please confirm whether the database IP port is correct and the database has been started');
|
||||||
}
|
}
|
||||||
if (stripos($e, 'timed out')) {
|
if (stripos($e, 'timed out')) {
|
||||||
return $this->json(1, '数据库连接超时,请确认数据库IP端口是否正确,安全组及防火墙已经放行端口');
|
return $this->json(1, 'The database connection timed out, please confirm whether the database IP port is correct, the security group and firewall have released the port');
|
||||||
}
|
}
|
||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
@ -86,13 +86,13 @@ class InstallController extends Base
|
|||||||
}
|
}
|
||||||
$tables_conflict = array_intersect($tables_to_install, $tables_exist);
|
$tables_conflict = array_intersect($tables_to_install, $tables_exist);
|
||||||
if ($tables_conflict) {
|
if ($tables_conflict) {
|
||||||
return $this->json(1, '以下表' . implode(',', $tables_conflict) . '已经存在,如需覆盖请选择强制覆盖');
|
return $this->json(1, 'The following table' . implode(',', $tables_conflict) . ' already exists, if you want to overwrite, please select Force Overwrite');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_file = base_path() . '/plugin/admin/webman-admin.sql';
|
$sql_file = base_path() . '/plugin/admin/webman-admin.sql';
|
||||||
if (!is_file($sql_file)) {
|
if (!is_file($sql_file)) {
|
||||||
return $this->json(1, '数据库SQL文件不存在');
|
return $this->json(1, 'Database SQL file does not exist');
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_query = file_get_contents($sql_file);
|
$sql_query = file_get_contents($sql_file);
|
||||||
@ -102,7 +102,7 @@ class InstallController extends Base
|
|||||||
$db->exec($sql);
|
$db->exec($sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导入菜单
|
// Import menu
|
||||||
$menus = include base_path() . '/plugin/admin/config/menu.php';
|
$menus = include base_path() . '/plugin/admin/config/menu.php';
|
||||||
$this->import($menus, $db);
|
$this->import($menus, $db);
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ EOF;
|
|||||||
|
|
||||||
file_put_contents($database_config_file, $config_content);
|
file_put_contents($database_config_file, $config_content);
|
||||||
|
|
||||||
// 尝试reload
|
// tryreload
|
||||||
if (function_exists('posix_kill')) {
|
if (function_exists('posix_kill')) {
|
||||||
set_error_handler(function () {});
|
set_error_handler(function () {});
|
||||||
posix_kill(posix_getppid(), SIGUSR1);
|
posix_kill(posix_getppid(), SIGUSR1);
|
||||||
@ -141,7 +141,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设置管理员
|
* Setup Administrator
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return Response
|
* @return Response
|
||||||
@ -153,24 +153,24 @@ EOF;
|
|||||||
$password = $request->post('password');
|
$password = $request->post('password');
|
||||||
$password2 = $request->post('password2');
|
$password2 = $request->post('password2');
|
||||||
if ($password != $password2) {
|
if ($password != $password2) {
|
||||||
return $this->json(1, '两次密码不一致');
|
return $this->json(1, 'The two passwords do not match');
|
||||||
}
|
}
|
||||||
if (!is_file($config_file = base_path() . '/plugin/admin/config/database.php')) {
|
if (!is_file($config_file = base_path() . '/plugin/admin/config/database.php')) {
|
||||||
return $this->json(1, '请先完成第一步数据库配置');
|
return $this->json(1, 'Please complete the first step of database configuration');
|
||||||
}
|
}
|
||||||
$config = include $config_file;
|
$config = include $config_file;
|
||||||
$connection = $config['connections']['mysql'];
|
$connection = $config['connections']['mysql'];
|
||||||
$pdo = $this->getPdo($connection['host'], $connection['username'], $connection['password'], $connection['port'], $connection['database']);
|
$pdo = $this->getPdo($connection['host'], $connection['username'], $connection['password'], $connection['port'], $connection['database']);
|
||||||
$smt = $pdo->query('select * from wa_admins limit 1');
|
$smt = $pdo->query('select * from wa_admins limit 1');
|
||||||
if ($smt->fetchAll()) {
|
if ($smt->fetchAll()) {
|
||||||
return $this->json(1, '后台已经安装完毕,无法通过此页面创建管理员');
|
return $this->json(1, 'The background has been installed, the administrator cannot be created through this page');
|
||||||
}
|
}
|
||||||
$smt = $pdo->prepare("insert into `wa_admins` (`username`, `password`, `nickname`, `roles`, `created_at`, `updated_at`) values (:username, :password, :nickname, :roles, :created_at, :updated_at)");
|
$smt = $pdo->prepare("insert into `wa_admins` (`username`, `password`, `nickname`, `roles`, `created_at`, `updated_at`) values (:username, :password, :nickname, :roles, :created_at, :updated_at)");
|
||||||
$time = date('Y-m-d H:i:s');
|
$time = date('Y-m-d H:i:s');
|
||||||
$data = [
|
$data = [
|
||||||
'username' => $username,
|
'username' => $username,
|
||||||
'password' => Util::passwordHash($password),
|
'password' => Util::passwordHash($password),
|
||||||
'nickname' => '超级管理员',
|
'nickname' => 'Super Admin',
|
||||||
'roles' => '1',
|
'roles' => '1',
|
||||||
'created_at' => $time,
|
'created_at' => $time,
|
||||||
'updated_at' => $time
|
'updated_at' => $time
|
||||||
@ -183,7 +183,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加菜单
|
* Add menu
|
||||||
*
|
*
|
||||||
* @param array $menu
|
* @param array $menu
|
||||||
* @param \PDO $pdo
|
* @param \PDO $pdo
|
||||||
@ -214,7 +214,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入菜单
|
* Import menu
|
||||||
*
|
*
|
||||||
* @param array $menu_tree
|
* @param array $menu_tree
|
||||||
* @param \PDO $pdo
|
* @param \PDO $pdo
|
||||||
@ -259,7 +259,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 去除sql文件中的注释
|
* Remove comments in sql file
|
||||||
*
|
*
|
||||||
* @param $sql
|
* @param $sql
|
||||||
* @return string
|
* @return string
|
||||||
@ -318,7 +318,7 @@ EOF;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取pdo连接
|
* Get pdo connection
|
||||||
*
|
*
|
||||||
* @param $host
|
* @param $host
|
||||||
* @param $username
|
* @param $username
|
||||||
|
@ -11,7 +11,7 @@ use function admin;
|
|||||||
class MenuController extends Base
|
class MenuController extends Base
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 不需要权限的方法
|
* methods that don't require permissions
|
||||||
*
|
*
|
||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
@ -23,7 +23,7 @@ class MenuController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -31,7 +31,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取菜单
|
* Get menu
|
||||||
*
|
*
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -65,7 +65,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 超级管理员权限为 *
|
// Super administrator privilege is *
|
||||||
if (!in_array('*', $rules)) {
|
if (!in_array('*', $rules)) {
|
||||||
$this->removeUncontain($formatted_items, 'id', $rules);
|
$this->removeUncontain($formatted_items, 'id', $rules);
|
||||||
}
|
}
|
||||||
@ -78,7 +78,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取菜单树
|
* Get menu tree
|
||||||
*
|
*
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
*/
|
*/
|
||||||
@ -112,7 +112,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 超级管理员权限为 *
|
// Super administrator privilege is *
|
||||||
if (!in_array('*', $rules)) {
|
if (!in_array('*', $rules)) {
|
||||||
$this->removeUncontain($formatted_items, 'id', $rules);
|
$this->removeUncontain($formatted_items, 'id', $rules);
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 移除不包含某些数据的数组
|
* Remove arrays that do not contain some data
|
||||||
*
|
*
|
||||||
* @param $array
|
* @param $array
|
||||||
* @param $key
|
* @param $key
|
||||||
@ -152,7 +152,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断数组是否包含某些数据
|
* Determine whether the array contains some data
|
||||||
*
|
*
|
||||||
* @param $array
|
* @param $array
|
||||||
* @param $key
|
* @param $key
|
||||||
@ -179,7 +179,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 递归删除某些key
|
* recursively delete somekey
|
||||||
*
|
*
|
||||||
* @param $array
|
* @param $array
|
||||||
* @param $keys
|
* @param $keys
|
||||||
@ -199,7 +199,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取权限规则
|
* Get permission rules
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getRulesAndItems()
|
protected function getRulesAndItems()
|
||||||
@ -219,7 +219,7 @@ class MenuController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 递归重建数组下标
|
* Recursively rebuild array subscripts
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
@ -9,13 +9,13 @@ use function base_path;
|
|||||||
use function json;
|
use function json;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上传
|
* upload
|
||||||
*/
|
*/
|
||||||
class UploadController extends Base
|
class UploadController extends Base
|
||||||
{
|
{
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上传文件
|
* upload files
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -24,7 +24,7 @@ class UploadController extends Base
|
|||||||
{
|
{
|
||||||
$file = current($request->file());
|
$file = current($request->file());
|
||||||
if (!$file || !$file->isValid()) {
|
if (!$file || !$file->isValid()) {
|
||||||
return $this->json(1, '未找到文件');
|
return $this->json(1, 'File not found');
|
||||||
}
|
}
|
||||||
$img_exts = [
|
$img_exts = [
|
||||||
'jpg',
|
'jpg',
|
||||||
@ -39,11 +39,11 @@ class UploadController extends Base
|
|||||||
if ($data['code']) {
|
if ($data['code']) {
|
||||||
return $this->json($data['code'], $data['message']);
|
return $this->json($data['code'], $data['message']);
|
||||||
}
|
}
|
||||||
return json(['code' => 0, 'message' => '上传成功', 'url' => $data['data']['src']]);
|
return json(['code' => 0, 'message' => 'Upload successful', 'url' => $data['data']['src']]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上传头像
|
* Upload Avatar
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -55,7 +55,7 @@ class UploadController extends Base
|
|||||||
if ($file && $file->isValid()) {
|
if ($file && $file->isValid()) {
|
||||||
$ext = strtolower($file->getUploadExtension());
|
$ext = strtolower($file->getUploadExtension());
|
||||||
if (!in_array($ext, ['jpg', 'jpeg', 'gif', 'png'])) {
|
if (!in_array($ext, ['jpg', 'jpeg', 'gif', 'png'])) {
|
||||||
return json(['code' => 2, 'msg' => '仅支持 jpg jpeg gif png格式']);
|
return json(['code' => 2, 'msg' => 'Only support jpg jpeg gif png format']);
|
||||||
}
|
}
|
||||||
$image = Image::make($file);
|
$image = Image::make($file);
|
||||||
$width = $image->width();
|
$width = $image->width();
|
||||||
@ -87,7 +87,7 @@ class UploadController extends Base
|
|||||||
|
|
||||||
return json([
|
return json([
|
||||||
'code' => 0,
|
'code' => 0,
|
||||||
'message' => '上传成功',
|
'message' => 'Upload successful',
|
||||||
'url' => "/app/admin/$relative_path/$name.$ext"
|
'url' => "/app/admin/$relative_path/$name.$ext"
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@ -95,7 +95,7 @@ class UploadController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上传图片
|
* upload image
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -122,18 +122,18 @@ class UploadController extends Base
|
|||||||
unlink($realpath);
|
unlink($realpath);
|
||||||
return json( [
|
return json( [
|
||||||
'code' => 500,
|
'code' => 500,
|
||||||
'message' => '处理图片发生错误'
|
'message' => 'Error processing image'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
return json( [
|
return json( [
|
||||||
'code' => 0,
|
'code' => 0,
|
||||||
'message' => '上传成功',
|
'message' => 'Upload successful',
|
||||||
'url' => $data['data']['src']
|
'url' => $data['data']['src']
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取上传数据
|
* Get upload data
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @param $relative_dir
|
* @param $relative_dir
|
||||||
@ -145,7 +145,7 @@ class UploadController extends Base
|
|||||||
$relative_dir = ltrim($relative_dir, '/');
|
$relative_dir = ltrim($relative_dir, '/');
|
||||||
$file = current($request->file());
|
$file = current($request->file());
|
||||||
if (!$file || !$file->isValid()) {
|
if (!$file || !$file->isValid()) {
|
||||||
return ['code' => 400, 'message' => '未找到上传文件'];
|
return ['code' => 400, 'message' => 'Upload file not found'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$base_dir = base_path() . '/plugin/admin/public/';
|
$base_dir = base_path() . '/plugin/admin/public/';
|
||||||
@ -157,7 +157,7 @@ class UploadController extends Base
|
|||||||
$ext = strtolower($file->getUploadExtension());
|
$ext = strtolower($file->getUploadExtension());
|
||||||
$ext_forbidden_map = ['php', 'php3', 'php5', 'css', 'js', 'html', 'htm', 'asp', 'jsp'];
|
$ext_forbidden_map = ['php', 'php3', 'php5', 'css', 'js', 'html', 'htm', 'asp', 'jsp'];
|
||||||
if (in_array($ext, $ext_forbidden_map)) {
|
if (in_array($ext, $ext_forbidden_map)) {
|
||||||
return ['code' => 400, 'message' => '不支持该格式的文件上传'];
|
return ['code' => 400, 'message' => 'File upload in this format is not supported'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$relative_path = $relative_dir . '/' . bin2hex(pack('Nn',time(), random_int(1, 65535))) . ".$ext";
|
$relative_path = $relative_dir . '/' . bin2hex(pack('Nn',time(), random_int(1, 65535))) . ".$ext";
|
||||||
@ -167,7 +167,7 @@ class UploadController extends Base
|
|||||||
$file->move($full_path);
|
$file->move($full_path);
|
||||||
return [
|
return [
|
||||||
'code' => 0,
|
'code' => 0,
|
||||||
'msg' => '上传成功',
|
'msg' => 'Upload successful',
|
||||||
'data' => [
|
'data' => [
|
||||||
'src' => "/app/admin/$relative_path",
|
'src' => "/app/admin/$relative_path",
|
||||||
'name' => $file_name,
|
'name' => $file_name,
|
||||||
@ -178,7 +178,7 @@ class UploadController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 格式化文件大小
|
* Format file size
|
||||||
*
|
*
|
||||||
* @param $file_size
|
* @param $file_size
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -13,13 +13,13 @@ use Support\Request;
|
|||||||
class TableController extends Base
|
class TableController extends Base
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* 不需要鉴权的方法
|
* Methods that do not require authentication
|
||||||
* @var string[]
|
* @var string[]
|
||||||
*/
|
*/
|
||||||
public $noNeedAuth = ['types'];
|
public $noNeedAuth = ['types'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询表
|
* Lookup table
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -51,7 +51,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建表
|
* Create table
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -70,7 +70,7 @@ class TableController extends Base
|
|||||||
throw new BusinessException("请为{$column['field']}选择类型");
|
throw new BusinessException("请为{$column['field']}选择类型");
|
||||||
}
|
}
|
||||||
if (!isset($type_method_map[$column['type']])) {
|
if (!isset($type_method_map[$column['type']])) {
|
||||||
throw new BusinessException("不支持的类型{$column['type']}");
|
throw new BusinessException("unsupported type{$column['type']}");
|
||||||
}
|
}
|
||||||
$this->createColumn($column, $table);
|
$this->createColumn($column, $table);
|
||||||
}
|
}
|
||||||
@ -78,10 +78,10 @@ class TableController extends Base
|
|||||||
$table->collation = 'utf8mb4_general_ci';
|
$table->collation = 'utf8mb4_general_ci';
|
||||||
$table->engine = 'InnoDB';
|
$table->engine = 'InnoDB';
|
||||||
});
|
});
|
||||||
// @todo 防注入
|
// @todo Anti-injection
|
||||||
Util::db()->statement("ALTER TABLE `$table_name` COMMENT '$table_comment'");
|
Util::db()->statement("ALTER TABLE `$table_name` COMMENT '$table_comment'");
|
||||||
|
|
||||||
// 索引
|
// index
|
||||||
Util::schema()->table($table_name, function (Blueprint $table) use ($keys) {
|
Util::schema()->table($table_name, function (Blueprint $table) use ($keys) {
|
||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
$name = $key['name'];
|
$name = $key['name'];
|
||||||
@ -106,7 +106,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改表
|
* Modify table
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -120,7 +120,7 @@ class TableController extends Base
|
|||||||
$table_comment = $data['table']['comment'];
|
$table_comment = $data['table']['comment'];
|
||||||
$columns = $data['columns'];
|
$columns = $data['columns'];
|
||||||
$keys = $data['keys'] ?? [];
|
$keys = $data['keys'] ?? [];
|
||||||
// 改表名
|
// Rename table
|
||||||
if ($table_name != $old_table_name) {
|
if ($table_name != $old_table_name) {
|
||||||
Util::checkTableName($table_name);
|
Util::checkTableName($table_name);
|
||||||
Util::schema()->rename($old_table_name, $table_name);
|
Util::schema()->rename($old_table_name, $table_name);
|
||||||
@ -130,17 +130,17 @@ class TableController extends Base
|
|||||||
$type_method_map = Util::methodControlMap();
|
$type_method_map = Util::methodControlMap();
|
||||||
foreach ($columns as $column) {
|
foreach ($columns as $column) {
|
||||||
if (!isset($type_method_map[$column['type']])) {
|
if (!isset($type_method_map[$column['type']])) {
|
||||||
throw new BusinessException("不支持的类型{$column['type']}");
|
throw new BusinessException("unsupported type{$column['type']}");
|
||||||
}
|
}
|
||||||
$field = $column['field'];
|
$field = $column['field'];
|
||||||
|
|
||||||
// 重命名的字段 mysql8才支持?
|
// Renamed fields are only supported by mysql8?
|
||||||
if (isset($column['old_field']) && $column['old_field'] !== $field) {
|
if (isset($column['old_field']) && $column['old_field'] !== $field) {
|
||||||
//Util::db()->statement("ALTER TABLE $table_name RENAME COLUMN {$column['old_field']} to $field");
|
//Util::db()->statement("ALTER TABLE $table_name RENAME COLUMN {$column['old_field']} to $field");
|
||||||
}
|
}
|
||||||
|
|
||||||
$old_column = $old_columns[$field] ?? [];
|
$old_column = $old_columns[$field] ?? [];
|
||||||
// 类型更改
|
// Type change
|
||||||
foreach ($old_column as $key => $value) {
|
foreach ($old_column as $key => $value) {
|
||||||
if (isset($column[$key]) && $column[$key] != $value) {
|
if (isset($column[$key]) && $column[$key] != $value) {
|
||||||
$this->modifyColumn($column, $table_name);
|
$this->modifyColumn($column, $table_name);
|
||||||
@ -150,7 +150,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
$table = $this->getSchema($table_name, 'table');
|
$table = $this->getSchema($table_name, 'table');
|
||||||
// @todo $table_comment 防止SQL注入
|
// @todo $table_comment Prevent SQL Injection
|
||||||
if ($table_comment !== $table['comment']) {
|
if ($table_comment !== $table['comment']) {
|
||||||
Util::db()->statement("ALTER TABLE `$table_name` COMMENT '$table_comment'");
|
Util::db()->statement("ALTER TABLE `$table_name` COMMENT '$table_comment'");
|
||||||
}
|
}
|
||||||
@ -159,12 +159,12 @@ class TableController extends Base
|
|||||||
Util::schema()->table($table_name, function (Blueprint $table) use ($columns, $old_columns, $keys, $table_name) {
|
Util::schema()->table($table_name, function (Blueprint $table) use ($columns, $old_columns, $keys, $table_name) {
|
||||||
foreach ($columns as $column) {
|
foreach ($columns as $column) {
|
||||||
$field = $column['field'];
|
$field = $column['field'];
|
||||||
// 新字段
|
// new field
|
||||||
if (!isset($old_columns[$field])) {
|
if (!isset($old_columns[$field])) {
|
||||||
$this->createColumn($column, $table);
|
$this->createColumn($column, $table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 更新索引名字
|
// Update index name
|
||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
if (!empty($key['old_name']) && $key['old_name'] !== $key['name']) {
|
if (!empty($key['old_name']) && $key['old_name'] !== $key['name']) {
|
||||||
$table->renameIndex($key['old_name'], $key['name']);
|
$table->renameIndex($key['old_name'], $key['name']);
|
||||||
@ -172,13 +172,13 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// 找到删除的字段
|
// Found deleted field
|
||||||
$old_columns = $this->getSchema($table_name, 'columns');
|
$old_columns = $this->getSchema($table_name, 'columns');
|
||||||
$exists_column_names = array_column($columns, 'field', 'field');
|
$exists_column_names = array_column($columns, 'field', 'field');
|
||||||
$old_columns_names = array_column($old_columns, 'field');
|
$old_columns_names = array_column($old_columns, 'field');
|
||||||
$drop_column_names = array_diff($old_columns_names, $exists_column_names);
|
$drop_column_names = array_diff($old_columns_names, $exists_column_names);
|
||||||
foreach ($drop_column_names as $drop_column_name) {
|
foreach ($drop_column_names as $drop_column_name) {
|
||||||
//$table->dropColumn($drop_column_name); 无法使用
|
//$table->dropColumn($drop_column_name); Not available
|
||||||
Util::db()->statement("ALTER TABLE $table_name DROP COLUMN $drop_column_name");
|
Util::db()->statement("ALTER TABLE $table_name DROP COLUMN $drop_column_name");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,13 +187,13 @@ class TableController extends Base
|
|||||||
foreach ($keys as $key) {
|
foreach ($keys as $key) {
|
||||||
$key_name = $key['name'];
|
$key_name = $key['name'];
|
||||||
$old_key = $old_keys[$key_name] ?? [];
|
$old_key = $old_keys[$key_name] ?? [];
|
||||||
// 如果索引有变动,则删除索引,重新建立索引
|
// If the index changes, delete the index and rebuild the index
|
||||||
if ($old_key && ($key['type'] != $old_key['type'] || $key['columns'] != $old_key['columns'])) {
|
if ($old_key && ($key['type'] != $old_key['type'] || $key['columns'] != $old_key['columns'])) {
|
||||||
$old_key = [];
|
$old_key = [];
|
||||||
unset($old_keys[$key_name]);
|
unset($old_keys[$key_name]);
|
||||||
$table->dropIndex($key_name);
|
$table->dropIndex($key_name);
|
||||||
}
|
}
|
||||||
// 重新建立索引
|
// Rebuild Index
|
||||||
if (!$old_key) {
|
if (!$old_key) {
|
||||||
$name = $key['name'];
|
$name = $key['name'];
|
||||||
$columns = $key['columns'];
|
$columns = $key['columns'];
|
||||||
@ -206,7 +206,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 找到删除的索引
|
// Found deleted index
|
||||||
$exists_key_names = array_column($keys, 'name', 'name');
|
$exists_key_names = array_column($keys, 'name', 'name');
|
||||||
$old_keys_names = array_column($old_keys, 'name');
|
$old_keys_names = array_column($old_keys, 'name');
|
||||||
$drop_keys_names = array_diff($old_keys_names, $exists_key_names);
|
$drop_keys_names = array_diff($old_keys_names, $exists_key_names);
|
||||||
@ -227,7 +227,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询记录
|
* Search record
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -242,11 +242,11 @@ class TableController extends Base
|
|||||||
$page_size = $request->get('pageSize', $format === 'tree' ? 1000 : 10);
|
$page_size = $request->get('pageSize', $format === 'tree' ? 1000 : 10);
|
||||||
|
|
||||||
if (!preg_match('/[a-zA-Z_0-9]+/', $table)) {
|
if (!preg_match('/[a-zA-Z_0-9]+/', $table)) {
|
||||||
return $this->json(1, '表不存在');
|
return $this->json(1, 'table does not exist');
|
||||||
}
|
}
|
||||||
$allow_column = Util::db()->select("desc $table");
|
$allow_column = Util::db()->select("desc $table");
|
||||||
if (!$allow_column) {
|
if (!$allow_column) {
|
||||||
return $this->json(2, '表不存在');
|
return $this->json(2, 'table does not exist');
|
||||||
}
|
}
|
||||||
$allow_column = array_column($allow_column, 'Field', 'Field');
|
$allow_column = array_column($allow_column, 'Field', 'Field');
|
||||||
if (!in_array($field, $allow_column)) {
|
if (!in_array($field, $allow_column)) {
|
||||||
@ -298,7 +298,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插入记录
|
* insert record
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -329,7 +329,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新记录
|
* update record
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -347,7 +347,7 @@ class TableController extends Base
|
|||||||
$data[$col] = implode(',', $item);
|
$data[$col] = implode(',', $item);
|
||||||
}
|
}
|
||||||
if ($col === 'password') {
|
if ($col === 'password') {
|
||||||
// 密码为空,则不更新密码
|
// If the password is empty, the password will not be updated
|
||||||
if ($item == '') {
|
if ($item == '') {
|
||||||
unset($data[$col]);
|
unset($data[$col]);
|
||||||
continue;
|
continue;
|
||||||
@ -366,7 +366,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除记录
|
* Delete Record
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -383,7 +383,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表摘要
|
* Table Summary
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -412,7 +412,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取摘要
|
* Get Summary
|
||||||
*
|
*
|
||||||
* @param $table
|
* @param $table
|
||||||
* @param $section
|
* @param $section
|
||||||
@ -478,7 +478,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取字段长度
|
* Get field length
|
||||||
*
|
*
|
||||||
* @param $schema
|
* @param $schema
|
||||||
* @return string
|
* @return string
|
||||||
@ -504,7 +504,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除表
|
* delete table
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -517,16 +517,16 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
$table_not_allow_drop = ['wa_admins', 'wa_users', 'wa_options', 'wa_admin_roles', 'wa_admin_rules'];
|
$table_not_allow_drop = ['wa_admins', 'wa_users', 'wa_options', 'wa_admin_roles', 'wa_admin_rules'];
|
||||||
if (in_array($table_name, $table_not_allow_drop)) {
|
if (in_array($table_name, $table_not_allow_drop)) {
|
||||||
return $this->json(400, "$table_name 不允许删除");
|
return $this->json(400, "$table_name Delete not allowed");
|
||||||
}
|
}
|
||||||
Util::schema()->drop($table_name);
|
Util::schema()->drop($table_name);
|
||||||
// 删除schema
|
// deleteschema
|
||||||
Util::db()->table('wa_options')->where('name', "table_form_schema_$table_name")->delete();
|
Util::db()->table('wa_options')->where('name', "table_form_schema_$table_name")->delete();
|
||||||
return $this->json(0, 'ok');
|
return $this->json(0, 'ok');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建字段
|
* Create Field
|
||||||
*
|
*
|
||||||
* @param $column
|
* @param $column
|
||||||
* @param Blueprint $table
|
* @param Blueprint $table
|
||||||
@ -537,7 +537,7 @@ class TableController extends Base
|
|||||||
$method = $column['type'];
|
$method = $column['type'];
|
||||||
$args = [$column['field']];
|
$args = [$column['field']];
|
||||||
if (stripos($method, 'int') !== false) {
|
if (stripos($method, 'int') !== false) {
|
||||||
// auto_increment 会自动成为主键
|
// auto_increment will automatically become the primary key
|
||||||
if ($column['auto_increment']) {
|
if ($column['auto_increment']) {
|
||||||
$column['nullable'] = false;
|
$column['nullable'] = false;
|
||||||
$column['default'] = '';
|
$column['default'] = '';
|
||||||
@ -582,7 +582,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更改字段
|
* Change Field
|
||||||
*
|
*
|
||||||
* @param $column
|
* @param $column
|
||||||
* @param Blueprint $table
|
* @param Blueprint $table
|
||||||
@ -598,7 +598,7 @@ class TableController extends Base
|
|||||||
$auto_increment = $column['auto_increment'];
|
$auto_increment = $column['auto_increment'];
|
||||||
$length = (int)$column['length'];
|
$length = (int)$column['length'];
|
||||||
$primary_key = $column['primary_key'];
|
$primary_key = $column['primary_key'];
|
||||||
// @todo 防止SQL注入
|
// @todo Prevent SQL Injection
|
||||||
if (isset($column['old_field']) && $column['old_field'] !== $field) {
|
if (isset($column['old_field']) && $column['old_field'] !== $field) {
|
||||||
$sql = "ALTER TABLE $table CHANGE COLUMN {$column['old_field']} $field ";
|
$sql = "ALTER TABLE $table CHANGE COLUMN {$column['old_field']} $field ";
|
||||||
} else {
|
} else {
|
||||||
@ -630,7 +630,7 @@ class TableController extends Base
|
|||||||
$sql .= $length ? "$method($length) " : "$method ";
|
$sql .= $length ? "$method($length) " : "$method ";
|
||||||
break;
|
break;
|
||||||
case 'enum':
|
case 'enum':
|
||||||
// @todo 防止SQL注入
|
// @todo Prevent SQL Injection
|
||||||
$args = array_map('trim', explode(',', $column['length']));
|
$args = array_map('trim', explode(',', $column['length']));
|
||||||
$sql .= "enum('" . implode("','", $args) . "') ";
|
$sql .= "enum('" . implode("','", $args) . "') ";
|
||||||
break;
|
break;
|
||||||
@ -667,7 +667,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字段类型列表
|
* Field Type List
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -679,7 +679,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取在options对用的name
|
* Get used in optionsname
|
||||||
*
|
*
|
||||||
* @param $table_name
|
* @param $table_name
|
||||||
* @return string
|
* @return string
|
||||||
@ -690,7 +690,7 @@ class TableController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新表的form schema信息
|
* Update table's form schema information
|
||||||
*
|
*
|
||||||
* @param $table_name
|
* @param $table_name
|
||||||
* @param $data
|
* @param $data
|
||||||
|
@ -17,7 +17,7 @@ class AppController extends Base
|
|||||||
protected $noNeedAuth = ['schema', 'captcha'];
|
protected $noNeedAuth = ['schema', 'captcha'];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表
|
* list
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -42,7 +42,7 @@ class AppController extends Base
|
|||||||
$msg = "/api/app/list return $content";
|
$msg = "/api/app/list return $content";
|
||||||
echo "msg\r\n";
|
echo "msg\r\n";
|
||||||
Log::error($msg);
|
Log::error($msg);
|
||||||
return $this->json(1, '获取数据出错');
|
return $this->json(1, 'Error getting data');
|
||||||
}
|
}
|
||||||
$disabled = is_phar();
|
$disabled = is_phar();
|
||||||
foreach ($data['result']['items'] as $key => $item) {
|
foreach ($data['result']['items'] as $key => $item) {
|
||||||
@ -54,7 +54,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 摘要
|
* Summary
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -69,7 +69,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安装
|
* Install
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -82,27 +82,27 @@ class AppController extends Base
|
|||||||
$installed_version = $this->getPluginVersion($name);
|
$installed_version = $this->getPluginVersion($name);
|
||||||
$host = $request->host(true);
|
$host = $request->host(true);
|
||||||
if (!$name || !$version) {
|
if (!$name || !$version) {
|
||||||
return $this->json(1, '缺少参数');
|
return $this->json(1, 'Missing parameters');
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = session('app-plugin-user');
|
$user = session('app-plugin-user');
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
return $this->json(0, '请登录', [
|
return $this->json(0, 'please sign in', [
|
||||||
'code' => 401,
|
'code' => 401,
|
||||||
'message' => '请登录'
|
'message' => 'please sign in'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取下载zip文件url
|
// Get download zip fileurl
|
||||||
$data = $this->getDownloadUrl($name, $user['uid'], $host, $version);
|
$data = $this->getDownloadUrl($name, $user['uid'], $host, $version);
|
||||||
if ($data['code'] == -1) {
|
if ($data['code'] == -1) {
|
||||||
return $this->json(0, '请登录', [
|
return $this->json(0, 'please sign in', [
|
||||||
'code' => 401,
|
'code' => 401,
|
||||||
'message' => '请登录'
|
'message' => 'please sign in'
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 下载zip文件
|
// download zip file
|
||||||
$base_path = base_path() . "/plugin/$name";
|
$base_path = base_path() . "/plugin/$name";
|
||||||
$zip_file = "$base_path.zip";
|
$zip_file = "$base_path.zip";
|
||||||
$extract_to = base_path() . '/plugin/';
|
$extract_to = base_path() . '/plugin/';
|
||||||
@ -112,14 +112,14 @@ class AppController extends Base
|
|||||||
if (!$has_zip_archive) {
|
if (!$has_zip_archive) {
|
||||||
$cmd = $this->getUnzipCmd($zip_file, $extract_to);
|
$cmd = $this->getUnzipCmd($zip_file, $extract_to);
|
||||||
if (!$cmd) {
|
if (!$cmd) {
|
||||||
throw new BusinessException('请给php安装zip模块或者给系统安装unzip命令');
|
throw new BusinessException('Please install the zip module for php or install the unzip command for the system');
|
||||||
}
|
}
|
||||||
if (!function_exists('proc_open')) {
|
if (!function_exists('proc_open')) {
|
||||||
throw new BusinessException('请解除proc_open函数的禁用或者给php安装zip模块');
|
throw new BusinessException('Please unblock the proc_open function or install the zip module for php');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 解压zip到plugin目录
|
// Extract the zip to the plugin directory
|
||||||
if ($has_zip_archive) {
|
if ($has_zip_archive) {
|
||||||
$zip = new \ZipArchive;
|
$zip = new \ZipArchive;
|
||||||
$zip->open($zip_file, \ZIPARCHIVE::CHECKCONS);
|
$zip->open($zip_file, \ZIPARCHIVE::CHECKCONS);
|
||||||
@ -128,7 +128,7 @@ class AppController extends Base
|
|||||||
$context = null;
|
$context = null;
|
||||||
$install_class = "\\plugin\\$name\\api\\Install";
|
$install_class = "\\plugin\\$name\\api\\Install";
|
||||||
if ($installed_version) {
|
if ($installed_version) {
|
||||||
// 执行beforeUpdate
|
// implementbeforeUpdate
|
||||||
if (class_exists($install_class) && method_exists($install_class, 'beforeUpdate')) {
|
if (class_exists($install_class) && method_exists($install_class, 'beforeUpdate')) {
|
||||||
$context = call_user_func([$install_class, 'beforeUpdate'], $installed_version, $version);
|
$context = call_user_func([$install_class, 'beforeUpdate'], $installed_version, $version);
|
||||||
}
|
}
|
||||||
@ -144,12 +144,12 @@ class AppController extends Base
|
|||||||
unlink($zip_file);
|
unlink($zip_file);
|
||||||
|
|
||||||
if ($installed_version) {
|
if ($installed_version) {
|
||||||
// 执行update更新
|
// Execute update update
|
||||||
if (class_exists($install_class) && method_exists($install_class, 'update')) {
|
if (class_exists($install_class) && method_exists($install_class, 'update')) {
|
||||||
call_user_func([$install_class, 'update'], $installed_version, $version, $context);
|
call_user_func([$install_class, 'update'], $installed_version, $version, $context);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 执行install安装
|
// Execute install
|
||||||
if (class_exists($install_class) && method_exists($install_class, 'install')) {
|
if (class_exists($install_class) && method_exists($install_class, 'install')) {
|
||||||
call_user_func([$install_class, 'install'], $version);
|
call_user_func([$install_class, 'install'], $version);
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 卸载
|
* Uninstall
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -171,23 +171,23 @@ class AppController extends Base
|
|||||||
$name = $request->post('name');
|
$name = $request->post('name');
|
||||||
$version = $request->post('version');
|
$version = $request->post('version');
|
||||||
if (!$name || !preg_match('/^[a-zA-Z0-9_]+$/', $name)) {
|
if (!$name || !preg_match('/^[a-zA-Z0-9_]+$/', $name)) {
|
||||||
return $this->json(1, '参数错误');
|
return $this->json(1, 'Parameter error');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获得插件路径
|
// Get plugin path
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
$path = get_realpath(base_path() . "/plugin/$name");
|
$path = get_realpath(base_path() . "/plugin/$name");
|
||||||
if (!$path || !is_dir($path)) {
|
if (!$path || !is_dir($path)) {
|
||||||
return $this->json(1, '已经删除');
|
return $this->json(1, 'deleted');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 执行uninstall卸载
|
// Execute uninstall
|
||||||
$install_class = "\\plugin\\$name\\api\\Install";
|
$install_class = "\\plugin\\$name\\api\\Install";
|
||||||
if (class_exists($install_class) && method_exists($install_class, 'uninstall')) {
|
if (class_exists($install_class) && method_exists($install_class, 'uninstall')) {
|
||||||
call_user_func([$install_class, 'uninstall'], $version);
|
call_user_func([$install_class, 'uninstall'], $version);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除目录
|
// delete directory
|
||||||
clearstatcache();
|
clearstatcache();
|
||||||
if (is_dir($path)) {
|
if (is_dir($path)) {
|
||||||
$this->rmDir($path);
|
$this->rmDir($path);
|
||||||
@ -200,7 +200,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录验证码
|
* Login verification code
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -219,7 +219,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* Log in
|
||||||
*
|
*
|
||||||
* @param Request $request
|
* @param Request $request
|
||||||
* @return \support\Response
|
* @return \support\Response
|
||||||
@ -241,7 +241,7 @@ class AppController extends Base
|
|||||||
$msg = "/api/user/login return $content";
|
$msg = "/api/user/login return $content";
|
||||||
echo "msg\r\n";
|
echo "msg\r\n";
|
||||||
Log::error($msg);
|
Log::error($msg);
|
||||||
return $this->json(1, '发生错误');
|
return $this->json(1, 'An error occurred');
|
||||||
}
|
}
|
||||||
if ($data['code'] != 0) {
|
if ($data['code'] != 0) {
|
||||||
return $this->json($data['code'], $data['msg']);
|
return $this->json($data['code'], $data['msg']);
|
||||||
@ -253,7 +253,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取zip下载url
|
* Get zip downloadurl
|
||||||
*
|
*
|
||||||
* @param $name
|
* @param $name
|
||||||
* @param $uid
|
* @param $uid
|
||||||
@ -281,19 +281,19 @@ class AppController extends Base
|
|||||||
if (!$data) {
|
if (!$data) {
|
||||||
$msg = "/api/app/download return $content";
|
$msg = "/api/app/download return $content";
|
||||||
Log::error($msg);
|
Log::error($msg);
|
||||||
throw new BusinessException('访问官方接口失败');
|
throw new BusinessException('Failed to access official interface');
|
||||||
}
|
}
|
||||||
if ($data['code'] && $data['code'] != -1) {
|
if ($data['code'] && $data['code'] != -1) {
|
||||||
throw new BusinessException($data['msg']);
|
throw new BusinessException($data['msg']);
|
||||||
}
|
}
|
||||||
if ($data['code'] == 0 && !isset($data['result']['url'])) {
|
if ($data['code'] == 0 && !isset($data['result']['url'])) {
|
||||||
throw new BusinessException('官方接口返回数据错误');
|
throw new BusinessException('The official interface returned data error');
|
||||||
}
|
}
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载zip
|
* downloadzip
|
||||||
*
|
*
|
||||||
* @param $url
|
* @param $url
|
||||||
* @param $file
|
* @param $file
|
||||||
@ -308,17 +308,17 @@ class AppController extends Base
|
|||||||
$body = $response->getBody();
|
$body = $response->getBody();
|
||||||
$status = $response->getStatusCode();
|
$status = $response->getStatusCode();
|
||||||
if ($status == 404) {
|
if ($status == 404) {
|
||||||
throw new BusinessException('安装包不存在');
|
throw new BusinessException('The installation package does not exist');
|
||||||
}
|
}
|
||||||
$zip_content = $body->getContents();
|
$zip_content = $body->getContents();
|
||||||
if (empty($zip_content)) {
|
if (empty($zip_content)) {
|
||||||
throw new BusinessException('安装包不存在');
|
throw new BusinessException('The installation package does not exist');
|
||||||
}
|
}
|
||||||
file_put_contents($file, $zip_content);
|
file_put_contents($file, $zip_content);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取系统支持的解压命令
|
* Get the unzip command supported by the system
|
||||||
*
|
*
|
||||||
* @param $zip_file
|
* @param $zip_file
|
||||||
* @param $extract_to
|
* @param $extract_to
|
||||||
@ -337,7 +337,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 使用解压命令解压
|
* Unzip using the unzip command
|
||||||
*
|
*
|
||||||
* @param $cmd
|
* @param $cmd
|
||||||
* @return void
|
* @return void
|
||||||
@ -352,18 +352,18 @@ class AppController extends Base
|
|||||||
];
|
];
|
||||||
$handler = proc_open($cmd, $desc, $pipes);
|
$handler = proc_open($cmd, $desc, $pipes);
|
||||||
if (!is_resource($handler)) {
|
if (!is_resource($handler)) {
|
||||||
throw new BusinessException("解压zip时出错:proc_open调用失败");
|
throw new BusinessException("Error unpacking zip: proc_open call failed");
|
||||||
}
|
}
|
||||||
$err = fread($pipes[2], 1024);
|
$err = fread($pipes[2], 1024);
|
||||||
fclose($pipes[2]);
|
fclose($pipes[2]);
|
||||||
proc_close($handler);
|
proc_close($handler);
|
||||||
if ($err) {
|
if ($err) {
|
||||||
throw new BusinessException("解压zip时出错:$err");
|
throw new BusinessException("Error unzipping zip:$err");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取本地插件版本
|
* Get local plugin version
|
||||||
*
|
*
|
||||||
* @param $name
|
* @param $name
|
||||||
* @return array|mixed|null
|
* @return array|mixed|null
|
||||||
@ -378,7 +378,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除目录
|
* delete directory
|
||||||
*
|
*
|
||||||
* @param $src
|
* @param $src
|
||||||
* @return void
|
* @return void
|
||||||
@ -401,13 +401,13 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取httpclient
|
* Obtainhttpclient
|
||||||
*
|
*
|
||||||
* @return Client
|
* @return Client
|
||||||
*/
|
*/
|
||||||
protected function httpClient()
|
protected function httpClient()
|
||||||
{
|
{
|
||||||
// 下载zip
|
// downloadzip
|
||||||
$options = [
|
$options = [
|
||||||
'base_uri' => config('plugin.admin.app.plugin_market_host'),
|
'base_uri' => config('plugin.admin.app.plugin_market_host'),
|
||||||
'timeout' => 30,
|
'timeout' => 30,
|
||||||
@ -427,13 +427,13 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取下载httpclient
|
* Get Downloadhttpclient
|
||||||
*
|
*
|
||||||
* @return Client
|
* @return Client
|
||||||
*/
|
*/
|
||||||
protected function downloadClient()
|
protected function downloadClient()
|
||||||
{
|
{
|
||||||
// 下载zip
|
// downloadzip
|
||||||
$options = [
|
$options = [
|
||||||
'timeout' => 30,
|
'timeout' => 30,
|
||||||
'connect_timeout' => 5,
|
'connect_timeout' => 5,
|
||||||
@ -451,7 +451,7 @@ class AppController extends Base
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查找系统命令
|
* Find System Commands
|
||||||
*
|
*
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param string|null $default
|
* @param string|null $default
|
||||||
|
@ -8,7 +8,7 @@ use plugin\admin\app\model\User;
|
|||||||
use support\Request;
|
use support\Request;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户管理
|
* User Management
|
||||||
*/
|
*/
|
||||||
class UserController extends Base
|
class UserController extends Base
|
||||||
{
|
{
|
||||||
@ -18,12 +18,12 @@ class UserController extends Base
|
|||||||
protected $model = null;
|
protected $model = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 增删改查
|
* Add, delete, modify and check
|
||||||
*/
|
*/
|
||||||
use Crud;
|
use Crud;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* Constructor
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前登录管理员id
|
* Currently logged in administratorid
|
||||||
*
|
*
|
||||||
* @return mixed|null
|
* @return mixed|null
|
||||||
*/
|
*/
|
||||||
@ -14,7 +14,7 @@ function admin_id()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前管理员
|
* Current Admin
|
||||||
*
|
*
|
||||||
* @param null|array|string $fields
|
* @param null|array|string $fields
|
||||||
* @return array|mixed|null
|
* @return array|mixed|null
|
||||||
@ -38,7 +38,7 @@ function admin($fields = null)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前登录用户id
|
* Currently logged in userid
|
||||||
*
|
*
|
||||||
* @return mixed|null
|
* @return mixed|null
|
||||||
*/
|
*/
|
||||||
@ -48,7 +48,7 @@ function user_id()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前登录用户
|
* Currently logged in user
|
||||||
*
|
*
|
||||||
* @param null|array|string $fields
|
* @param null|array|string $fields
|
||||||
* @return array|mixed|null
|
* @return array|mixed|null
|
||||||
|
@ -4,16 +4,16 @@ namespace plugin\admin\app\model;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id ID(主键)
|
* @property integer $id ID(primary key)
|
||||||
* @property string $username 用户名
|
* @property string $username username
|
||||||
* @property string $nickname 昵称
|
* @property string $nickname Nick name
|
||||||
* @property string $password 密码
|
* @property string $password password
|
||||||
* @property string $avatar 头像
|
* @property string $avatar avatar
|
||||||
* @property string $email 邮箱
|
* @property string $email Mail
|
||||||
* @property string $mobile 手机
|
* @property string $mobile cell phone
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
* @property string $roles 角色
|
* @property string $roles Role
|
||||||
*/
|
*/
|
||||||
class Admin extends Base
|
class Admin extends Base
|
||||||
{
|
{
|
||||||
|
@ -3,11 +3,11 @@
|
|||||||
namespace plugin\admin\app\model;
|
namespace plugin\admin\app\model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id 主键(主键)
|
* @property integer $id primary key (primary key)
|
||||||
* @property string $name 角色名
|
* @property string $name character name
|
||||||
* @property string $rules 规则
|
* @property string $rules rule
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
*/
|
*/
|
||||||
class AdminRole extends Base
|
class AdminRole extends Base
|
||||||
{
|
{
|
||||||
|
@ -3,18 +3,18 @@
|
|||||||
namespace plugin\admin\app\model;
|
namespace plugin\admin\app\model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id 主键(主键)
|
* @property integer $id primary key (primary key)
|
||||||
* @property string $title 标题
|
* @property string $title title
|
||||||
* @property string $name 名字
|
* @property string $name name
|
||||||
* @property integer $pid 上级id
|
* @property integer $pid superiorid
|
||||||
* @property string $component 组件
|
* @property string $component component
|
||||||
* @property string $path 路径
|
* @property string $path path
|
||||||
* @property string $icon 图标
|
* @property string $icon icon
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
* @property string $frame_src url
|
* @property string $frame_src url
|
||||||
* @property integer $hide_menu 隐藏菜单
|
* @property integer $hide_menu Hide menu
|
||||||
* @property integer $is_menu 是否菜单
|
* @property integer $is_menu Whether menu
|
||||||
*/
|
*/
|
||||||
class AdminRule extends Base
|
class AdminRule extends Base
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@ class Base extends Model
|
|||||||
protected $connection = 'plugin.admin.mysql';
|
protected $connection = 'plugin.admin.mysql';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 格式化日期
|
* Format Date
|
||||||
*
|
*
|
||||||
* @param DateTimeInterface $date
|
* @param DateTimeInterface $date
|
||||||
* @return string
|
* @return string
|
||||||
|
@ -4,11 +4,11 @@ namespace plugin\admin\app\model;
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id (主键)
|
* @property integer $id (primary key)
|
||||||
* @property string $name 键
|
* @property string $name 键
|
||||||
* @property mixed $value 值
|
* @property mixed $value 值
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
*/
|
*/
|
||||||
class Option extends Base
|
class Option extends Base
|
||||||
{
|
{
|
||||||
|
@ -3,17 +3,17 @@
|
|||||||
namespace plugin\admin\app\model;
|
namespace plugin\admin\app\model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id 主键(主键)
|
* @property integer $id primary key (primary key)
|
||||||
* @property string $name 名字
|
* @property string $name name
|
||||||
* @property integer $pid 上级id
|
* @property integer $pid superiorid
|
||||||
* @property string $component 组件
|
* @property string $component component
|
||||||
* @property string $path 路径
|
* @property string $path path
|
||||||
* @property string $icon 图标
|
* @property string $icon icon
|
||||||
* @property string $title 标题
|
* @property string $title title
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
* @property string $frame_src url
|
* @property string $frame_src url
|
||||||
* @property integer $hide_menu 隐藏菜单
|
* @property integer $hide_menu Hide menu
|
||||||
*/
|
*/
|
||||||
class Role extends Base
|
class Role extends Base
|
||||||
{
|
{
|
||||||
|
@ -3,26 +3,26 @@
|
|||||||
namespace plugin\admin\app\model;
|
namespace plugin\admin\app\model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @property integer $id 主键(主键)
|
* @property integer $id primary key (primary key)
|
||||||
* @property string $username 用户名
|
* @property string $username username
|
||||||
* @property string $nickname 昵称
|
* @property string $nickname Nick name
|
||||||
* @property string $password 密码
|
* @property string $password password
|
||||||
* @property string $sex 性别
|
* @property string $sex gender
|
||||||
* @property string $avatar 头像
|
* @property string $avatar avatar
|
||||||
* @property string $email 邮箱
|
* @property string $email Mail
|
||||||
* @property string $mobile 手机
|
* @property string $mobile cell phone
|
||||||
* @property integer $level 等级
|
* @property integer $level grade
|
||||||
* @property string $birthday 生日
|
* @property string $birthday Birthday
|
||||||
* @property integer $money 余额
|
* @property integer $money balance
|
||||||
* @property integer $score 积分
|
* @property integer $score integral
|
||||||
* @property string $last_time 上次登录时间
|
* @property string $last_time Last Login Time
|
||||||
* @property string $last_ip 上次登录ip
|
* @property string $last_ip Last Loginip
|
||||||
* @property string $join_time 注册时间
|
* @property string $join_time Registration time
|
||||||
* @property string $join_ip 注册ip
|
* @property string $join_ip registerip
|
||||||
* @property string $token token
|
* @property string $token token
|
||||||
* @property string $created_at 创建时间
|
* @property string $created_at creation time
|
||||||
* @property string $updated_at 更新时间
|
* @property string $updated_at Update time
|
||||||
* @property string $roles 更新时间
|
* @property string $roles Update time
|
||||||
*/
|
*/
|
||||||
class User extends Base
|
class User extends Base
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="https://unpkg.byted-static.com/latest/byted/arco-config/assets/favicon.ico">
|
<link rel="shortcut icon" type="image/x-icon" href="https://unpkg.byted-static.com/latest/byted/arco-config/assets/favicon.ico">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Arco Design Pro - 开箱即用的中台前端/设计解决方案</title>
|
<title>Arco Design Pro - Out-of-the-box mid-stage front-end/design solutions</title>
|
||||||
<script type="module" crossorigin src="/assets/index.29d1f1fd.js"></script>
|
<script type="module" crossorigin src="/assets/index.29d1f1fd.js"></script>
|
||||||
<link rel="modulepreload" href="/assets/arco.f97752e2.js">
|
<link rel="modulepreload" href="/assets/arco.f97752e2.js">
|
||||||
<link rel="modulepreload" href="/assets/chart.1bb0aa8b.js">
|
<link rel="modulepreload" href="/assets/chart.1bb0aa8b.js">
|
||||||
|
@ -6,19 +6,19 @@ use plugin\queue\app\controller\redis\NormalController;
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
[
|
[
|
||||||
'title' => '数据库',
|
'title' => 'database',
|
||||||
'name' => 'database',
|
'name' => 'database',
|
||||||
'path' => '/database',
|
'path' => '/database',
|
||||||
'icon' => 'ant-design:database-filled',
|
'icon' => 'ant-design:database-filled',
|
||||||
'children' => [
|
'children' => [
|
||||||
[
|
[
|
||||||
'title' => '所有表',
|
'title' => 'all tables',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\database\\TableController',
|
'name' => 'plugin\\admin\\app\\controller\\database\\TableController',
|
||||||
'path' => 'table',
|
'path' => 'table',
|
||||||
'component' => '/database/table/index'
|
'component' => '/database/table/index'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '表详情',
|
'title' => 'Table Details',
|
||||||
'name' => 'tableview',
|
'name' => 'tableview',
|
||||||
'path' => 'table/view/:id',
|
'path' => 'table/view/:id',
|
||||||
'component' => '/database/table/View',
|
'component' => '/database/table/View',
|
||||||
@ -27,25 +27,25 @@ return [
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '权限管理',
|
'title' => 'authority management',
|
||||||
'name' => 'auth',
|
'name' => 'auth',
|
||||||
'path' => '/auth',
|
'path' => '/auth',
|
||||||
'icon' => 'ant-design:setting-filled',
|
'icon' => 'ant-design:setting-filled',
|
||||||
'children' => [
|
'children' => [
|
||||||
[
|
[
|
||||||
'title' => '账户管理',
|
'title' => 'Account Management',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminController',
|
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminController',
|
||||||
'path' => 'admin',
|
'path' => 'admin',
|
||||||
'component' => '/auth/admin/index'
|
'component' => '/auth/admin/index'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '角色管理',
|
'title' => 'role management',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminRoleController',
|
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminRoleController',
|
||||||
'path' => 'admin-role',
|
'path' => 'admin-role',
|
||||||
'component' => '/auth/admin-role/index',
|
'component' => '/auth/admin-role/index',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '菜单管理',
|
'title' => 'Menu management',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminRuleController',
|
'name' => 'plugin\\admin\\app\\controller\\auth\\AdminRuleController',
|
||||||
'path' => 'admin-rule',
|
'path' => 'admin-rule',
|
||||||
'component' => '/auth/admin-rule/index',
|
'component' => '/auth/admin-rule/index',
|
||||||
@ -53,13 +53,13 @@ return [
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '会员管理',
|
'title' => 'Membership Management',
|
||||||
'name' => 'user',
|
'name' => 'user',
|
||||||
'path' => '/user',
|
'path' => '/user',
|
||||||
'icon' => 'ant-design:smile-filled',
|
'icon' => 'ant-design:smile-filled',
|
||||||
'children' => [
|
'children' => [
|
||||||
[
|
[
|
||||||
'title' => '用户',
|
'title' => 'user',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\user\\UserController',
|
'name' => 'plugin\\admin\\app\\controller\\user\\UserController',
|
||||||
'path' => 'user',
|
'path' => 'user',
|
||||||
'component' => '/user/user/index'
|
'component' => '/user/user/index'
|
||||||
@ -67,13 +67,13 @@ return [
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '通用设置',
|
'title' => 'General Settings',
|
||||||
'name' => 'common',
|
'name' => 'common',
|
||||||
'path' => '/common',
|
'path' => '/common',
|
||||||
'icon' => 'ant-design:setting-filled',
|
'icon' => 'ant-design:setting-filled',
|
||||||
'children' => [
|
'children' => [
|
||||||
[
|
[
|
||||||
'title' => '个人资料',
|
'title' => 'personal information',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\user\\AccountController',
|
'name' => 'plugin\\admin\\app\\controller\\user\\AccountController',
|
||||||
'path' => 'account',
|
'path' => 'account',
|
||||||
'component' => '/common/account/index'
|
'component' => '/common/account/index'
|
||||||
@ -81,13 +81,13 @@ return [
|
|||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'title' => '插件管理',
|
'title' => 'Plugin management',
|
||||||
'name' => 'plugin',
|
'name' => 'plugin',
|
||||||
'path' => '/plugin',
|
'path' => '/plugin',
|
||||||
'icon' => 'ant-design:appstore-filled',
|
'icon' => 'ant-design:appstore-filled',
|
||||||
'children' => [
|
'children' => [
|
||||||
[
|
[
|
||||||
'title' => '应用插件',
|
'title' => 'Apply Plugins',
|
||||||
'name' => 'plugin\\admin\\app\\controller\\plugin\\AppController',
|
'name' => 'plugin\\admin\\app\\controller\\plugin\\AppController',
|
||||||
'path' => 'app',
|
'path' => 'app',
|
||||||
'component' => '/plugin/App'
|
'component' => '/plugin/App'
|
||||||
|
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/App.674948bc.js
Normal file
1
src/plugin/admin/public/assets/App.674948bc.js
Normal file
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{j as i,aO as l}from"./index.6cd5baf8.js";var f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"},u=f;function c(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.forEach(function(a){O(r,a,e[a])})}return r}function O(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var o=function(t,e){var n=c({},t,e.attrs);return i(l,c({},n,{icon:u}),null)};o.displayName="ArrowLeftOutlined";o.inheritAttrs=!1;var s=o;export{s as A};
|
import{j as i,aR as l}from"./index.f8bcf808.js";var f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 000 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z"}}]},name:"arrow-left",theme:"outlined"},u=f;function c(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.forEach(function(a){d(r,a,e[a])})}return r}function d(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var o=function(t,e){var n=c({},t,e.attrs);return i(l,c({},n,{icon:u}),null)};o.displayName="ArrowLeftOutlined";o.inheritAttrs=!1;var O=o;export{O as A};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
src/plugin/admin/public/assets/BasicForm.82e222ab.js
Normal file
4
src/plugin/admin/public/assets/BasicForm.82e222ab.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/BasicForm.9cb53b32.css
Normal file
1
src/plugin/admin/public/assets/BasicForm.9cb53b32.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/Breadcrumb.a193c9f7.js
Normal file
1
src/plugin/admin/public/assets/Breadcrumb.a193c9f7.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var L=Object.defineProperty,T=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var R=(e,t,r)=>t in e?L(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t)=>{for(var r in t||(t={}))O.call(t,r)&&R(e,r,t[r]);if(M)for(var r of M(t))j.call(t,r)&&R(e,r,t[r]);return e},B=(e,t)=>T(e,V(t));var P=(e,t,r)=>new Promise((h,f)=>{var g=l=>{try{d(r.next(l))}catch(c){f(c)}},p=l=>{try{d(r.throw(l))}catch(c){f(c)}},d=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,p);d((r=r.apply(e,t)).next())});import{aJ as q,a as z,cc as G,b3 as J,r as Q,df as F,b as H,dw as K,d2 as U,c as W,a3 as X,dh as Y,ds as Z,de as x,eQ as ee,aL as y,o as b,h as w,j as te,p as E,aM as A,aN as ne,t as N,q as ae,n as re,b1 as se}from"./index.f8bcf808.js";import{B as S}from"./index.40c44490.js";const oe=z({name:"LayoutBreadcrumb",components:{Icon:G,[S.name]:S},props:{theme:J.oneOf(["dark","light"])},setup(){const e=Q([]),{currentRoute:t}=F(),{prefixCls:r}=H("layout-breadcrumb"),{getShowBreadCrumbIcon:h}=K(),f=U(),{t:g}=W();X(()=>P(this,null,function*(){var C,I,$;if(t.value.name===Y)return;const s=yield Z(),n=t.value.matched,a=n==null?void 0:n[n.length-1];let o=t.value.path;a&&((C=a==null?void 0:a.meta)==null?void 0:C.currentActiveMenu)&&(o=a.meta.currentActiveMenu);const u=x(s,o),m=s.filter(D=>D.path===u[0]),i=p(m,u);if(!i||i.length===0)return;const _=d(i);(I=t.value.meta)!=null&&I.currentActiveMenu&&_.push(B(k({},t.value),{name:(($=t.value.meta)==null?void 0:$.title)||t.value.name})),e.value=_}));function p(s,n){const a=[];return s.forEach(o=>{var u,m;n.includes(o.path)&&a.push(B(k({},o),{name:((u=o.meta)==null?void 0:u.title)||o.name})),(m=o.children)!=null&&m.length&&a.push(...p(o.children,n))}),a}function d(s){return ee(s,n=>{const{meta:a,name:o}=n;if(!a)return!!o;const{title:u,hideBreadcrumb:m,hideMenu:i}=a;return!(!u||m||i)}).filter(n=>{var a;return!((a=n.meta)!=null&&a.hideBreadcrumb)})}function l(s,n,a){a==null||a.preventDefault();const{children:o,redirect:u,meta:m}=s;if((o==null?void 0:o.length)&&!u){a==null||a.stopPropagation();return}if(!(m!=null&&m.carryParam))if(u&&se(u))f(u);else{let i="";n.length===1?i=n[0]:i=`${n.slice(1).pop()||""}`,i=/^\//.test(i)?i:`/${i}`,f(i)}}function c(s,n){return s.indexOf(n)!==s.length-1}function v(s){var n;return s.icon||((n=s.meta)==null?void 0:n.icon)}return{routes:e,t:g,prefixCls:r,getIcon:v,getShowBreadCrumbIcon:h,handleClick:l,hasRedirect:c}}}),ce={key:1};function ie(e,t,r,h,f,g){const p=y("Icon"),d=y("router-link"),l=y("a-breadcrumb");return b(),w("div",{class:re([e.prefixCls,`${e.prefixCls}--${e.theme}`])},[te(l,{routes:e.routes},{itemRender:E(({route:c,routes:v,paths:s})=>[e.getShowBreadCrumbIcon&&e.getIcon(c)?(b(),A(p,{key:0,icon:e.getIcon(c)},null,8,["icon"])):ne("",!0),e.hasRedirect(v,c)?(b(),A(d,{key:2,to:"",onClick:n=>e.handleClick(c,s,n)},{default:E(()=>[ae(N(e.t(c.name||c.meta.title)),1)]),_:2},1032,["onClick"])):(b(),w("span",ce,N(e.t(c.name||c.meta.title)),1))]),_:1},8,["routes"])],2)}var de=q(oe,[["render",ie]]);export{de as default};
|
@ -1 +0,0 @@
|
|||||||
var T=Object.defineProperty,V=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var R=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var M=(e,t,r)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,k=(e,t)=>{for(var r in t||(t={}))L.call(t,r)&&M(e,r,t[r]);if(R)for(var r of R(t))O.call(t,r)&&M(e,r,t[r]);return e},B=(e,t)=>V(e,G(t));var P=(e,t,r)=>new Promise((h,f)=>{var g=l=>{try{d(r.next(l))}catch(c){f(c)}},p=l=>{try{d(r.throw(l))}catch(c){f(c)}},d=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,p);d((r=r.apply(e,t)).next())});import{aG as j,a as q,cb as z,b0 as J,r as K,de as F,b as H,dv as Q,d1 as U,a3 as W,aI as I,o as b,h as E,j as X,p as w,aJ as A,aK as Y,t as N,q as Z,n as x,c as ee,dg as te,dr as ne,dd as ae,eN as re,a_ as se}from"./index.6cd5baf8.js";import{B as S}from"./index.88cadf0e.js";const oe=q({name:"LayoutBreadcrumb",components:{Icon:z,[S.name]:S},props:{theme:J.oneOf(["dark","light"])},setup(){const e=K([]),{currentRoute:t}=F(),{prefixCls:r}=H("layout-breadcrumb"),{getShowBreadCrumbIcon:h}=Q(),f=U(),{t:g}=ee();W(()=>P(this,null,function*(){var C,y,$;if(t.value.name===te)return;const s=yield ne(),n=t.value.matched,a=n==null?void 0:n[n.length-1];let o=t.value.path;a&&((C=a==null?void 0:a.meta)==null?void 0:C.currentActiveMenu)&&(o=a.meta.currentActiveMenu);const u=ae(s,o),m=s.filter(D=>D.path===u[0]),i=p(m,u);if(!i||i.length===0)return;const _=d(i);(y=t.value.meta)!=null&&y.currentActiveMenu&&_.push(B(k({},t.value),{name:(($=t.value.meta)==null?void 0:$.title)||t.value.name})),e.value=_}));function p(s,n){const a=[];return s.forEach(o=>{var u,m;n.includes(o.path)&&a.push(B(k({},o),{name:((u=o.meta)==null?void 0:u.title)||o.name})),(m=o.children)!=null&&m.length&&a.push(...p(o.children,n))}),a}function d(s){return re(s,n=>{const{meta:a,name:o}=n;if(!a)return!!o;const{title:u,hideBreadcrumb:m,hideMenu:i}=a;return!(!u||m||i)}).filter(n=>{var a;return!((a=n.meta)!=null&&a.hideBreadcrumb)})}function l(s,n,a){a==null||a.preventDefault();const{children:o,redirect:u,meta:m}=s;if((o==null?void 0:o.length)&&!u){a==null||a.stopPropagation();return}if(!(m!=null&&m.carryParam))if(u&&se(u))f(u);else{let i="";n.length===1?i=n[0]:i=`${n.slice(1).pop()||""}`,i=/^\//.test(i)?i:`/${i}`,f(i)}}function c(s,n){return s.indexOf(n)!==s.length-1}function v(s){var n;return s.icon||((n=s.meta)==null?void 0:n.icon)}return{routes:e,t:g,prefixCls:r,getIcon:v,getShowBreadCrumbIcon:h,handleClick:l,hasRedirect:c}}}),ce={key:1};function ie(e,t,r,h,f,g){const p=I("Icon"),d=I("router-link"),l=I("a-breadcrumb");return b(),E("div",{class:x([e.prefixCls,`${e.prefixCls}--${e.theme}`])},[X(l,{routes:e.routes},{itemRender:w(({route:c,routes:v,paths:s})=>[e.getShowBreadCrumbIcon&&e.getIcon(c)?(b(),A(p,{key:0,icon:e.getIcon(c)},null,8,["icon"])):Y("",!0),e.hasRedirect(v,c)?(b(),A(d,{key:2,to:"",onClick:n=>e.handleClick(c,s,n)},{default:w(()=>[Z(N(e.t(c.name||c.meta.title)),1)]),_:2},1032,["onClick"])):(b(),E("span",ce,N(e.t(c.name||c.meta.title)),1))]),_:1},8,["routes"])],2)}var de=j(oe,[["render",ie]]);export{de as default};
|
|
@ -1 +1 @@
|
|||||||
import{j as i,aO as l}from"./index.6cd5baf8.js";var u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},p=u;function o(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.forEach(function(a){f(r,a,e[a])})}return r}function f(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var c=function(t,e){var n=o({},t,e.attrs);return i(l,o({},n,{icon:p}),null)};c.displayName="CopyOutlined";c.inheritAttrs=!1;var O=c;export{O as C};
|
import{j as i,aR as l}from"./index.f8bcf808.js";var u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z"}}]},name:"copy",theme:"outlined"},p=u;function o(r){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?Object(arguments[t]):{},n=Object.keys(e);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),n.forEach(function(a){f(r,a,e[a])})}return r}function f(r,t,e){return t in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}var c=function(t,e){var n=o({},t,e.attrs);return i(l,o({},n,{icon:p}),null)};c.displayName="CopyOutlined";c.inheritAttrs=!1;var d=c;export{d as C};
|
@ -1 +0,0 @@
|
|||||||
var u=(a,l,o)=>new Promise((c,r)=>{var i=t=>{try{s(o.next(t))}catch(e){r(e)}},n=t=>{try{s(o.throw(t))}catch(e){r(e)}},s=t=>t.done?c(t.value):Promise.resolve(t.value).then(i,n);s((o=o.apply(a,l)).next())});import{B as h}from"./BasicForm.98897bf6.js";import{B as b,a as B}from"./index.9b423250.js";import{aG as _,r as f,a as M,aI as d,o as g,aJ as C,p as F,i as P,j as v,b5 as E,eV as k,eW as w,x as y}from"./index.6cd5baf8.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./index.e9e97d48.js";import"./index.bd69fa8a.js";import"./index.58f2ee69.js";import"./index.45440705.js";import"./index.7717c432.js";import"./index.b5298110.js";import"./index.63db07a3.js";import"./uniqBy.7ebdfad5.js";import"./download.8885bb3e.js";import"./index.a4d3410c.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";const m=f(null),A=M({components:{BasicForm:h,BasicModal:b},emits:["reload","register"],setup(a,{emit:l}){const o=f(""),c=[{field:"name",component:"Input",label:"\u540D\u5B57",colProps:{span:24},required:!0},{field:"pid",component:"ApiTreeSelect",label:"\u4E0A\u7EA7\u83DC\u5355",componentProps:{api:k,resultField:"list"},colProps:{span:24}},{field:"icon",component:"IconPicker",label:"\u56FE\u6807",colProps:{span:24}},{field:"overwrite",component:"Checkbox",label:"\u5F3A\u5236\u8986\u76D6",colProps:{span:24}}],[r,{closeModal:i}]=B(e=>u(this,null,function*(){var p;o.value=e.table,(p=m.value)==null||p.appendSchemaByField({field:"table",component:"Input",label:"",colProps:{span:0},componentProps:{hidden:!0},defaultValue:o},"")})),{createMessage:n}=y(),{success:s}=n;return{formElRef:m,handleSubmit:()=>u(this,null,function*(){try{const e=m.value;if(!e)return;const p=yield e.validate();yield w(p),i(),s("\u64CD\u4F5C\u6210\u529F"),l("reload")}catch(e){console.log(e)}}),schemas:c,register:r}}}),D={class:"mt-3"};function I(a,l,o,c,r,i){const n=d("BasicForm"),s=d("BasicModal");return g(),C(s,E(a.$attrs,{destroyOnClose:"",onRegister:a.register,title:"\u4E00\u952E\u751F\u6210\u83DC\u5355",onOk:a.handleSubmit}),{default:F(()=>[P("div",D,[v(n,{schemas:a.schemas,ref:"formElRef",labelWidth:75,showActionButtonGroup:!1},null,8,["schemas"])])]),_:1},16,["onRegister","onOk"])}var X=_(A,[["render",I]]);export{X as default};
|
|
1
src/plugin/admin/public/assets/CreateMenu.da41510c.js
Normal file
1
src/plugin/admin/public/assets/CreateMenu.da41510c.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var m=(a,c,o)=>new Promise((i,r)=>{var l=t=>{try{s(o.next(t))}catch(e){r(e)}},n=t=>{try{s(o.throw(t))}catch(e){r(e)}},s=t=>t.done?i(t.value):Promise.resolve(t.value).then(l,n);s((o=o.apply(a,c)).next())});import{B as h}from"./BasicForm.82e222ab.js";import{B as b,a as B}from"./index.a4e346ff.js";import{aJ as M,r as f,a as _,aL as u,o as g,aM as v,p as P,i as k,j as S,b8 as C,eZ as F,e_ as w,x as y}from"./index.f8bcf808.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./index.91cad2d2.js";import"./index.d82b2be8.js";import"./index.8cf0b441.js";import"./index.05080ca7.js";import"./index.b5bef3a7.js";import"./index.293b5840.js";import"./index.26a767f7.js";import"./uniqBy.0ae55b98.js";import"./download.b66616ed.js";import"./index.f2e779e6.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";const d=f(null),O=_({components:{BasicForm:h,BasicModal:b},emits:["reload","register"],setup(a,{emit:c}){const o=f(""),i=[{field:"name",component:"Input",label:"name",colProps:{span:24},required:!0},{field:"pid",component:"ApiTreeSelect",label:"Super Menu",componentProps:{api:F,resultField:"list"},colProps:{span:24}},{field:"icon",component:"IconPicker",label:"icon",colProps:{span:24}},{field:"overwrite",component:"Checkbox",label:"Force Override",colProps:{span:24}}],[r,{closeModal:l}]=B(e=>m(this,null,function*(){var p;o.value=e.table,(p=d.value)==null||p.appendSchemaByField({field:"table",component:"Input",label:"",colProps:{span:0},componentProps:{hidden:!0},defaultValue:o},"")})),{createMessage:n}=y(),{success:s}=n;return{formElRef:d,handleSubmit:()=>m(this,null,function*(){try{const e=d.value;if(!e)return;const p=yield e.validate();yield w(p),l(),s("Successful operation"),c("reload")}catch(e){console.log(e)}}),schemas:i,register:r}}}),$={class:"mt-3"};function I(a,c,o,i,r,l){const n=u("BasicForm"),s=u("BasicModal");return g(),v(s,C(a.$attrs,{destroyOnClose:"",onRegister:a.register,title:"One-click menu generation",onOk:a.handleSubmit}),{default:P(()=>[k("div",$,[S(n,{schemas:a.schemas,ref:"formElRef",labelWidth:75,showActionButtonGroup:!1},null,8,["schemas"])])]),_:1},16,["onRegister","onOk"])}var U=M(O,[["render",I]]);export{U as default};
|
1
src/plugin/admin/public/assets/DropMenuItem.1cb359cf.js
Normal file
1
src/plugin/admin/public/assets/DropMenuItem.1cb359cf.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{aJ as i,a as u,cX as l,cc as d,b3 as s,f as _,aL as a,o as f,aM as I,p as y,i as c,j as M,t as k,bB as g}from"./index.f8bcf808.js";const x=u({name:"DropdownMenuItem",components:{MenuItem:l.Item,Icon:d},props:{key:s.string,text:s.string,icon:s.string},setup(e){const n=g();return{itemKey:_(()=>{var t,o;return e.key||((o=(t=n==null?void 0:n.vnode)==null?void 0:t.props)==null?void 0:o.key)})}}}),B={class:"flex items-center"};function C(e,n,r,t,o,$){const p=a("Icon"),m=a("MenuItem");return f(),I(m,{key:e.itemKey},{default:y(()=>[c("span",B,[M(p,{icon:e.icon,class:"mr-1"},null,8,["icon"]),c("span",null,k(e.text),1)])]),_:1})}var v=i(x,[["render",C]]);export{v as default};
|
@ -1 +0,0 @@
|
|||||||
import{aG as i,a as u,cW as l,cb as d,b0 as s,f as _,aI as a,o as I,aJ as f,p as y,i as c,j as k,t as M,bz as g}from"./index.6cd5baf8.js";const x=u({name:"DropdownMenuItem",components:{MenuItem:l.Item,Icon:d},props:{key:s.string,text:s.string,icon:s.string},setup(e){const n=g();return{itemKey:_(()=>{var t,o;return e.key||((o=(t=n==null?void 0:n.vnode)==null?void 0:t.props)==null?void 0:o.key)})}}}),C={class:"flex items-center"};function $(e,n,r,t,o,b){const p=a("Icon"),m=a("MenuItem");return I(),f(m,{key:e.itemKey},{default:y(()=>[c("span",C,[k(p,{icon:e.icon,class:"mr-1"},null,8,["icon"]),c("span",null,M(e.text),1)])]),_:1})}var v=i(x,[["render",$]]);export{v as default};
|
|
1
src/plugin/admin/public/assets/ErrorAction.6be6e653.js
Normal file
1
src/plugin/admin/public/assets/ErrorAction.6be6e653.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{aJ as l,a as m,cc as d,bX as f,c as _,df as g,fj as E,f as L,aL as e,o as C,aM as h,p as a,j as c,d4 as B}from"./index.f8bcf808.js";import{B as T}from"./index.fe83b607.js";const k=m({name:"ErrorAction",components:{Icon:d,Tooltip:f,Badge:T},setup(){const{t:o}=_(),{push:n}=g(),t=E(),r=L(()=>t.getErrorLogListCount);function s(){n(B.ERROR_LOG_PAGE).then(()=>{t.setErrorLogListCount(0)})}return{t:o,getCount:r,handleToErrorList:s}}});function I(o,n,t,r,s,R){const u=e("Icon"),i=e("Badge"),p=e("Tooltip");return C(),h(p,{title:o.t("layout.header.tooltipErrorLog"),placement:"bottom",mouseEnterDelay:.5,onClick:o.handleToErrorList},{default:a(()=>[c(i,{count:o.getCount,offset:[0,10],overflowCount:99},{default:a(()=>[c(u,{icon:"ion:bug-outline"})]),_:1},8,["count"])]),_:1},8,["title","mouseEnterDelay","onClick"])}var v=l(k,[["render",I]]);export{v as default};
|
@ -1 +0,0 @@
|
|||||||
import{aG as l,a as m,cb as d,bV as f,de as _,ff as g,f as E,aI as e,o as C,aJ as L,p as a,j as c,c as h,d3 as B}from"./index.6cd5baf8.js";import{B as I}from"./index.8661fcc6.js";const T=m({name:"ErrorAction",components:{Icon:d,Tooltip:f,Badge:I},setup(){const{t:o}=h(),{push:n}=_(),t=g(),r=E(()=>t.getErrorLogListCount);function s(){n(B.ERROR_LOG_PAGE).then(()=>{t.setErrorLogListCount(0)})}return{t:o,getCount:r,handleToErrorList:s}}});function b(o,n,t,r,s,k){const u=e("Icon"),i=e("Badge"),p=e("Tooltip");return C(),L(p,{title:o.t("layout.header.tooltipErrorLog"),placement:"bottom",mouseEnterDelay:.5,onClick:o.handleToErrorList},{default:a(()=>[c(i,{count:o.getCount,offset:[0,10],overflowCount:99},{default:a(()=>[c(u,{icon:"ion:bug-outline"})]),_:1},8,["count"])]),_:1},8,["title","mouseEnterDelay","onClick"])}var v=l(T,[["render",b]]);export{v as default};
|
|
@ -1 +1 @@
|
|||||||
import{a as N,c$ as e,r as O,d0 as R,d1 as S,d2 as A,c as v,b as k,f as p,k as s,d3 as _,j as r,B as G}from"./index.6cd5baf8.js";import{R as P}from"./index.d650224d.js";var C="/app/admin/assets/no-data.f7e550cc.svg",D="/app/admin/assets/net-error.61b7e6df.svg",I=N({name:"ErrorPage",props:{status:{type:Number,default:e.PAGE_NOT_FOUND},title:{type:String,default:""},subTitle:{type:String,default:""},full:{type:Boolean,default:!1}},setup(n){const a=O(new Map),{query:f}=R(),o=S(),c=A(),{t}=v(),{prefixCls:m}=k("app-exception-page"),x=p(()=>{const{status:l}=f,{status:i}=n;return Number(l)||i}),E=p(()=>s(a).get(s(x))),d=t("sys.exception.backLogin"),u=t("sys.exception.backHome");return s(a).set(e.PAGE_NOT_ACCESS,{title:"403",status:`${e.PAGE_NOT_ACCESS}`,subTitle:t("sys.exception.subTitle403"),btnText:n.full?d:u,handler:()=>n.full?o(_.BASE_LOGIN):o()}),s(a).set(e.PAGE_NOT_FOUND,{title:"404",status:`${e.PAGE_NOT_FOUND}`,subTitle:t("sys.exception.subTitle404"),btnText:n.full?d:u,handler:()=>n.full?o(_.BASE_LOGIN):o()}),s(a).set(e.ERROR,{title:"500",status:`${e.ERROR}`,subTitle:t("sys.exception.subTitle500"),btnText:u,handler:()=>o()}),s(a).set(e.PAGE_NOT_DATA,{title:t("sys.exception.noDataTitle"),subTitle:"",btnText:t("common.redo"),handler:()=>c(),icon:C}),s(a).set(e.NET_WORK_ERROR,{title:t("sys.exception.networkErrorTitle"),subTitle:t("sys.exception.networkErrorSubTitle"),btnText:t("common.redo"),handler:()=>c(),icon:D}),()=>{const{title:l,subTitle:i,btnText:T,icon:b,handler:g,status:y}=s(E)||{};return r(P,{class:m,status:y,title:n.title||l,"sub-title":n.subTitle||i},{extra:()=>T&&r(G,{type:"primary",onClick:g},{default:()=>T}),icon:()=>b?r("img",{src:b},null):null})}}});export{I as default};
|
import{a as N,d0 as e,r as O,d1 as R,d2 as S,d3 as A,c as v,b as k,f as p,k as s,d4 as _,j as r,B as G}from"./index.f8bcf808.js";import{R as P}from"./index.8c3ed169.js";var C="/app/admin/assets/no-data.f7e550cc.svg",D="/app/admin/assets/net-error.61b7e6df.svg",I=N({name:"ErrorPage",props:{status:{type:Number,default:e.PAGE_NOT_FOUND},title:{type:String,default:""},subTitle:{type:String,default:""},full:{type:Boolean,default:!1}},setup(n){const a=O(new Map),{query:f}=R(),o=S(),c=A(),{t}=v(),{prefixCls:m}=k("app-exception-page"),x=p(()=>{const{status:l}=f,{status:i}=n;return Number(l)||i}),E=p(()=>s(a).get(s(x))),d=t("sys.exception.backLogin"),u=t("sys.exception.backHome");return s(a).set(e.PAGE_NOT_ACCESS,{title:"403",status:`${e.PAGE_NOT_ACCESS}`,subTitle:t("sys.exception.subTitle403"),btnText:n.full?d:u,handler:()=>n.full?o(_.BASE_LOGIN):o()}),s(a).set(e.PAGE_NOT_FOUND,{title:"404",status:`${e.PAGE_NOT_FOUND}`,subTitle:t("sys.exception.subTitle404"),btnText:n.full?d:u,handler:()=>n.full?o(_.BASE_LOGIN):o()}),s(a).set(e.ERROR,{title:"500",status:`${e.ERROR}`,subTitle:t("sys.exception.subTitle500"),btnText:u,handler:()=>o()}),s(a).set(e.PAGE_NOT_DATA,{title:t("sys.exception.noDataTitle"),subTitle:"",btnText:t("common.redo"),handler:()=>c(),icon:C}),s(a).set(e.NET_WORK_ERROR,{title:t("sys.exception.networkErrorTitle"),subTitle:t("sys.exception.networkErrorSubTitle"),btnText:t("common.redo"),handler:()=>c(),icon:D}),()=>{const{title:l,subTitle:i,btnText:T,icon:b,handler:g,status:y}=s(E)||{};return r(P,{class:m,status:y,title:n.title||l,"sub-title":n.subTitle||i},{extra:()=>T&&r(G,{type:"primary",onClick:g},{default:()=>T}),icon:()=>b?r("img",{src:b},null):null})}}});export{I as default};
|
@ -1 +0,0 @@
|
|||||||
var k=(g,l,s)=>new Promise((d,i)=>{var f=a=>{try{r(s.next(a))}catch(m){i(m)}},c=a=>{try{r(s.throw(a))}catch(m){i(m)}},r=a=>a.done?d(a.value):Promise.resolve(a.value).then(f,c);r((s=s.apply(g,l)).next())});import F from"./LoginFormTitle.458d226e.js";import{a as I,c as R,r as v,m as h,f as z,k as e,o as B,h as L,j as o,p as t,I as x,B as _,q as y,t as C,F as w,aK as E}from"./index.6cd5baf8.js";import{F as S}from"./index.52ee3ac2.js";import"./index.c21d4698.js";import{C as N}from"./index.b5298110.js";import{u as D,a as T,L as U}from"./useLogin.f7a7c7c5.js";import"./_baseIteratee.4c0536c1.js";const $=I({setup(g){const l=S.Item,{t:s}=R(),{handleBackLogin:d,getLoginState:i}=D(),{getFormRules:f}=T(),c=v(),r=v(!1),a=h({account:"",mobile:"",sms:""}),m=z(()=>e(i)===U.RESET_PASSWORD);function b(){return k(this,null,function*(){const p=e(c);!p||(yield p.resetFields())})}return(p,n)=>e(m)?(B(),L(w,{key:0},[o(F,{class:"enter-x"}),o(e(S),{class:"p-4 enter-x",model:e(a),rules:e(f),ref_key:"formRef",ref:c},{default:t(()=>[o(e(l),{name:"account",class:"enter-x"},{default:t(()=>[o(e(x),{size:"large",value:e(a).account,"onUpdate:value":n[0]||(n[0]=u=>e(a).account=u),placeholder:e(s)("sys.login.userName")},null,8,["value","placeholder"])]),_:1}),o(e(l),{name:"mobile",class:"enter-x"},{default:t(()=>[o(e(x),{size:"large",value:e(a).mobile,"onUpdate:value":n[1]||(n[1]=u=>e(a).mobile=u),placeholder:e(s)("sys.login.mobile")},null,8,["value","placeholder"])]),_:1}),o(e(l),{name:"sms",class:"enter-x"},{default:t(()=>[o(e(N),{size:"large",value:e(a).sms,"onUpdate:value":n[2]||(n[2]=u=>e(a).sms=u),placeholder:e(s)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),o(e(l),{class:"enter-x"},{default:t(()=>[o(e(_),{type:"primary",size:"large",block:"",onClick:b,loading:r.value},{default:t(()=>[y(C(e(s)("common.resetText")),1)]),_:1},8,["loading"]),o(e(_),{size:"large",block:"",class:"mt-4",onClick:e(d)},{default:t(()=>[y(C(e(s)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model","rules"])],64)):E("",!0)}});export{$ as default};
|
|
@ -0,0 +1 @@
|
|||||||
|
var _=(g,l,s)=>new Promise((d,i)=>{var f=a=>{try{r(s.next(a))}catch(m){i(m)}},c=a=>{try{r(s.throw(a))}catch(m){i(m)}},r=a=>a.done?d(a.value):Promise.resolve(a.value).then(f,c);r((s=s.apply(g,l)).next())});import b from"./LoginFormTitle.4c1672da.js";import{a as I,c as R,r as k,m as h,f as w,k as e,o as z,h as B,j as o,p as t,I as v,B as x,q as y,t as F,F as L,aN as N}from"./index.f8bcf808.js";import{F as C}from"./index.14ba2351.js";import"./index.0e7d1863.js";import{C as E}from"./index.293b5840.js";import{u as D,a as T,L as U}from"./useLogin.7cc7f83b.js";import"./_baseIteratee.f49fbaac.js";const G=I({__name:"ForgetPasswordForm",setup(g){const l=C.Item,{t:s}=R(),{handleBackLogin:d,getLoginState:i}=D(),{getFormRules:f}=T(),c=k(),r=k(!1),a=h({account:"",mobile:"",sms:""}),m=w(()=>e(i)===U.RESET_PASSWORD);function S(){return _(this,null,function*(){const p=e(c);!p||(yield p.resetFields())})}return(p,n)=>e(m)?(z(),B(L,{key:0},[o(b,{class:"enter-x"}),o(e(C),{class:"p-4 enter-x",model:a,rules:e(f),ref_key:"formRef",ref:c},{default:t(()=>[o(e(l),{name:"account",class:"enter-x"},{default:t(()=>[o(e(v),{size:"large",value:a.account,"onUpdate:value":n[0]||(n[0]=u=>a.account=u),placeholder:e(s)("sys.login.userName")},null,8,["value","placeholder"])]),_:1}),o(e(l),{name:"mobile",class:"enter-x"},{default:t(()=>[o(e(v),{size:"large",value:a.mobile,"onUpdate:value":n[1]||(n[1]=u=>a.mobile=u),placeholder:e(s)("sys.login.mobile")},null,8,["value","placeholder"])]),_:1}),o(e(l),{name:"sms",class:"enter-x"},{default:t(()=>[o(e(E),{size:"large",value:a.sms,"onUpdate:value":n[2]||(n[2]=u=>a.sms=u),placeholder:e(s)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),o(e(l),{class:"enter-x"},{default:t(()=>[o(e(x),{type:"primary",size:"large",block:"",onClick:S,loading:r.value},{default:t(()=>[y(F(e(s)("common.resetText")),1)]),_:1},8,["loading"]),o(e(x),{size:"large",block:"",class:"mt-4",onClick:e(d)},{default:t(()=>[y(F(e(s)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model","rules"])],64)):N("",!0)}});export{G as default};
|
@ -1 +1 @@
|
|||||||
import{aG as e,a,o as n,h as o}from"./index.6cd5baf8.js";const r=a({name:"FrameBlank"});function t(s,c,p,m,_,f){return n(),o("div")}var i=e(r,[["render",t]]);export{i as default};
|
import{aJ as e,a,o as n,h as o}from"./index.f8bcf808.js";const r=a({name:"FrameBlank"});function t(s,c,p,m,_,f){return n(),o("div")}var i=e(r,[["render",t]]);export{i as default};
|
@ -1 +1 @@
|
|||||||
import{j as s,aO as f}from"./index.6cd5baf8.js";var o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 000 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 00391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 00-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z"}}]},name:"fullscreen-exit",theme:"outlined"},O=o;function u(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},l=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(l=l.concat(Object.getOwnPropertySymbols(t).filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),l.forEach(function(n){L(r,n,t[n])})}return r}function L(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var a=function(e,t){var l=u({},e,t.attrs);return s(f,u({},l,{icon:O}),null)};a.displayName="FullscreenExitOutlined";a.inheritAttrs=!1;var g=a,d={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M290 236.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0013.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 000 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 00-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z"}}]},name:"fullscreen",theme:"outlined"},m=d;function i(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},l=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(l=l.concat(Object.getOwnPropertySymbols(t).filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),l.forEach(function(n){p(r,n,t[n])})}return r}function p(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var c=function(e,t){var l=i({},e,t.attrs);return s(f,i({},l,{icon:m}),null)};c.displayName="FullscreenOutlined";c.inheritAttrs=!1;var v=c;export{g as F,v as a};
|
import{j as s,aR as f}from"./index.f8bcf808.js";var o={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 000 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 00391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 00-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z"}}]},name:"fullscreen-exit",theme:"outlined"},L=o;function u(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},l=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(l=l.concat(Object.getOwnPropertySymbols(t).filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),l.forEach(function(n){O(r,n,t[n])})}return r}function O(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var a=function(e,t){var l=u({},e,t.attrs);return s(f,u({},l,{icon:L}),null)};a.displayName="FullscreenExitOutlined";a.inheritAttrs=!1;var g=a,d={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M290 236.4l43.9-43.9a8.01 8.01 0 00-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0013.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 000 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 00-11.3 0l-42.4 42.3a8.03 8.03 0 000 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 004.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 00-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 00-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z"}}]},name:"fullscreen",theme:"outlined"},m=d;function i(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},l=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(l=l.concat(Object.getOwnPropertySymbols(t).filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),l.forEach(function(n){p(r,n,t[n])})}return r}function p(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var c=function(e,t){var l=i({},e,t.attrs);return s(f,i({},l,{icon:m}),null)};c.displayName="FullscreenOutlined";c.inheritAttrs=!1;var v=c;export{g as F,v as a};
|
@ -0,0 +1 @@
|
|||||||
|
import{aJ as a,a as o,b as p,aL as m,o as i,h as u,i as l,t as c,j as d,b8 as _,n as f}from"./index.f8bcf808.js";import{I as b}from"./index.05080ca7.js";import{b as I}from"./index.a200aa1f.js";import"./index.d3397da6.js";import"./FullscreenOutlined.f88b6f65.js";import"./index.ffdfd07f.js";import"./useWindowSizeFn.d2a0a89b.js";import"./useContentViewHeight.0d100a60.js";import"./uniqBy.0ae55b98.js";import"./_baseIteratee.f49fbaac.js";import"./index.e344e4ac.js";import"./RedoOutlined.ed3d1686.js";import"./lock.74a6de68.js";import"./ArrowLeftOutlined.73a6b26e.js";import"./index.91cad2d2.js";const g=o({name:"InputNumberItem",components:{InputNumber:b},props:{event:{type:Number},title:{type:String}},setup(e){const{prefixCls:t}=p("setting-input-number-item");function n(r){e.event&&I(e.event,r)}return{prefixCls:t,handleChange:n}}});function v(e,t,n,r,C,N){const s=m("InputNumber");return i(),u("div",{class:f(e.prefixCls)},[l("span",null,c(e.title),1),d(s,_(e.$attrs,{size:"small",class:`${e.prefixCls}-input-number`,onChange:e.handleChange}),null,16,["class","onChange"])],2)}var P=a(g,[["render",v],["__scopeId","data-v-2dfafc16"]]);export{P as default};
|
@ -1 +0,0 @@
|
|||||||
import{aG as a,a as o,b as p,aI as m,o as i,h as u,i as l,t as c,j as d,b5 as _,n as f}from"./index.6cd5baf8.js";import{I as b}from"./index.45440705.js";import{b as I}from"./index.bf5c6ac7.js";import"./index.e158fb66.js";import"./FullscreenOutlined.5e472b7c.js";import"./index.be2d23ab.js";import"./useWindowSizeFn.b111f681.js";import"./useContentViewHeight.8b78d050.js";import"./uniqBy.7ebdfad5.js";import"./_baseIteratee.4c0536c1.js";import"./index.e2af6e9e.js";import"./RedoOutlined.e3536f96.js";import"./lock.5d844c3d.js";import"./ArrowLeftOutlined.83dc660b.js";import"./index.e9e97d48.js";const g=o({name:"InputNumberItem",components:{InputNumber:b},props:{event:{type:Number},title:{type:String}},setup(e){const{prefixCls:t}=p("setting-input-number-item");function n(r){e.event&&I(e.event,r)}return{prefixCls:t,handleChange:n}}});function v(e,t,n,r,C,N){const s=m("InputNumber");return i(),u("div",{class:f(e.prefixCls)},[l("span",null,c(e.title),1),d(s,_(e.$attrs,{size:"small",class:`${e.prefixCls}-input-number`,onChange:e.handleChange}),null,16,["class","onChange"])],2)}var q=a(g,[["render",v],["__scopeId","data-v-2dfafc16"]]);export{q as default};
|
|
@ -1 +0,0 @@
|
|||||||
var f=(e,p,s)=>new Promise((m,r)=>{var d=o=>{try{a(s.next(o))}catch(n){r(n)}},t=o=>{try{a(s.throw(o))}catch(n){r(n)}},a=o=>o.done?m(o.value):Promise.resolve(o.value).then(d,t);a((s=s.apply(e,p)).next())});import{aG as w,a as y,b as $,l as F,f as _,aI as u,o as I,aJ as L,p as g,i as l,n as c,t as k,j as h,q as M,b5 as S,c as b}from"./index.6cd5baf8.js";import{B as R,a as N}from"./index.9b423250.js";import{B as P}from"./BasicForm.98897bf6.js";import{u as U}from"./useForm.35bc34f9.js";import{u as V}from"./lock.5d844c3d.js";import{h as q}from"./header.d801b988.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./index.e9e97d48.js";import"./index.bd69fa8a.js";import"./index.58f2ee69.js";import"./index.45440705.js";import"./index.7717c432.js";import"./index.b5298110.js";import"./index.63db07a3.js";import"./uniqBy.7ebdfad5.js";import"./download.8885bb3e.js";import"./index.a4d3410c.js";const D=y({name:"LockModal",components:{BasicModal:R,BasicForm:P},setup(){const{t:e}=b(),{prefixCls:p}=$("header-lock-modal"),s=F(),m=V(),r=_(()=>{var i;return(i=s.getUserInfo)==null?void 0:i.nickname}),[d,{closeModal:t}]=N(),[a,{validateFields:o,resetFields:n}]=U({showActionButtonGroup:!1,schemas:[{field:"password",label:e("layout.header.lockScreenPassword"),colProps:{span:24},component:"InputPassword",required:!0}]});function v(){return f(this,null,function*(){const C=(yield o()).password;t(),m.setLockInfo({isLock:!0,pwd:C}),yield n()})}const B=_(()=>{const{avatar:i}=s.getUserInfo;return i||q});return{t:e,prefixCls:p,getRealName:r,register:d,registerForm:a,handleLock:v,avatar:B}}}),G=["src"];function j(e,p,s,m,r,d){const t=u("BasicForm"),a=u("a-button"),o=u("BasicModal");return I(),L(o,S({footer:null,title:e.t("layout.header.lockScreen")},e.$attrs,{class:e.prefixCls,onRegister:e.register}),{default:g(()=>[l("div",{class:c(`${e.prefixCls}__entry`)},[l("div",{class:c(`${e.prefixCls}__header`)},[l("img",{src:e.avatar,class:c(`${e.prefixCls}__header-img`)},null,10,G),l("p",{class:c(`${e.prefixCls}__header-name`)},k(e.getRealName),3)],2),h(t,{onRegister:e.registerForm},null,8,["onRegister"]),l("div",{class:c(`${e.prefixCls}__footer`)},[h(a,{type:"primary",block:"",class:"mt-2",onClick:e.handleLock},{default:g(()=>[M(k(e.t("layout.header.lockScreenBtn")),1)]),_:1},8,["onClick"])],2)],2)]),_:1},16,["title","class","onRegister"])}var le=w(D,[["render",j]]);export{le as default};
|
|
1
src/plugin/admin/public/assets/LockModal.8cd063b0.js
Normal file
1
src/plugin/admin/public/assets/LockModal.8cd063b0.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var f=(e,p,s)=>new Promise((m,r)=>{var d=o=>{try{a(s.next(o))}catch(n){r(n)}},t=o=>{try{a(s.throw(o))}catch(n){r(n)}},a=o=>o.done?m(o.value):Promise.resolve(o.value).then(d,t);a((s=s.apply(e,p)).next())});import{aJ as w,a as y,c as $,b as L,l as M,f as _,aL as u,o as F,aM as S,p as g,i as l,n as c,t as k,j as h,q as I,b8 as b}from"./index.f8bcf808.js";import{B as R,a as N}from"./index.a4e346ff.js";import{B as P}from"./BasicForm.82e222ab.js";import{u as U}from"./useForm.15b4451f.js";import{u as V}from"./lock.74a6de68.js";import{h as q}from"./header.d801b988.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./index.91cad2d2.js";import"./index.d82b2be8.js";import"./index.8cf0b441.js";import"./index.05080ca7.js";import"./index.b5bef3a7.js";import"./index.293b5840.js";import"./index.26a767f7.js";import"./uniqBy.0ae55b98.js";import"./download.b66616ed.js";import"./index.f2e779e6.js";const D=y({name:"LockModal",components:{BasicModal:R,BasicForm:P},setup(){const{t:e}=$(),{prefixCls:p}=L("header-lock-modal"),s=M(),m=V(),r=_(()=>{var i;return(i=s.getUserInfo)==null?void 0:i.nickname}),[d,{closeModal:t}]=N(),[a,{validateFields:o,resetFields:n}]=U({showActionButtonGroup:!1,schemas:[{field:"password",label:e("layout.header.lockScreenPassword"),colProps:{span:24},component:"InputPassword",required:!0}]});function v(){return f(this,null,function*(){const C=(yield o()).password;t(),m.setLockInfo({isLock:!0,pwd:C}),yield n()})}const B=_(()=>{const{avatar:i}=s.getUserInfo;return i||q});return{t:e,prefixCls:p,getRealName:r,register:d,registerForm:a,handleLock:v,avatar:B}}}),j=["src"];function z(e,p,s,m,r,d){const t=u("BasicForm"),a=u("a-button"),o=u("BasicModal");return F(),S(o,b({footer:null,title:e.t("layout.header.lockScreen")},e.$attrs,{class:e.prefixCls,onRegister:e.register}),{default:g(()=>[l("div",{class:c(`${e.prefixCls}__entry`)},[l("div",{class:c(`${e.prefixCls}__header`)},[l("img",{src:e.avatar,class:c(`${e.prefixCls}__header-img`)},null,10,j),l("p",{class:c(`${e.prefixCls}__header-name`)},k(e.getRealName),3)],2),h(t,{onRegister:e.registerForm},null,8,["onRegister"]),l("div",{class:c(`${e.prefixCls}__footer`)},[h(a,{type:"primary",block:"",class:"mt-2",onClick:e.handleLock},{default:g(()=>[I(k(e.t("layout.header.lockScreenBtn")),1)]),_:1},8,["onClick"])],2)],2)]),_:1},16,["title","class","onRegister"])}var le=w(D,[["render",z]]);export{le as default};
|
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/LockPage.f2137d90.js
Normal file
1
src/plugin/admin/public/assets/LockPage.f2137d90.js
Normal file
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/Login.3ad5f2f7.js
Normal file
1
src/plugin/admin/public/assets/Login.3ad5f2f7.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var v=(a,e,i)=>new Promise((f,u)=>{var d=t=>{try{n(i.next(t))}catch(m){u(m)}},c=t=>{try{n(i.throw(t))}catch(m){u(m)}},n=t=>t.done?f(t.value):Promise.resolve(t.value).then(d,c);n((i=i.apply(a,e)).next())});import{aJ as R,I as y,c as M,m as L,r as h,a as P,B as N,aL as l,o as T,aM as U,p as s,i as r,j as o,s as $,q as w,t as z,b8 as V,x as K}from"./index.f8bcf808.js";import{B as O,a as j}from"./index.a4e346ff.js";import{b as A}from"./common.4f9a0f43.js";import{a as q,b as J}from"./useLogin.7cc7f83b.js";import"./index.0e7d1863.js";import{F as _}from"./index.14ba2351.js";import{C as S,R as E}from"./index.f2e779e6.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";import"./_baseIteratee.f49fbaac.js";const G=S,H=E,Q=_.Item,W=y.Password,{t:X}=M(),Y=L({username:"",password:"",captcha:""}),B=h(),C=h(""),g=h(!1),{validForm:Z}=J(B),{getFormRules:x}=q();function I(){C.value="/app/admin/plugin/app/captcha?r="+new Date().getTime()}I();const aa=P({components:{BasicModal:O,FormItem:Q,ACol:G,ARow:H,Input:y,Form:_,Button:N,InputPassword:W},emits:["reload","register"],setup(){const[a,{closeModal:e}]=j(),{createMessage:i}=K(),{success:f}=i;function u(){return v(this,null,function*(){const d=yield Z();if(!d)return;const c=setTimeout(()=>{I(),g.value=!1},2e3);g.value=!0,yield A("/app/admin/plugin/app/login",d),g.value=!1,clearTimeout(c),e(),f("login successful")})}return{formRef:B,formData:Y,loading:g,handleLogin:u,register:a,getFormRules:x,captchaUrl:C,t:X}}}),ea=r("div",{class:"px-4 py-2"},[r("div",{role:"alert",class:"mb-4 ant-alert ant-alert-info ant-alert-no-icon","data-show":"true"},[r("div",{class:"ant-alert-content"},[r("div",{class:"ant-alert-message"},[r("b",null,[w("Note: Login here "),r("a",{href:"https://www.workerman.net",target:"_blank"},"workerman.netOfficial website"),w(" account")])])])])],-1),oa={class:"p-4"},sa=["src"];function ta(a,e,i,f,u,d){const c=l("Input"),n=l("FormItem"),t=l("InputPassword"),m=l("a-col"),F=l("a-row"),k=l("Button"),b=l("Form"),D=l("BasicModal");return T(),U(D,V(a.$attrs,{destroyOnClose:"",onRegister:a.register,title:"Log inworkerman",showCancelBtn:!1,showOkBtn:!1}),{default:s(()=>[ea,r("div",oa,[o(b,{class:"p-4 enter-x",model:a.formData,rules:a.getFormRules,ref:"formRef",onKeypress:$(a.handleLogin,["enter"])},{default:s(()=>[o(n,{name:"username",class:"enter-x"},{default:s(()=>[o(c,{size:"large",value:a.formData.username,"onUpdate:value":e[0]||(e[0]=p=>a.formData.username=p),placeholder:a.t("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),o(n,{name:"password",class:"enter-x"},{default:s(()=>[o(t,{size:"large",visibilityToggle:"",value:a.formData.password,"onUpdate:value":e[1]||(e[1]=p=>a.formData.password=p),placeholder:a.t("sys.login.password")},null,8,["value","placeholder"])]),_:1}),o(n,{name:"captcha",class:"enter-x"},{default:s(()=>[o(F,{type:"flex",justify:"space-between",align:"middle"},{default:s(()=>[o(m,null,{default:s(()=>[o(c,{size:"large",value:a.formData.captcha,"onUpdate:value":e[2]||(e[2]=p=>a.formData.captcha=p),placeholder:a.t("sys.login.captcha"),class:"fix-auto-fill captcha-input",maxlength:5},null,8,["value","placeholder"])]),_:1}),o(m,null,{default:s(()=>[r("img",{src:a.captchaUrl,onClick:e[3]||(e[3]=(...p)=>a.switchCatpcha&&a.switchCatpcha(...p))},null,8,sa)]),_:1})]),_:1})]),_:1}),o(n,{class:"enter-x"},{default:s(()=>[o(k,{type:"primary",size:"large",block:"",onClick:a.handleLogin,loading:a.loading},{default:s(()=>[w(z(a.t("sys.login.loginButton")),1)]),_:1},8,["onClick","loading"])]),_:1})]),_:1},8,["model","rules","onKeypress"])])]),_:1},16,["onRegister"])}var wa=R(aa,[["render",ta]]);export{wa as default};
|
@ -1 +0,0 @@
|
|||||||
import{a as p,u as x,b as d,c as _,e as u,f as h,o as f,h as g,i as s,j as l,k as t,A as i,t as r,n as c}from"./index.6cd5baf8.js";import v from"./LoginForm.f09b060f.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./LoginFormTitle.458d226e.js";import"./useLogin.f7a7c7c5.js";import"./index.63db07a3.js";import"./index.a4d3410c.js";var w="/app/admin/assets/login-box-bg.9027741f.svg";const y={class:"-enter-x xl:hidden"},k={class:"container relative h-full py-2 mx-auto sm:px-10"},S={class:"flex h-full"},b={class:"hidden min-h-full pl-4 mr-4 xl:flex xl:flex-col xl:w-6/12"},B={class:"my-auto"},C=["alt"],D={class:"mt-10 font-medium text-white -enter-x"},I={class:"inline-block mt-4 text-3xl"},L={class:"mt-5 font-normal text-white text-md dark:text-gray-500 -enter-x"},T={class:"flex w-full h-full py-5 xl:h-auto xl:py-0 xl:my-0 xl:w-6/12"},J=p({props:{sessionTimeout:{type:Boolean}},setup(A){const e=x(),{prefixCls:a}=d("login"),{t:n}=_();u().getShowPicker;const m=h(()=>{var o;return(o=e==null?void 0:e.title)!=null?o:""});return(o,V)=>(f(),g("div",{class:c([t(a),"relative w-full h-full px-4"])},[s("span",y,[l(t(i),{alwaysShowTitle:!0})]),s("div",k,[s("div",S,[s("div",b,[l(t(i),{class:"-enter-x"}),s("div",B,[s("img",{alt:t(m),src:w,class:"w-1/2 -mt-16 -enter-x"},null,8,C),s("div",D,[s("span",I,r(t(n)("sys.login.signInTitle")),1)]),s("div",L,r(t(n)("sys.login.signInDesc")),1)])]),s("div",T,[s("div",{class:c([`${t(a)}-form`,"relative w-full px-5 py-8 mx-auto my-auto rounded-md shadow-md xl:ml-16 xl:bg-transparent sm:px-8 xl:p-4 xl:shadow-none sm:w-3/4 lg:w-2/4 xl:w-auto enter-x"])},[l(v)],2)])])])],2))}});export{J as default};
|
|
1
src/plugin/admin/public/assets/Login.efc0eb8b.js
Normal file
1
src/plugin/admin/public/assets/Login.efc0eb8b.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{a as p,u as x,b as d,c as _,e as u,f as h,o as f,h as g,i as s,j as l,k as t,A as i,t as r,n as c}from"./index.f8bcf808.js";import v from"./LoginForm.6a9b5b9e.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./LoginFormTitle.4c1672da.js";import"./useLogin.7cc7f83b.js";import"./index.26a767f7.js";import"./index.f2e779e6.js";var w="/app/admin/assets/login-box-bg.9027741f.svg";const y={class:"-enter-x xl:hidden"},k={class:"container relative h-full py-2 mx-auto sm:px-10"},S={class:"flex h-full"},b={class:"hidden min-h-full pl-4 mr-4 xl:flex xl:flex-col xl:w-6/12"},B={class:"my-auto"},L=["alt"],C={class:"mt-10 font-medium text-white -enter-x"},D={class:"inline-block mt-4 text-3xl"},I={class:"mt-5 font-normal text-white text-md dark:text-gray-500 -enter-x"},T={class:"flex w-full h-full py-5 xl:h-auto xl:py-0 xl:my-0 xl:w-6/12"},J=p({__name:"Login",props:{sessionTimeout:{type:Boolean}},setup(A){const e=x(),{prefixCls:a}=d("login"),{t:n}=_();u().getShowPicker;const m=h(()=>{var o;return(o=e==null?void 0:e.title)!=null?o:""});return(o,V)=>(f(),g("div",{class:c([t(a),"relative w-full h-full px-4"])},[s("span",y,[l(t(i),{alwaysShowTitle:!0})]),s("div",k,[s("div",S,[s("div",b,[l(t(i),{class:"-enter-x"}),s("div",B,[s("img",{alt:t(m),src:w,class:"w-1/2 -mt-16 -enter-x"},null,8,L),s("div",C,[s("span",D,r(t(n)("sys.login.signInTitle")),1)]),s("div",I,r(t(n)("sys.login.signInDesc")),1)])]),s("div",T,[s("div",{class:c([`${t(a)}-form`,"relative w-full px-5 py-8 mx-auto my-auto rounded-md shadow-md xl:ml-16 xl:bg-transparent sm:px-8 xl:p-4 xl:shadow-none sm:w-3/4 lg:w-2/4 xl:w-auto enter-x"])},[l(v)],2)])])])],2))}});export{J as default};
|
@ -1 +0,0 @@
|
|||||||
var v=(a,e,i)=>new Promise((f,m)=>{var d=t=>{try{n(i.next(t))}catch(c){m(c)}},p=t=>{try{n(i.throw(t))}catch(c){m(c)}},n=t=>t.done?f(t.value):Promise.resolve(t.value).then(d,p);n((i=i.apply(a,e)).next())});import{aG as b,I as F,c as M,m as P,r as h,a as T,B as U,aI as l,o as $,aJ as z,p as s,i as r,j as o,q as w,t as L,s as N,b5 as V,x as A}from"./index.6cd5baf8.js";import{B as K,a as j}from"./index.9b423250.js";import{b as O}from"./common.c358f0cd.js";import{a as q,b as E}from"./useLogin.f7a7c7c5.js";import"./index.c21d4698.js";import{F as B}from"./index.52ee3ac2.js";import{C as G,R as J}from"./index.a4d3410c.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";import"./_baseIteratee.4c0536c1.js";const S=G,H=J,Q=B.Item,W=F.Password,{t:X}=M(),Y=P({username:"",password:"",captcha:""}),y=h(),C=h(""),g=h(!1),{validForm:Z}=E(y),{getFormRules:x}=q();function _(){C.value="/app/admin/plugin/app/captcha?r="+new Date().getTime()}_();const aa=T({components:{BasicModal:K,FormItem:Q,ACol:S,ARow:H,Input:F,Form:B,Button:U,InputPassword:W},emits:["reload","register"],setup(){const[a,{closeModal:e}]=j(),{createMessage:i}=A(),{success:f}=i;function m(){return v(this,null,function*(){const d=yield Z();if(!d)return;const p=setTimeout(()=>{_(),g.value=!1},2e3);g.value=!0,yield O("/app/admin/plugin/app/login",d),g.value=!1,clearTimeout(p),e(),f("\u767B\u5F55\u6210\u529F")})}return{formRef:y,formData:Y,loading:g,handleLogin:m,register:a,getFormRules:x,captchaUrl:C,t:X}}}),ea=r("div",{class:"px-4 py-2"},[r("div",{role:"alert",class:"mb-4 ant-alert ant-alert-info ant-alert-no-icon","data-show":"true"},[r("div",{class:"ant-alert-content"},[r("div",{class:"ant-alert-message"},[r("b",null,[w("\u6CE8\u610F\uFF1A\u6B64\u5904\u767B\u5F55 "),r("a",{href:"https://www.workerman.net",target:"_blank"},"workerman.net\u5B98\u7F51"),w(" \u8D26\u53F7")])])])])],-1),oa={class:"p-4"},sa=["src"];function ta(a,e,i,f,m,d){const p=l("Input"),n=l("FormItem"),t=l("InputPassword"),c=l("a-col"),I=l("a-row"),k=l("Button"),D=l("Form"),R=l("BasicModal");return $(),z(R,V(a.$attrs,{destroyOnClose:"",onRegister:a.register,title:"\u767B\u5F55workerman",showCancelBtn:!1,showOkBtn:!1}),{default:s(()=>[ea,r("div",oa,[o(D,{class:"p-4 enter-x",model:a.formData,rules:a.getFormRules,ref:"formRef",onKeypress:N(a.handleLogin,["enter"])},{default:s(()=>[o(n,{name:"username",class:"enter-x"},{default:s(()=>[o(p,{size:"large",value:a.formData.username,"onUpdate:value":e[0]||(e[0]=u=>a.formData.username=u),placeholder:a.t("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),o(n,{name:"password",class:"enter-x"},{default:s(()=>[o(t,{size:"large",visibilityToggle:"",value:a.formData.password,"onUpdate:value":e[1]||(e[1]=u=>a.formData.password=u),placeholder:a.t("sys.login.password")},null,8,["value","placeholder"])]),_:1}),o(n,{name:"captcha",class:"enter-x"},{default:s(()=>[o(I,{type:"flex",justify:"space-between",align:"middle"},{default:s(()=>[o(c,null,{default:s(()=>[o(p,{size:"large",value:a.formData.captcha,"onUpdate:value":e[2]||(e[2]=u=>a.formData.captcha=u),placeholder:a.t("sys.login.captcha"),class:"fix-auto-fill captcha-input",maxlength:5},null,8,["value","placeholder"])]),_:1}),o(c,null,{default:s(()=>[r("img",{src:a.captchaUrl,onClick:e[3]||(e[3]=(...u)=>a.switchCatpcha&&a.switchCatpcha(...u))},null,8,sa)]),_:1})]),_:1})]),_:1}),o(n,{class:"enter-x"},{default:s(()=>[o(k,{type:"primary",size:"large",block:"",onClick:a.handleLogin,loading:a.loading},{default:s(()=>[w(L(a.t("sys.login.loginButton")),1)]),_:1},8,["onClick","loading"])]),_:1})]),_:1},8,["model","rules","onKeypress"])])]),_:1},16,["onRegister"])}var wa=b(aa,[["render",ta]]);export{wa as default};
|
|
1
src/plugin/admin/public/assets/LoginForm.6a9b5b9e.js
Normal file
1
src/plugin/admin/public/assets/LoginForm.6a9b5b9e.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var k=(x,d,r)=>new Promise((c,f)=>{var t=o=>{try{i(r.next(o))}catch(u){f(u)}},y=o=>{try{i(r.throw(o))}catch(u){f(u)}},i=o=>o.done?c(o.value):Promise.resolve(o.value).then(t,y);i((r=r.apply(x,d)).next())});import{a as T,I as w,c as N,b as U,l as z,r as v,m as E,f as V,k as e,o as $,h as K,w as I,v as b,j as a,p as n,i as M,B as j,q,t as A,s as P,F as G,x as O}from"./index.f8bcf808.js";import{F as L}from"./index.14ba2351.js";import"./index.0e7d1863.js";import H from"./LoginFormTitle.4c1672da.js";import{u as J,a as Q,L as W,b as X}from"./useLogin.7cc7f83b.js";import"./index.26a767f7.js";import{C as Y,R as Z}from"./index.f2e779e6.js";import"./_baseIteratee.f49fbaac.js";const ee=["src"],ue=T({__name:"LoginForm",setup(x){const d=Y,r=Z,c=L.Item,f=w.Password,{t}=N(),{notification:y,createErrorModal:i}=O(),{prefixCls:o}=U("login"),u=z(),{getLoginState:R}=J(),{getFormRules:B}=Q(),_=v(),h=v(!1),S=v(""),l=E({account:"",password:"",captcha:""}),{validForm:D}=X(_),C=V(()=>e(R)===W.LOGIN);function g(){S.value="/app/admin/common/account/captcha?r="+new Date().getTime()}g();function F(){return k(this,null,function*(){const p=yield D();if(!!p)try{h.value=!0;const s=yield u.login({password:p.password,username:p.account,captcha:p.captcha,mode:"none"});s?y.success({message:t("sys.login.loginSuccessTitle"),description:`${t("sys.login.loginSuccessDesc")}: ${s.nickname}`,duration:3}):g()}catch(s){setTimeout(()=>{g()},2e3),i({title:t("sys.api.errorTip"),content:s.message||t("sys.api.networkExceptionMsg"),getContainer:()=>document.body.querySelector(`.${o}`)||document.body})}finally{h.value=!1}})}return(p,s)=>($(),K(G,null,[I(a(H,{class:"enter-x"},null,512),[[b,e(C)]]),I(a(e(L),{class:"p-4 enter-x",model:l,rules:e(B),ref_key:"formRef",ref:_,onKeypress:P(F,["enter"])},{default:n(()=>[a(e(c),{name:"account",class:"enter-x"},{default:n(()=>[a(e(w),{size:"large",value:l.account,"onUpdate:value":s[0]||(s[0]=m=>l.account=m),placeholder:e(t)("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),a(e(c),{name:"password",class:"enter-x"},{default:n(()=>[a(e(f),{size:"large",visibilityToggle:"",value:l.password,"onUpdate:value":s[1]||(s[1]=m=>l.password=m),placeholder:e(t)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),a(e(c),{name:"captcha",class:"enter-x"},{default:n(()=>[a(e(r),{type:"flex",justify:"space-between",align:"middle"},{default:n(()=>[a(e(d),null,{default:n(()=>[a(e(w),{size:"large",value:l.captcha,"onUpdate:value":s[2]||(s[2]=m=>l.captcha=m),placeholder:e(t)("sys.login.captcha"),class:"fix-auto-fill captcha-input",maxlength:5},null,8,["value","placeholder"])]),_:1}),a(e(d),null,{default:n(()=>[M("img",{src:S.value,onClick:g},null,8,ee)]),_:1})]),_:1})]),_:1}),a(e(c),{class:"enter-x"},{default:n(()=>[a(e(j),{type:"primary",size:"large",block:"",onClick:F,loading:h.value},{default:n(()=>[q(A(e(t)("sys.login.loginButton")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules","onKeypress"]),[[b,e(C)]])],64))}});export{ue as default};
|
@ -1 +0,0 @@
|
|||||||
var F=(x,m,r)=>new Promise((c,f)=>{var t=o=>{try{i(r.next(o))}catch(u){f(u)}},y=o=>{try{i(r.throw(o))}catch(u){f(u)}},i=o=>o.done?c(o.value):Promise.resolve(o.value).then(t,y);i((r=r.apply(x,m)).next())});import{a as T,I as w,c as N,b as U,l as z,r as v,m as E,f as V,k as e,o as $,h as K,w as I,v as b,j as a,p as n,i as M,B as j,q,t as A,s as P,F as G,x as O}from"./index.6cd5baf8.js";import{F as R}from"./index.52ee3ac2.js";import"./index.c21d4698.js";import H from"./LoginFormTitle.458d226e.js";import{u as J,a as Q,L as W,b as X}from"./useLogin.f7a7c7c5.js";import"./index.63db07a3.js";import{C as Y,R as Z}from"./index.a4d3410c.js";import"./_baseIteratee.4c0536c1.js";const ee=["src"],ue=T({setup(x){const m=Y,r=Z,c=R.Item,f=w.Password,{t}=N(),{notification:y,createErrorModal:i}=O(),{prefixCls:o}=U("login"),u=z(),{getLoginState:B}=J(),{getFormRules:D}=Q(),_=v(),h=v(!1),S=v(""),l=E({account:"",password:"",captcha:""}),{validForm:L}=X(_),C=V(()=>e(B)===W.LOGIN);function g(){S.value="/app/admin/common/account/captcha?r="+new Date().getTime()}g();function k(){return F(this,null,function*(){const p=yield L();if(!!p)try{h.value=!0;const s=yield u.login({password:p.password,username:p.account,captcha:p.captcha,mode:"none"});s?y.success({message:t("sys.login.loginSuccessTitle"),description:`${t("sys.login.loginSuccessDesc")}: ${s.nickname}`,duration:3}):g()}catch(s){setTimeout(()=>{g()},2e3),i({title:t("sys.api.errorTip"),content:s.message||t("sys.api.networkExceptionMsg"),getContainer:()=>document.body.querySelector(`.${o}`)||document.body})}finally{h.value=!1}})}return(p,s)=>($(),K(G,null,[I(a(H,{class:"enter-x"},null,512),[[b,e(C)]]),I(a(e(R),{class:"p-4 enter-x",model:e(l),rules:e(D),ref_key:"formRef",ref:_,onKeypress:P(k,["enter"])},{default:n(()=>[a(e(c),{name:"account",class:"enter-x"},{default:n(()=>[a(e(w),{size:"large",value:e(l).account,"onUpdate:value":s[0]||(s[0]=d=>e(l).account=d),placeholder:e(t)("sys.login.userName"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),a(e(c),{name:"password",class:"enter-x"},{default:n(()=>[a(e(f),{size:"large",visibilityToggle:"",value:e(l).password,"onUpdate:value":s[1]||(s[1]=d=>e(l).password=d),placeholder:e(t)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),a(e(c),{name:"captcha",class:"enter-x"},{default:n(()=>[a(e(r),{type:"flex",justify:"space-between",align:"middle"},{default:n(()=>[a(e(m),null,{default:n(()=>[a(e(w),{size:"large",value:e(l).captcha,"onUpdate:value":s[2]||(s[2]=d=>e(l).captcha=d),placeholder:e(t)("sys.login.captcha"),class:"fix-auto-fill captcha-input",maxlength:5},null,8,["value","placeholder"])]),_:1}),a(e(m),null,{default:n(()=>[M("img",{src:S.value,onClick:g},null,8,ee)]),_:1})]),_:1})]),_:1}),a(e(c),{class:"enter-x"},{default:n(()=>[a(e(j),{type:"primary",size:"large",block:"",onClick:k,loading:h.value},{default:n(()=>[q(A(e(t)("sys.login.loginButton")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["model","rules","onKeypress"]),[[b,e(C)]])],64))}});export{ue as default};
|
|
@ -1 +0,0 @@
|
|||||||
import{a as l,c as r,f as a,k as o,o as c,h as m,t as g}from"./index.6cd5baf8.js";import{u as p,L as e}from"./useLogin.f7a7c7c5.js";const u={class:"mb-3 text-2xl font-bold text-center xl:text-3xl enter-x xl:text-left"},E=l({setup(x){const{t}=r(),{getLoginState:n}=p(),s=a(()=>({[e.RESET_PASSWORD]:t("sys.login.forgetFormTitle"),[e.LOGIN]:t("sys.login.signInFormTitle"),[e.REGISTER]:t("sys.login.signUpFormTitle"),[e.MOBILE]:t("sys.login.mobileSignInFormTitle"),[e.QR_CODE]:t("sys.login.qrSignInFormTitle")})[o(n)]);return(i,f)=>(c(),m("h2",u,g(o(s)),1))}});export{E as default};
|
|
@ -0,0 +1 @@
|
|||||||
|
import{a as l,c as r,f as a,k as o,o as m,h as c,t as g}from"./index.f8bcf808.js";import{u as _,L as e}from"./useLogin.7cc7f83b.js";const p={class:"mb-3 text-2xl font-bold text-center xl:text-3xl enter-x xl:text-left"},T=l({__name:"LoginFormTitle",setup(u){const{t}=r(),{getLoginState:n}=_(),s=a(()=>({[e.RESET_PASSWORD]:t("sys.login.forgetFormTitle"),[e.LOGIN]:t("sys.login.signInFormTitle"),[e.REGISTER]:t("sys.login.signUpFormTitle"),[e.MOBILE]:t("sys.login.mobileSignInFormTitle"),[e.QR_CODE]:t("sys.login.qrSignInFormTitle")})[o(n)]);return(i,x)=>(m(),c("h2",p,g(o(s)),1))}});export{T as default};
|
@ -1 +0,0 @@
|
|||||||
var k=(g,l,o)=>new Promise((c,i)=>{var f=a=>{try{n(o.next(a))}catch(r){i(r)}},m=a=>{try{n(o.throw(a))}catch(r){i(r)}},n=a=>a.done?c(a.value):Promise.resolve(a.value).then(f,m);n((o=o.apply(g,l)).next())});import{a as I,c as B,r as x,m as L,f as h,k as e,o as S,h as w,j as s,p as t,I as z,B as _,q as y,t as b,F as R,aK as V}from"./index.6cd5baf8.js";import{F as v}from"./index.52ee3ac2.js";import"./index.c21d4698.js";import{C as E}from"./index.b5298110.js";import N from"./LoginFormTitle.458d226e.js";import{u as D,a as U,L as j,b as q}from"./useLogin.f7a7c7c5.js";import"./_baseIteratee.4c0536c1.js";const J=I({setup(g){const l=v.Item,{t:o}=B(),{handleBackLogin:c,getLoginState:i}=D(),{getFormRules:f}=U(),m=x(),n=x(!1),a=L({mobile:"",sms:""}),{validForm:r}=q(m),C=h(()=>e(i)===j.MOBILE);function F(){return k(this,null,function*(){const d=yield r();!d||console.log(d)})}return(d,u)=>e(C)?(S(),w(R,{key:0},[s(N,{class:"enter-x"}),s(e(v),{class:"p-4 enter-x",model:e(a),rules:e(f),ref_key:"formRef",ref:m},{default:t(()=>[s(e(l),{name:"mobile",class:"enter-x"},{default:t(()=>[s(e(z),{size:"large",value:e(a).mobile,"onUpdate:value":u[0]||(u[0]=p=>e(a).mobile=p),placeholder:e(o)("sys.login.mobile"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),s(e(l),{name:"sms",class:"enter-x"},{default:t(()=>[s(e(E),{size:"large",class:"fix-auto-fill",value:e(a).sms,"onUpdate:value":u[1]||(u[1]=p=>e(a).sms=p),placeholder:e(o)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),s(e(l),{class:"enter-x"},{default:t(()=>[s(e(_),{type:"primary",size:"large",block:"",onClick:F,loading:n.value},{default:t(()=>[y(b(e(o)("sys.login.loginButton")),1)]),_:1},8,["loading"]),s(e(_),{size:"large",block:"",class:"mt-4",onClick:e(c)},{default:t(()=>[y(b(e(o)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model","rules"])],64)):V("",!0)}});export{J as default};
|
|
1
src/plugin/admin/public/assets/MobileForm.855efba5.js
Normal file
1
src/plugin/admin/public/assets/MobileForm.855efba5.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var _=(g,l,a)=>new Promise((c,i)=>{var f=o=>{try{n(a.next(o))}catch(r){i(r)}},m=o=>{try{n(a.throw(o))}catch(r){i(r)}},n=o=>o.done?c(o.value):Promise.resolve(o.value).then(f,m);n((a=a.apply(g,l)).next())});import{a as I,c as B,r as k,m as L,f as h,k as e,o as S,h as w,j as s,p as t,I as z,B as x,q as b,t as y,F as N,aN as R}from"./index.f8bcf808.js";import{F}from"./index.14ba2351.js";import"./index.0e7d1863.js";import{C as V}from"./index.293b5840.js";import E from"./LoginFormTitle.4c1672da.js";import{u as D,a as M,L as U,b as j}from"./useLogin.7cc7f83b.js";import"./_baseIteratee.f49fbaac.js";const K=I({__name:"MobileForm",setup(g){const l=F.Item,{t:a}=B(),{handleBackLogin:c,getLoginState:i}=D(),{getFormRules:f}=M(),m=k(),n=k(!1),o=L({mobile:"",sms:""}),{validForm:r}=j(m),v=h(()=>e(i)===U.MOBILE);function C(){return _(this,null,function*(){const d=yield r();!d||console.log(d)})}return(d,u)=>e(v)?(S(),w(N,{key:0},[s(E,{class:"enter-x"}),s(e(F),{class:"p-4 enter-x",model:o,rules:e(f),ref_key:"formRef",ref:m},{default:t(()=>[s(e(l),{name:"mobile",class:"enter-x"},{default:t(()=>[s(e(z),{size:"large",value:o.mobile,"onUpdate:value":u[0]||(u[0]=p=>o.mobile=p),placeholder:e(a)("sys.login.mobile"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),s(e(l),{name:"sms",class:"enter-x"},{default:t(()=>[s(e(V),{size:"large",class:"fix-auto-fill",value:o.sms,"onUpdate:value":u[1]||(u[1]=p=>o.sms=p),placeholder:e(a)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),s(e(l),{class:"enter-x"},{default:t(()=>[s(e(x),{type:"primary",size:"large",block:"",onClick:C,loading:n.value},{default:t(()=>[b(y(e(a)("sys.login.loginButton")),1)]),_:1},8,["loading"]),s(e(x),{size:"large",block:"",class:"mt-4",onClick:e(c)},{default:t(()=>[b(y(e(a)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model","rules"])],64)):R("",!0)}});export{K as default};
|
File diff suppressed because one or more lines are too long
1
src/plugin/admin/public/assets/Modify.5672e800.js
Normal file
1
src/plugin/admin/public/assets/Modify.5672e800.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
import{j as c,aO as i}from"./index.6cd5baf8.js";var u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"}}]},name:"redo",theme:"outlined"},d=u;function o(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),n.forEach(function(a){f(r,a,t[a])})}return r}function f(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l=function(e,t){var n=o({},e,t.attrs);return c(i,o({},n,{icon:d}),null)};l.displayName="RedoOutlined";l.inheritAttrs=!1;var O=l;export{O as R};
|
import{j as c,aR as i}from"./index.f8bcf808.js";var u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 00-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z"}}]},name:"redo",theme:"outlined"},d=u;function o(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?Object(arguments[e]):{},n=Object.keys(t);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(t).filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),n.forEach(function(a){f(r,a,t[a])})}return r}function f(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var l=function(e,t){var n=o({},e,t.attrs);return c(i,o({},n,{icon:d}),null)};l.displayName="RedoOutlined";l.inheritAttrs=!1;var O=l;export{O as R};
|
@ -1 +0,0 @@
|
|||||||
var k=(x,r,i)=>new Promise((t,c)=>{var p=s=>{try{u(i.next(s))}catch(m){c(m)}},d=s=>{try{u(i.throw(s))}catch(m){c(m)}},u=s=>s.done?t(s.value):Promise.resolve(s.value).then(p,d);u((i=i.apply(x,r)).next())});import S from"./LoginFormTitle.458d226e.js";import{a as z,I as g,c as P,r as w,m as R,f as _,k as e,o as B,h as U,j as a,p as n,q as y,t as v,B as b,F as L,aK as E}from"./index.6cd5baf8.js";import{F as C}from"./index.52ee3ac2.js";import"./index.c21d4698.js";import{S as N,a as V}from"./index.bd69fa8a.js";import{C as T}from"./index.b5298110.js";import{u as D,a as j,L as q,b as G}from"./useLogin.f7a7c7c5.js";import"./_baseIteratee.4c0536c1.js";const X=z({setup(x){const r=C.Item,i=g.Password,{t}=P(),{handleBackLogin:c,getLoginState:p}=D(),d=w(),u=w(!1),s=R({account:"",password:"",confirmPassword:"",mobile:"",sms:"",policy:!1}),{getFormRules:m}=j(s),{validForm:h}=G(d),F=_(()=>e(p)===q.REGISTER);function I(){return k(this,null,function*(){const f=yield h();!f||console.log(f)})}return(f,o)=>e(F)?(B(),U(L,{key:0},[a(S,{class:"enter-x"}),a(e(C),{class:"p-4 enter-x",model:e(s),rules:e(m),ref_key:"formRef",ref:d},{default:n(()=>[a(e(r),{name:"account",class:"enter-x"},{default:n(()=>[a(e(g),{class:"fix-auto-fill",size:"large",value:e(s).account,"onUpdate:value":o[0]||(o[0]=l=>e(s).account=l),placeholder:e(t)("sys.login.userName")},null,8,["value","placeholder"])]),_:1}),a(e(r),{name:"mobile",class:"enter-x"},{default:n(()=>[a(e(g),{size:"large",value:e(s).mobile,"onUpdate:value":o[1]||(o[1]=l=>e(s).mobile=l),placeholder:e(t)("sys.login.mobile"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),a(e(r),{name:"sms",class:"enter-x"},{default:n(()=>[a(e(T),{size:"large",class:"fix-auto-fill",value:e(s).sms,"onUpdate:value":o[2]||(o[2]=l=>e(s).sms=l),placeholder:e(t)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),a(e(r),{name:"password",class:"enter-x"},{default:n(()=>[a(e(N),{size:"large",value:e(s).password,"onUpdate:value":o[3]||(o[3]=l=>e(s).password=l),placeholder:e(t)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),a(e(r),{name:"confirmPassword",class:"enter-x"},{default:n(()=>[a(e(i),{size:"large",visibilityToggle:"",value:e(s).confirmPassword,"onUpdate:value":o[4]||(o[4]=l=>e(s).confirmPassword=l),placeholder:e(t)("sys.login.confirmPassword")},null,8,["value","placeholder"])]),_:1}),a(e(r),{class:"enter-x",name:"policy"},{default:n(()=>[a(e(V),{checked:e(s).policy,"onUpdate:checked":o[5]||(o[5]=l=>e(s).policy=l),size:"small"},{default:n(()=>[y(v(e(t)("sys.login.policy")),1)]),_:1},8,["checked"])]),_:1}),a(e(b),{type:"primary",class:"enter-x",size:"large",block:"",onClick:I,loading:u.value},{default:n(()=>[y(v(e(t)("sys.login.registerButton")),1)]),_:1},8,["loading"]),a(e(b),{size:"large",block:"",class:"mt-4 enter-x",onClick:e(c)},{default:n(()=>[y(v(e(t)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1},8,["model","rules"])],64)):E("",!0)}});export{X as default};
|
|
1
src/plugin/admin/public/assets/RegisterForm.e18214eb.js
Normal file
1
src/plugin/admin/public/assets/RegisterForm.e18214eb.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var k=(x,n,i)=>new Promise((t,c)=>{var p=s=>{try{m(i.next(s))}catch(u){c(u)}},d=s=>{try{m(i.throw(s))}catch(u){c(u)}},m=s=>s.done?t(s.value):Promise.resolve(s.value).then(p,d);m((i=i.apply(x,n)).next())});import S from"./LoginFormTitle.4c1672da.js";import{a as _,I as g,c as z,r as w,m as R,f as P,k as e,o as B,h as U,j as a,p as r,q as y,t as v,B as b,F as L,aN as N}from"./index.f8bcf808.js";import{F as C}from"./index.14ba2351.js";import"./index.0e7d1863.js";import{S as E,a as V}from"./index.d82b2be8.js";import{C as T}from"./index.293b5840.js";import{u as D,a as j,L as q,b as G}from"./useLogin.7cc7f83b.js";import"./_baseIteratee.f49fbaac.js";const X=_({__name:"RegisterForm",setup(x){const n=C.Item,i=g.Password,{t}=z(),{handleBackLogin:c,getLoginState:p}=D(),d=w(),m=w(!1),s=R({account:"",password:"",confirmPassword:"",mobile:"",sms:"",policy:!1}),{getFormRules:u}=j(s),{validForm:F}=G(d),h=P(()=>e(p)===q.REGISTER);function I(){return k(this,null,function*(){const f=yield F();!f||console.log(f)})}return(f,o)=>e(h)?(B(),U(L,{key:0},[a(S,{class:"enter-x"}),a(e(C),{class:"p-4 enter-x",model:s,rules:e(u),ref_key:"formRef",ref:d},{default:r(()=>[a(e(n),{name:"account",class:"enter-x"},{default:r(()=>[a(e(g),{class:"fix-auto-fill",size:"large",value:s.account,"onUpdate:value":o[0]||(o[0]=l=>s.account=l),placeholder:e(t)("sys.login.userName")},null,8,["value","placeholder"])]),_:1}),a(e(n),{name:"mobile",class:"enter-x"},{default:r(()=>[a(e(g),{size:"large",value:s.mobile,"onUpdate:value":o[1]||(o[1]=l=>s.mobile=l),placeholder:e(t)("sys.login.mobile"),class:"fix-auto-fill"},null,8,["value","placeholder"])]),_:1}),a(e(n),{name:"sms",class:"enter-x"},{default:r(()=>[a(e(T),{size:"large",class:"fix-auto-fill",value:s.sms,"onUpdate:value":o[2]||(o[2]=l=>s.sms=l),placeholder:e(t)("sys.login.smsCode")},null,8,["value","placeholder"])]),_:1}),a(e(n),{name:"password",class:"enter-x"},{default:r(()=>[a(e(E),{size:"large",value:s.password,"onUpdate:value":o[3]||(o[3]=l=>s.password=l),placeholder:e(t)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),a(e(n),{name:"confirmPassword",class:"enter-x"},{default:r(()=>[a(e(i),{size:"large",visibilityToggle:"",value:s.confirmPassword,"onUpdate:value":o[4]||(o[4]=l=>s.confirmPassword=l),placeholder:e(t)("sys.login.confirmPassword")},null,8,["value","placeholder"])]),_:1}),a(e(n),{class:"enter-x",name:"policy"},{default:r(()=>[a(e(V),{checked:s.policy,"onUpdate:checked":o[5]||(o[5]=l=>s.policy=l),size:"small"},{default:r(()=>[y(v(e(t)("sys.login.policy")),1)]),_:1},8,["checked"])]),_:1}),a(e(b),{type:"primary",class:"enter-x",size:"large",block:"",onClick:I,loading:m.value},{default:r(()=>[y(v(e(t)("sys.login.registerButton")),1)]),_:1},8,["loading"]),a(e(b),{size:"large",block:"",class:"mt-4 enter-x",onClick:e(c)},{default:r(()=>[y(v(e(t)("sys.login.backSignIn")),1)]),_:1},8,["onClick"])]),_:1},8,["model","rules"])],64)):N("",!0)}});export{X as default};
|
@ -1 +0,0 @@
|
|||||||
var g=(a,r,o)=>new Promise((s,c)=>{var e=i=>{try{t(o.next(i))}catch(l){c(l)}},n=i=>{try{t(o.throw(i))}catch(l){c(l)}},t=i=>i.done?s(i.value):Promise.resolve(i.value).then(e,n);t((o=o.apply(a,r)).next())});import{B as F}from"./BasicForm.98897bf6.js";import{a as _,U as x,J as v,b8 as m,j as u,aa as d,f as S,aG as D,r as E,I as b,co as G,aI as P,o as M,h as A,p as j,eT as k,q,x as N}from"./index.6cd5baf8.js";import{C as p}from"./index.bd126626.js";import"./index.e2af6e9e.js";import"./index.c21d4698.js";import"./index.52ee3ac2.js";import"./_baseIteratee.4c0536c1.js";import"./index.e9e97d48.js";import"./index.bd69fa8a.js";import"./index.58f2ee69.js";import"./index.45440705.js";import"./index.7717c432.js";import"./index.b5298110.js";import"./index.63db07a3.js";import"./index.9b423250.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";import"./uniqBy.7ebdfad5.js";import"./download.8885bb3e.js";import"./index.a4d3410c.js";var R=function(){return{prefixCls:String,title:d.any,description:d.any,avatar:d.any}},f=_({name:"ACardMeta",props:R(),slots:["title","description","avatar"],setup:function(r,o){var s=o.slots,c=x("card",r),e=c.prefixCls;return function(){var n=v({},"".concat(e.value,"-meta"),!0),t=m(s,r,"avatar"),i=m(s,r,"title"),l=m(s,r,"description"),y=t?u("div",{class:"".concat(e.value,"-meta-avatar")},[t]):null,B=i?u("div",{class:"".concat(e.value,"-meta-title")},[i]):null,h=l?u("div",{class:"".concat(e.value,"-meta-description")},[l]):null,I=B||h?u("div",{class:"".concat(e.value,"-meta-detail")},[B,h]):null;return u("div",{class:n},[y,I])}}}),T=function(){return{prefixCls:String,hoverable:{type:Boolean,default:!0}}},C=_({name:"ACardGrid",__ANT_CARD_GRID:!0,props:T(),setup:function(r,o){var s=o.slots,c=x("card",r),e=c.prefixCls,n=S(function(){var t;return t={},v(t,"".concat(e.value,"-grid"),!0),v(t,"".concat(e.value,"-grid-hoverable"),r.hoverable),t});return function(){var t;return u("div",{class:n.value},[(t=s.default)===null||t===void 0?void 0:t.call(s)])}}});p.Meta=f;p.Grid=C;p.install=function(a){return a.component(p.name,p),a.component(f.name,f),a.component(C.name,C),a};const w=E(null),$=_({components:{BasicForm:F,[b.name]:b,Button:G,Card:p},emits:["reload","register"],setup(){const a=[{field:"old_password",component:"Input",label:"\u539F\u59CB\u5BC6\u7801",colProps:{span:20},required:!0},{field:"password",component:"Input",label:"\u65B0\u5BC6\u7801",colProps:{span:20},required:!0},{field:"password_confirm",component:"Input",label:"\u786E\u8BA4\u5BC6\u7801",colProps:{span:20},required:!0}],{createMessage:r}=N(),{success:o,error:s}=r;return{formElRef:w,handleSubmit:()=>g(this,null,function*(){try{const e=w.value;if(!e)return;const n=yield e.validate();if(n.password!=n.password_confirm){s("\u4E24\u6B21\u5BC6\u7801\u8F93\u5165\u4E0D\u4E00\u81F4");return}yield k(n),o("\u64CD\u4F5C\u6210\u529F")}catch(e){console.log(e)}}),schemas:a}}}),U={class:"mt-3"},V=q(" \u66F4\u65B0\u5BC6\u7801 ");function J(a,r,o,s,c,e){const n=P("BasicForm"),t=P("Button");return M(),A("div",U,[u(n,{schemas:a.schemas,ref:"formElRef",labelWidth:75,showActionButtonGroup:!1},null,8,["schemas"]),u(t,{type:"primary",onClick:a.handleSubmit},{default:j(()=>[V]),_:1},8,["onClick"])])}var pt=D($,[["render",J]]);export{pt as default};
|
|
1
src/plugin/admin/public/assets/SecureSetting.8a70fb1f.js
Normal file
1
src/plugin/admin/public/assets/SecureSetting.8a70fb1f.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var w=(e,r,o)=>new Promise((s,c)=>{var a=i=>{try{t(o.next(i))}catch(p){c(p)}},n=i=>{try{t(o.throw(i))}catch(p){c(p)}},t=i=>i.done?s(i.value):Promise.resolve(i.value).then(a,n);t((o=o.apply(e,r)).next())});import{B as S}from"./BasicForm.82e222ab.js";import{a as C,U as x,K as f,bb as m,j as l,aa as d,f as I,aJ as D,r as G,I as P,cp as A,aL as b,o as E,h as $,p as j,q as k,eW as q,x as N}from"./index.f8bcf808.js";import{C as u}from"./index.4119ca00.js";import"./index.e344e4ac.js";import"./index.0e7d1863.js";import"./index.14ba2351.js";import"./_baseIteratee.f49fbaac.js";import"./index.91cad2d2.js";import"./index.d82b2be8.js";import"./index.8cf0b441.js";import"./index.05080ca7.js";import"./index.b5bef3a7.js";import"./index.293b5840.js";import"./index.26a767f7.js";import"./index.a4e346ff.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";import"./uniqBy.0ae55b98.js";import"./download.b66616ed.js";import"./index.f2e779e6.js";var R=function(){return{prefixCls:String,title:d.any,description:d.any,avatar:d.any}},v=C({compatConfig:{MODE:3},name:"ACardMeta",props:R(),slots:["title","description","avatar"],setup:function(r,o){var s=o.slots,c=x("card",r),a=c.prefixCls;return function(){var n=f({},"".concat(a.value,"-meta"),!0),t=m(s,r,"avatar"),i=m(s,r,"title"),p=m(s,r,"description"),y=t?l("div",{class:"".concat(a.value,"-meta-avatar")},[t]):null,g=i?l("div",{class:"".concat(a.value,"-meta-title")},[i]):null,h=p?l("div",{class:"".concat(a.value,"-meta-description")},[p]):null,M=g||h?l("div",{class:"".concat(a.value,"-meta-detail")},[g,h]):null;return l("div",{class:n},[y,M])}}}),T=function(){return{prefixCls:String,hoverable:{type:Boolean,default:!0}}},_=C({compatConfig:{MODE:3},name:"ACardGrid",__ANT_CARD_GRID:!0,props:T(),setup:function(r,o){var s=o.slots,c=x("card",r),a=c.prefixCls,n=I(function(){var t;return t={},f(t,"".concat(a.value,"-grid"),!0),f(t,"".concat(a.value,"-grid-hoverable"),r.hoverable),t});return function(){var t;return l("div",{class:n.value},[(t=s.default)===null||t===void 0?void 0:t.call(s)])}}});u.Meta=v;u.Grid=_;u.install=function(e){return e.component(u.name,u),e.component(v.name,v),e.component(_.name,_),e};const B=G(null),F=C({components:{BasicForm:S,[P.name]:P,Button:A,Card:u},emits:["reload","register"],setup(){const e=[{field:"old_password",component:"Input",label:"original password",colProps:{span:20},required:!0},{field:"password",component:"Input",label:"new password",colProps:{span:20},required:!0},{field:"password_confirm",component:"Input",label:"Confirm Password",colProps:{span:20},required:!0}],{createMessage:r}=N(),{success:o,error:s}=r;return{formElRef:B,handleSubmit:()=>w(this,null,function*(){try{const a=B.value;if(!a)return;const n=yield a.validate();if(n.password!=n.password_confirm){s("Two times of password input are inconsistent");return}yield q(n),o("Successful operation")}catch(a){console.log(a)}}),schemas:e}}}),U={class:"mt-3"};function O(e,r,o,s,c,a){const n=b("BasicForm"),t=b("Button");return E(),$("div",U,[l(n,{schemas:e.schemas,ref:"formElRef",labelWidth:75,showActionButtonGroup:!1},null,8,["schemas"]),l(t,{type:"primary",onClick:e.handleSubmit},{default:j(()=>[k(" Update Password ")]),_:1},8,["onClick"])])}var pt=D(F,[["render",O]]);export{pt as default};
|
@ -1 +1 @@
|
|||||||
import{aG as i,a as l,aN as r,b as p,f as m,aI as d,o as c,h as u,i as f,t as g,j as _,b5 as b,n as v}from"./index.6cd5baf8.js";import{b as y}from"./index.bf5c6ac7.js";import"./index.e158fb66.js";import"./FullscreenOutlined.5e472b7c.js";import"./index.be2d23ab.js";import"./useWindowSizeFn.b111f681.js";import"./useContentViewHeight.8b78d050.js";import"./uniqBy.7ebdfad5.js";import"./_baseIteratee.4c0536c1.js";import"./index.e2af6e9e.js";import"./RedoOutlined.e3536f96.js";import"./lock.5d844c3d.js";import"./ArrowLeftOutlined.83dc660b.js";import"./index.e9e97d48.js";const C=l({name:"SelectItem",components:{Select:r},props:{event:{type:Number},disabled:{type:Boolean},title:{type:String},def:{type:[String,Number]},initValue:{type:[String,Number]},options:{type:Array,default:()=>[]}},setup(e){const{prefixCls:t}=p("setting-select-item"),a=m(()=>e.def?{value:e.def,defaultValue:e.initValue||e.def}:{});function n(s){e.event&&y(e.event,s)}return{prefixCls:t,handleChange:n,getBindValue:a}}});function S(e,t,a,n,s,h){const o=d("Select");return c(),u("div",{class:v(e.prefixCls)},[f("span",null,g(e.title),1),_(o,b(e.getBindValue,{class:`${e.prefixCls}-select`,onChange:e.handleChange,disabled:e.disabled,size:"small",options:e.options}),null,16,["class","onChange","disabled","options"])],2)}var q=i(C,[["render",S],["__scopeId","data-v-6707e46b"]]);export{q as default};
|
import{aJ as i,a as l,aQ as r,b as p,f as m,aL as d,o as c,h as u,i as f,t as g,j as _,b8 as b,n as v}from"./index.f8bcf808.js";import{b as y}from"./index.a200aa1f.js";import"./index.d3397da6.js";import"./FullscreenOutlined.f88b6f65.js";import"./index.ffdfd07f.js";import"./useWindowSizeFn.d2a0a89b.js";import"./useContentViewHeight.0d100a60.js";import"./uniqBy.0ae55b98.js";import"./_baseIteratee.f49fbaac.js";import"./index.e344e4ac.js";import"./RedoOutlined.ed3d1686.js";import"./lock.74a6de68.js";import"./ArrowLeftOutlined.73a6b26e.js";import"./index.91cad2d2.js";const C=l({name:"SelectItem",components:{Select:r},props:{event:{type:Number},disabled:{type:Boolean},title:{type:String},def:{type:[String,Number]},initValue:{type:[String,Number]},options:{type:Array,default:()=>[]}},setup(e){const{prefixCls:t}=p("setting-select-item"),a=m(()=>e.def?{value:e.def,defaultValue:e.initValue||e.def}:{});function n(s){e.event&&y(e.event,s)}return{prefixCls:t,handleChange:n,getBindValue:a}}});function S(e,t,a,n,s,h){const o=d("Select");return c(),u("div",{class:v(e.prefixCls)},[f("span",null,g(e.title),1),_(o,b(e.getBindValue,{class:`${e.prefixCls}-select`,onChange:e.handleChange,disabled:e.disabled,size:"small",options:e.options}),null,16,["class","onChange","disabled","options"])],2)}var P=i(C,[["render",S],["__scopeId","data-v-6707e46b"]]);export{P as default};
|
@ -0,0 +1 @@
|
|||||||
|
import{aJ as i,a as u,b as m,l as c,dq as p,dy as d,r as l,am as _,a7 as f,o as g,aM as v,p as S,i as B,n as I,k as M,j as x,bd as C,e$ as T}from"./index.f8bcf808.js";import U from"./Login.efc0eb8b.js";import"./LoginForm.6a9b5b9e.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./LoginFormTitle.4c1672da.js";import"./useLogin.7cc7f83b.js";import"./index.26a767f7.js";import"./index.f2e779e6.js";const k=u({__name:"SessionTimeoutLogin",setup(L){const{prefixCls:t}=m("st-login"),e=c(),n=p(),r=d(),o=l(0),a=()=>r.getProjectConfig.permissionMode===T.BACK;return _(()=>{var s;o.value=(s=e.getUserInfo)==null?void 0:s.userId,console.log("Mounted",e.getUserInfo)}),f(()=>{(o.value&&o.value!==e.getUserInfo.userId||a()&&n.getLastBuildMenuTime===0)&&document.location.reload()}),(s,y)=>(g(),v(C,null,{default:S(()=>[B("div",{class:I(M(t))},[x(U,{sessionTimeout:""})],2)]),_:1}))}});var z=i(k,[["__scopeId","data-v-d0423e8a"]]);export{z as default};
|
@ -0,0 +1 @@
|
|||||||
|
.vben-st-login[data-v-d0423e8a]{position:fixed;z-index:9999999;width:100%;height:100%;background:#fff}
|
@ -1 +0,0 @@
|
|||||||
import{aG as i,a as u,b as c,l as p,dp as m,dx as d,r as l,ak as _,a7 as f,eX as g,o as v,aJ as S,p as x,i as B,j as I,n as C,k as M,c0 as k}from"./index.6cd5baf8.js";import T from"./Login.ef20deeb.js";import"./LoginForm.f09b060f.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./LoginFormTitle.458d226e.js";import"./useLogin.f7a7c7c5.js";import"./index.63db07a3.js";import"./index.a4d3410c.js";const U=u({setup(L){const{prefixCls:t}=c("st-login"),e=p(),r=m(),a=d(),o=l(0),n=()=>a.getProjectConfig.permissionMode===g.BACK;return _(()=>{var s;o.value=(s=e.getUserInfo)==null?void 0:s.userId,console.log("Mounted",e.getUserInfo)}),f(()=>{(o.value&&o.value!==e.getUserInfo.userId||n()&&r.getLastBuildMenuTime===0)&&document.location.reload()}),(s,P)=>(v(),S(k,null,{default:x(()=>[B("div",{class:C(M(t))},[I(T,{sessionTimeout:""})],2)]),_:1}))}});var E=i(U,[["__scopeId","data-v-07eaddea"]]);export{E as default};
|
|
@ -1 +0,0 @@
|
|||||||
.vben-st-login[data-v-07eaddea]{position:fixed;z-index:9999999;width:100%;height:100%;background:#fff}
|
|
1
src/plugin/admin/public/assets/SettingFooter.aa654e59.js
Normal file
1
src/plugin/admin/public/assets/SettingFooter.aa654e59.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{aJ as k,a as h,dq as b,b as R,c as v,dF as O,l as M,dy as T,aL as c,o as A,h as B,j as o,p as i,q as d,t as u,n as F,fk as $,k as C,dQ as m,f8 as j,f9 as x,x as N}from"./index.f8bcf808.js";import{C as P}from"./CopyOutlined.b31829d4.js";import{R as q}from"./RedoOutlined.ed3d1686.js";const w=h({name:"SettingFooter",components:{CopyOutlined:P,RedoOutlined:q},setup(){const e=b(),{prefixCls:p}=R("setting-footer"),{t:s}=v(),{createSuccessModal:f,createMessage:r}=N(),g=O(),l=M(),t=T();function a(){const{isSuccessRef:n}=$(JSON.stringify(C(t.getProjectConfig),null,2));C(n)&&f({title:s("layout.setting.operatingTitle"),content:s("layout.setting.operatingContent")})}function y(){try{t.setProjectConfig(m);const{colorWeak:n,grayMode:_}=m;j(n),x(_),r.success(s("layout.setting.resetSuccess"))}catch(n){r.error(n)}}function S(){localStorage.clear(),t.resetAllState(),e.resetState(),g.resetState(),l.resetState(),location.reload()}return{prefixCls:p,t:s,handleCopy:a,handleResetSetting:y,handleClearAndRedo:S}}});function D(e,p,s,f,r,g){const l=c("CopyOutlined"),t=c("a-button"),a=c("RedoOutlined");return A(),B("div",{class:F(e.prefixCls)},[o(t,{type:"primary",block:"",onClick:e.handleCopy},{default:i(()=>[o(l,{class:"mr-2"}),d(" "+u(e.t("layout.setting.copyBtn")),1)]),_:1},8,["onClick"]),o(t,{color:"warning",block:"",onClick:e.handleResetSetting,class:"my-3"},{default:i(()=>[o(a,{class:"mr-2"}),d(" "+u(e.t("common.resetText")),1)]),_:1},8,["onClick"]),o(t,{color:"error",block:"",onClick:e.handleClearAndRedo},{default:i(()=>[o(a,{class:"mr-2"}),d(" "+u(e.t("layout.setting.clearBtn")),1)]),_:1},8,["onClick"])],2)}var W=k(w,[["render",D],["__scopeId","data-v-2d4de409"]]);export{W as default};
|
@ -1 +0,0 @@
|
|||||||
import{aG as k,a as h,dp as b,b as R,dE as v,l as O,dx as M,aI as c,o as T,h as x,j as o,p as i,q as d,t as u,n as A,c as B,fg as P,k as C,dP as m,f4 as $,f5 as j,x as F}from"./index.6cd5baf8.js";import{C as I}from"./CopyOutlined.16c771b8.js";import{R as N}from"./RedoOutlined.e3536f96.js";const w=h({name:"SettingFooter",components:{CopyOutlined:I,RedoOutlined:N},setup(){const e=b(),{prefixCls:p}=R("setting-footer"),{t:s}=B(),{createSuccessModal:g,createMessage:r}=F(),f=v(),l=O(),t=M();function a(){const{isSuccessRef:n}=P(JSON.stringify(C(t.getProjectConfig),null,2));C(n)&&g({title:s("layout.setting.operatingTitle"),content:s("layout.setting.operatingContent")})}function S(){try{t.setProjectConfig(m);const{colorWeak:n,grayMode:_}=m;$(n),j(_),r.success(s("layout.setting.resetSuccess"))}catch(n){r.error(n)}}function y(){localStorage.clear(),t.resetAllState(),e.resetState(),f.resetState(),l.resetState(),location.reload()}return{prefixCls:p,t:s,handleCopy:a,handleResetSetting:S,handleClearAndRedo:y}}});function D(e,p,s,g,r,f){const l=c("CopyOutlined"),t=c("a-button"),a=c("RedoOutlined");return T(),x("div",{class:A(e.prefixCls)},[o(t,{type:"primary",block:"",onClick:e.handleCopy},{default:i(()=>[o(l,{class:"mr-2"}),d(" "+u(e.t("layout.setting.copyBtn")),1)]),_:1},8,["onClick"]),o(t,{color:"warning",block:"",onClick:e.handleResetSetting,class:"my-3"},{default:i(()=>[o(a,{class:"mr-2"}),d(" "+u(e.t("common.resetText")),1)]),_:1},8,["onClick"]),o(t,{color:"error",block:"",onClick:e.handleClearAndRedo},{default:i(()=>[o(a,{class:"mr-2"}),d(" "+u(e.t("layout.setting.clearBtn")),1)]),_:1},8,["onClick"])],2)}var W=k(w,[["render",D],["__scopeId","data-v-2d4de409"]]);export{W as default};
|
|
@ -1 +1 @@
|
|||||||
import{aG as r,a as d,fc as p,fd as u,aU as g,aI as n,o as t,h as c,aJ as l,dj as f}from"./index.6cd5baf8.js";const m=d({name:"SiderTrigger",components:{DoubleRightOutlined:p,DoubleLeftOutlined:u},setup(){const{getCollapsed:e,toggleCollapsed:o}=g();return{getCollapsed:e,toggleCollapsed:o}}});function C(e,o,_,b,k,D){const s=n("DoubleRightOutlined"),a=n("DoubleLeftOutlined");return t(),c("div",{onClick:o[0]||(o[0]=f((...i)=>e.toggleCollapsed&&e.toggleCollapsed(...i),["stop"]))},[e.getCollapsed?(t(),l(s,{key:0})):(t(),l(a,{key:1}))])}var h=r(m,[["render",C]]);export{h as default};
|
import{aJ as r,a as d,fg as p,fh as u,aX as g,aL as n,o as t,h as c,aM as l,dk as f}from"./index.f8bcf808.js";const m=d({name:"SiderTrigger",components:{DoubleRightOutlined:p,DoubleLeftOutlined:u},setup(){const{getCollapsed:e,toggleCollapsed:o}=g();return{getCollapsed:e,toggleCollapsed:o}}});function C(e,o,k,_,b,D){const s=n("DoubleRightOutlined"),a=n("DoubleLeftOutlined");return t(),c("div",{onClick:o[0]||(o[0]=f((...i)=>e.toggleCollapsed&&e.toggleCollapsed(...i),["stop"]))},[e.getCollapsed?(t(),l(s,{key:0})):(t(),l(a,{key:1}))])}var h=r(m,[["render",C]]);export{h as default};
|
1
src/plugin/admin/public/assets/Step1.677acc2e.js
Normal file
1
src/plugin/admin/public/assets/Step1.677acc2e.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var u=(r,i,e)=>new Promise((a,o)=>{var p=s=>{try{t(e.next(s))}catch(c){o(c)}},n=s=>{try{t(e.throw(s))}catch(c){o(c)}},t=s=>s.done?a(s.value):Promise.resolve(s.value).then(p,n);t((e=e.apply(r,i)).next())});import{B as v}from"./BasicForm.82e222ab.js";import{u as B}from"./useForm.15b4451f.js";import{step1Schemas as x}from"./data.e4fde56b.js";import{a as h,aQ as _,I as m,aJ as g,aL as d,o as F,h as O,i as S,j as l}from"./index.f8bcf808.js";import{D as f}from"./index.91cad2d2.js";import{i as b}from"./install.d6a0e215.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./index.d82b2be8.js";import"./index.8cf0b441.js";import"./index.05080ca7.js";import"./index.b5bef3a7.js";import"./index.293b5840.js";import"./index.26a767f7.js";import"./index.a4e346ff.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";import"./uniqBy.0ae55b98.js";import"./download.b66616ed.js";import"./index.f2e779e6.js";const y=h({components:{BasicForm:v,[_.name]:_,ASelectOption:_.Option,[m.name]:m,[m.Group.name]:m.Group,[f.name]:f},emits:["next"],setup(r,{emit:i}){const[e,{validate:a,setProps:o}]=B({labelWidth:100,schemas:x,actionColOptions:{span:14},resetButtonOptions:{text:"Skip this step"},submitButtonOptions:{text:"Next step"},resetFunc:p,submitFunc:n});function p(){return u(this,null,function*(){i("next")})}function n(){return u(this,null,function*(){try{const t=yield a();o({submitButtonOptions:{loading:!0}}),setTimeout(()=>{o({submitButtonOptions:{loading:!1}})},3e3),yield b(t),o({submitButtonOptions:{loading:!1}}),i("next",t)}catch(t){}})}return{register:e}}}),N={class:"step1"},$={class:"step1-form"};function k(r,i,e,a,o,p){const n=d("BasicForm"),t=d("a-divider");return F(),O("div",N,[S("div",$,[l(n,{onRegister:r.register},null,8,["onRegister"])]),l(t)])}var X=g(y,[["render",k],["__scopeId","data-v-7c5dc755"]]);export{X as default};
|
1
src/plugin/admin/public/assets/Step1.6eb36a8d.css
Normal file
1
src/plugin/admin/public/assets/Step1.6eb36a8d.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
.step1-form[data-v-7c5dc755]{width:450px;margin:0 auto}.step1 h3[data-v-7c5dc755]{margin:0 0 12px;font-size:16px;line-height:32px;color:#000000d9}.step1 h4[data-v-7c5dc755]{margin:0 0 4px;font-size:14px;line-height:22px;color:#000000d9}.step1 p[data-v-7c5dc755]{color:#000000d9}.pay-select[data-v-7c5dc755]{width:20%}.pay-input[data-v-7c5dc755]{width:70%}
|
@ -1 +0,0 @@
|
|||||||
var u=(r,i,o)=>new Promise((a,e)=>{var p=s=>{try{t(o.next(s))}catch(c){e(c)}},n=s=>{try{t(o.throw(s))}catch(c){e(c)}},t=s=>s.done?a(s.value):Promise.resolve(s.value).then(p,n);t((o=o.apply(r,i)).next())});import{B}from"./BasicForm.98897bf6.js";import{u as v}from"./useForm.35bc34f9.js";import{step1Schemas as F}from"./data.296feacd.js";import{a as x,aN as _,I as m,aG as g,aI as d,o as h,h as O,i as b,j as l}from"./index.6cd5baf8.js";import{D as f}from"./index.e9e97d48.js";import{i as S}from"./install.8e026aa5.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./index.bd69fa8a.js";import"./index.58f2ee69.js";import"./index.45440705.js";import"./index.7717c432.js";import"./index.b5298110.js";import"./index.63db07a3.js";import"./index.9b423250.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";import"./uniqBy.7ebdfad5.js";import"./download.8885bb3e.js";import"./index.a4d3410c.js";const y=x({components:{BasicForm:B,[_.name]:_,ASelectOption:_.Option,[m.name]:m,[m.Group.name]:m.Group,[f.name]:f},emits:["next"],setup(r,{emit:i}){const[o,{validate:a,setProps:e}]=v({labelWidth:100,schemas:F,actionColOptions:{span:14},resetButtonOptions:{text:"\u8DF3\u8FC7\u6B64\u6B65\u9AA4"},submitButtonOptions:{text:"\u4E0B\u4E00\u6B65"},resetFunc:p,submitFunc:n});function p(){return u(this,null,function*(){i("next")})}function n(){return u(this,null,function*(){try{const t=yield a();e({submitButtonOptions:{loading:!0}}),setTimeout(()=>{e({submitButtonOptions:{loading:!1}})},3e3),yield S(t),e({submitButtonOptions:{loading:!1}}),i("next",t)}catch(t){}})}return{register:o}}}),C={class:"step1"},I={class:"step1-form"};function N(r,i,o,a,e,p){const n=d("BasicForm"),t=d("a-divider");return h(),O("div",C,[b("div",I,[l(n,{onRegister:r.register},null,8,["onRegister"])]),l(t)])}var X=g(y,[["render",N],["__scopeId","data-v-79c02788"]]);export{X as default};
|
|
@ -1 +0,0 @@
|
|||||||
.step1-form[data-v-79c02788]{width:450px;margin:0 auto}.step1 h3[data-v-79c02788]{margin:0 0 12px;font-size:16px;line-height:32px;color:#000000d9}.step1 h4[data-v-79c02788]{margin:0 0 4px;font-size:14px;line-height:22px;color:#000000d9}.step1 p[data-v-79c02788]{color:#000000d9}.pay-select[data-v-79c02788]{width:20%}.pay-input[data-v-79c02788]{width:70%}
|
|
1
src/plugin/admin/public/assets/Step2.048a76ff.js
Normal file
1
src/plugin/admin/public/assets/Step2.048a76ff.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
var u=(i,r,t)=>new Promise((n,a)=>{var m=o=>{try{e(t.next(o))}catch(c){a(c)}},s=o=>{try{e(t.throw(o))}catch(c){a(c)}},e=o=>o.done?n(o.value):Promise.resolve(o.value).then(m,s);e((t=t.apply(i,r)).next())});import{B as f,A as _}from"./BasicForm.82e222ab.js";import{u as d}from"./useForm.15b4451f.js";import{step2Schemas as v}from"./data.e4fde56b.js";import{a as B,aJ as F,aL as h,o as x,h as b,j as g}from"./index.f8bcf808.js";import{D as l}from"./index.91cad2d2.js";import{D as p}from"./index.ab645555.js";import{a as y}from"./install.d6a0e215.js";import"./index.14ba2351.js";import"./index.0e7d1863.js";import"./_baseIteratee.f49fbaac.js";import"./index.d82b2be8.js";import"./index.8cf0b441.js";import"./index.05080ca7.js";import"./index.b5bef3a7.js";import"./index.293b5840.js";import"./index.26a767f7.js";import"./index.a4e346ff.js";import"./useWindowSizeFn.d2a0a89b.js";import"./FullscreenOutlined.f88b6f65.js";import"./uniqBy.0ae55b98.js";import"./download.b66616ed.js";import"./index.f2e779e6.js";const S=B({components:{BasicForm:f,[_.name]:_,[l.name]:l,[p.name]:p,[p.Item.name]:p.Item},emits:["next","prev"],setup(i,{emit:r}){const[t,{validate:n,setProps:a}]=d({labelWidth:80,schemas:v,actionColOptions:{span:14},resetButtonOptions:{text:"Previous"},submitButtonOptions:{text:"submit"},resetFunc:m,submitFunc:s});function m(){return u(this,null,function*(){r("prev")})}function s(){return u(this,null,function*(){try{const e=yield n();yield y(e),r("next",e)}catch(e){}})}return{register:t}}}),D={class:"step2"};function $(i,r,t,n,a,m){const s=h("BasicForm");return x(),b("div",D,[g(s,{onRegister:i.register},null,8,["onRegister"])])}var U=F(S,[["render",$],["__scopeId","data-v-bfcd5f3e"]]);export{U as default};
|
1
src/plugin/admin/public/assets/Step2.18473316.css
Normal file
1
src/plugin/admin/public/assets/Step2.18473316.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
.step2[data-v-bfcd5f3e]{width:450px;margin:0 auto}
|
@ -1 +0,0 @@
|
|||||||
var u=(a,r,t)=>new Promise((i,n)=>{var m=o=>{try{e(t.next(o))}catch(c){n(c)}},s=o=>{try{e(t.throw(o))}catch(c){n(c)}},e=o=>o.done?i(o.value):Promise.resolve(o.value).then(m,s);e((t=t.apply(a,r)).next())});import{B as d,A as _}from"./BasicForm.98897bf6.js";import{u as f}from"./useForm.35bc34f9.js";import{step2Schemas as v}from"./data.296feacd.js";import{a as B,aG as F,aI as h,o as x,h as b,j as g}from"./index.6cd5baf8.js";import{D as l}from"./index.e9e97d48.js";import{D as p}from"./index.7fd4a8e8.js";import{a as y}from"./install.8e026aa5.js";import"./index.52ee3ac2.js";import"./index.c21d4698.js";import"./_baseIteratee.4c0536c1.js";import"./index.bd69fa8a.js";import"./index.58f2ee69.js";import"./index.45440705.js";import"./index.7717c432.js";import"./index.b5298110.js";import"./index.63db07a3.js";import"./index.9b423250.js";import"./useWindowSizeFn.b111f681.js";import"./FullscreenOutlined.5e472b7c.js";import"./uniqBy.7ebdfad5.js";import"./download.8885bb3e.js";import"./index.a4d3410c.js";const D=B({components:{BasicForm:d,[_.name]:_,[l.name]:l,[p.name]:p,[p.Item.name]:p.Item},emits:["next","prev"],setup(a,{emit:r}){const[t,{validate:i,setProps:n}]=f({labelWidth:80,schemas:v,actionColOptions:{span:14},resetButtonOptions:{text:"\u4E0A\u4E00\u6B65"},submitButtonOptions:{text:"\u63D0\u4EA4"},resetFunc:m,submitFunc:s});function m(){return u(this,null,function*(){r("prev")})}function s(){return u(this,null,function*(){try{const e=yield i();yield y(e),r("next",e)}catch(e){}})}return{register:t}}}),S={class:"step2"};function A(a,r,t,i,n,m){const s=h("BasicForm");return x(),b("div",S,[g(s,{onRegister:a.register},null,8,["onRegister"])])}var U=F(D,[["render",A],["__scopeId","data-v-7c9b57a6"]]);export{U as default};
|
|
@ -1 +0,0 @@
|
|||||||
.step2[data-v-7c9b57a6]{width:450px;margin:0 auto}
|
|
1
src/plugin/admin/public/assets/Step3.083eeda9.css
Normal file
1
src/plugin/admin/public/assets/Step3.083eeda9.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
.step3[data-v-4c39b6cf]{width:600px;margin:0 auto}.desc-wrap[data-v-4c39b6cf]{padding:24px 40px;margin-top:24px;background-color:#fafafa}
|
1
src/plugin/admin/public/assets/Step3.2f6e235b.js
Normal file
1
src/plugin/admin/public/assets/Step3.2f6e235b.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{a as p,aJ as m,aL as o,o as u,h as d,j as a,p as s,q as i}from"./index.f8bcf808.js";import{R as n}from"./index.8c3ed169.js";import{D as e}from"./index.ab645555.js";const f=p({components:{[n.name]:n,[e.name]:e,[e.Item.name]:e.Item},emits:["redo"],setup(r,{emit:t}){return{redo:()=>{t("redo")}}}}),l={class:"step3"};function h(r,t,v,x,b,k){const c=o("a-button"),_=o("a-result");return u(),d("div",l,[a(_,{status:"success",title:"The operation is successful, you need to restart webman to take effect"},{extra:s(()=>[a(c,{href:"/app/admin/"},{default:s(()=>[i(" Enter the management background ")]),_:1})]),_:1})])}var C=m(f,[["render",h],["__scopeId","data-v-4c39b6cf"]]);export{C as default};
|
@ -1 +0,0 @@
|
|||||||
.step3[data-v-6592e222]{width:600px;margin:0 auto}.desc-wrap[data-v-6592e222]{padding:24px 40px;margin-top:24px;background-color:#fafafa}
|
|
@ -1 +0,0 @@
|
|||||||
import{a as c,aG as p,aI as o,o as m,h as d,j as s,p as a,q as i}from"./index.6cd5baf8.js";import{R as n}from"./index.d650224d.js";import{D as e}from"./index.7fd4a8e8.js";const l=c({components:{[n.name]:n,[e.name]:e,[e.Item.name]:e.Item},emits:["redo"],setup(u,{emit:t}){return{redo:()=>{t("redo")}}}}),f={class:"step3"},F=i(" \u8FDB\u5165\u7BA1\u7406\u540E\u53F0 ");function v(u,t,x,C,D,h){const r=o("a-button"),_=o("a-result");return m(),d("div",f,[s(_,{status:"success",title:"\u64CD\u4F5C\u6210\u529F\uFF0C\u9700\u8981\u91CD\u542Fwebman\u624D\u80FD\u751F\u6548"},{extra:a(()=>[s(r,{href:"/app/admin/"},{default:a(()=>[F]),_:1})]),_:1})])}var b=p(l,[["render",v],["__scopeId","data-v-6592e222"]]);export{b as default};
|
|
@ -1 +0,0 @@
|
|||||||
import{aG as r,a as d,b as l,f as p,aI as c,o as m,h,i as u,t as f,j as C,b5 as g,n as _,c as v}from"./index.6cd5baf8.js";import{S as b}from"./index.7717c432.js";import{b as y}from"./index.bf5c6ac7.js";import"./index.e158fb66.js";import"./FullscreenOutlined.5e472b7c.js";import"./index.be2d23ab.js";import"./useWindowSizeFn.b111f681.js";import"./useContentViewHeight.8b78d050.js";import"./uniqBy.7ebdfad5.js";import"./_baseIteratee.4c0536c1.js";import"./index.e2af6e9e.js";import"./RedoOutlined.e3536f96.js";import"./lock.5d844c3d.js";import"./ArrowLeftOutlined.83dc660b.js";import"./index.e9e97d48.js";const S=d({name:"SwitchItem",components:{Switch:b},props:{event:{type:Number},disabled:{type:Boolean},title:{type:String},def:{type:Boolean}},setup(e){const{prefixCls:t}=l("setting-switch-item"),{t:n}=v(),o=p(()=>e.def?{checked:e.def}:{});function a(i){e.event&&y(e.event,i)}return{prefixCls:t,t:n,handleChange:a,getBindValue:o}}});function k(e,t,n,o,a,i){const s=c("Switch");return m(),h("div",{class:_(e.prefixCls)},[u("span",null,f(e.title),1),C(s,g(e.getBindValue,{onChange:e.handleChange,disabled:e.disabled,checkedChildren:e.t("layout.setting.on"),unCheckedChildren:e.t("layout.setting.off")}),null,16,["onChange","disabled","checkedChildren","unCheckedChildren"])],2)}var F=r(S,[["render",k],["__scopeId","data-v-440e72fd"]]);export{F as default};
|
|
1
src/plugin/admin/public/assets/SwitchItem.60c6bbe7.js
Normal file
1
src/plugin/admin/public/assets/SwitchItem.60c6bbe7.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
import{aJ as r,a as d,b as l,c as p,f as c,aL as m,o as h,h as u,i as f,t as C,j as g,b8 as _,n as v}from"./index.f8bcf808.js";import{S as b}from"./index.b5bef3a7.js";import{b as y}from"./index.a200aa1f.js";import"./index.d3397da6.js";import"./FullscreenOutlined.f88b6f65.js";import"./index.ffdfd07f.js";import"./useWindowSizeFn.d2a0a89b.js";import"./useContentViewHeight.0d100a60.js";import"./uniqBy.0ae55b98.js";import"./_baseIteratee.f49fbaac.js";import"./index.e344e4ac.js";import"./RedoOutlined.ed3d1686.js";import"./lock.74a6de68.js";import"./ArrowLeftOutlined.73a6b26e.js";import"./index.91cad2d2.js";const S=d({name:"SwitchItem",components:{Switch:b},props:{event:{type:Number},disabled:{type:Boolean},title:{type:String},def:{type:Boolean}},setup(e){const{prefixCls:t}=l("setting-switch-item"),{t:n}=p(),o=c(()=>e.def?{checked:e.def}:{});function a(i){e.event&&y(e.event,i)}return{prefixCls:t,t:n,handleChange:a,getBindValue:o}}});function k(e,t,n,o,a,i){const s=m("Switch");return h(),u("div",{class:v(e.prefixCls)},[f("span",null,C(e.title),1),g(s,_(e.getBindValue,{onChange:e.handleChange,disabled:e.disabled,checkedChildren:e.t("layout.setting.on"),unCheckedChildren:e.t("layout.setting.off")}),null,16,["onChange","disabled","checkedChildren","unCheckedChildren"])],2)}var A=r(S,[["render",k],["__scopeId","data-v-440e72fd"]]);export{A as default};
|
@ -1 +1 @@
|
|||||||
import{aG as l,a as m,aD as c,b as d,aI as u,o as r,h as n,F as C,b2 as _,n as a,aW as f,j as k}from"./index.6cd5baf8.js";import{b as h}from"./index.bf5c6ac7.js";import"./index.e158fb66.js";import"./FullscreenOutlined.5e472b7c.js";import"./index.be2d23ab.js";import"./useWindowSizeFn.b111f681.js";import"./useContentViewHeight.8b78d050.js";import"./uniqBy.7ebdfad5.js";import"./_baseIteratee.4c0536c1.js";import"./index.e2af6e9e.js";import"./RedoOutlined.e3536f96.js";import"./lock.5d844c3d.js";import"./ArrowLeftOutlined.83dc660b.js";import"./index.e9e97d48.js";const v=m({name:"ThemeColorPicker",components:{CheckOutlined:c},props:{colorList:{type:Array,defualt:[]},event:{type:Number},def:{type:String}},setup(e){const{prefixCls:o}=d("setting-theme-picker");function i(s){e.event&&h(e.event,s)}return{prefixCls:o,handleClick:i}}}),y=["onClick"];function $(e,o,i,s,b,g){const p=u("CheckOutlined");return r(),n("div",{class:a(e.prefixCls)},[(r(!0),n(C,null,_(e.colorList||[],t=>(r(),n("span",{key:t,onClick:L=>e.handleClick(t),class:a([`${e.prefixCls}__item`,{[`${e.prefixCls}__item--active`]:e.def===t}]),style:f({background:t})},[k(p)],14,y))),128))],2)}var H=l(v,[["render",$]]);export{H as default};
|
import{aJ as l,a as m,aG as c,b as d,aL as u,o as r,h as n,F as C,b5 as _,n as a,aZ as f,j as k}from"./index.f8bcf808.js";import{b as h}from"./index.a200aa1f.js";import"./index.d3397da6.js";import"./FullscreenOutlined.f88b6f65.js";import"./index.ffdfd07f.js";import"./useWindowSizeFn.d2a0a89b.js";import"./useContentViewHeight.0d100a60.js";import"./uniqBy.0ae55b98.js";import"./_baseIteratee.f49fbaac.js";import"./index.e344e4ac.js";import"./RedoOutlined.ed3d1686.js";import"./lock.74a6de68.js";import"./ArrowLeftOutlined.73a6b26e.js";import"./index.91cad2d2.js";const v=m({name:"ThemeColorPicker",components:{CheckOutlined:c},props:{colorList:{type:Array,defualt:[]},event:{type:Number},def:{type:String}},setup(e){const{prefixCls:o}=d("setting-theme-picker");function i(s){e.event&&h(e.event,s)}return{prefixCls:o,handleClick:i}}}),y=["onClick"];function $(e,o,i,s,b,g){const p=u("CheckOutlined");return r(),n("div",{class:a(e.prefixCls)},[(r(!0),n(C,null,_(e.colorList||[],t=>(r(),n("span",{key:t,onClick:L=>e.handleClick(t),class:a([`${e.prefixCls}__item`,{[`${e.prefixCls}__item--active`]:e.def===t}]),style:f({background:t})},[k(p)],14,y))),128))],2)}var H=l(v,[["render",$]]);export{H as default};
|
@ -1 +1 @@
|
|||||||
import{aG as i,a as r,bV as l,b as c,aI as d,o as s,h as a,F as _,b2 as u,n as o,aJ as f,p as m,i as n,aL as y,aM as v}from"./index.6cd5baf8.js";const C=r({name:"MenuTypePicker",components:{Tooltip:l},props:{menuTypeList:{type:Array,defualt:()=>[]},handler:{type:Function,default:()=>({})},def:{type:String,default:""}},setup(){const{prefixCls:e}=c("setting-menu-type-picker");return{prefixCls:e}}}),h=e=>(y("data-v-119d0732"),e=e(),v(),e),k=["onClick"],$=h(()=>n("div",{class:"mix-sidebar"},null,-1)),T=[$];function b(e,g,I,x,B,L){const p=d("Tooltip");return s(),a("div",{class:o(e.prefixCls)},[(s(!0),a(_,null,u(e.menuTypeList||[],t=>(s(),f(p,{key:t.title,title:t.title,placement:"bottom"},{default:m(()=>[n("div",{onClick:S=>e.handler(t),class:o([`${e.prefixCls}__item`,`${e.prefixCls}__item--${t.type}`,{[`${e.prefixCls}__item--active`]:e.def===t.type}])},T,10,k)]),_:2},1032,["title"]))),128))],2)}var P=i(C,[["render",b],["__scopeId","data-v-119d0732"]]);export{P as default};
|
import{aJ as i,a as r,bX as l,b as c,aL as d,o as s,h as a,F as _,b5 as u,aM as f,p as m,i as n,n as o,aO as y,aP as v}from"./index.f8bcf808.js";const C=r({name:"MenuTypePicker",components:{Tooltip:l},props:{menuTypeList:{type:Array,defualt:()=>[]},handler:{type:Function,default:()=>({})},def:{type:String,default:""}},setup(){const{prefixCls:e}=c("setting-menu-type-picker");return{prefixCls:e}}}),h=e=>(y("data-v-119d0732"),e=e(),v(),e),k=["onClick"],$=h(()=>n("div",{class:"mix-sidebar"},null,-1)),T=[$];function b(e,g,x,B,I,L){const p=d("Tooltip");return s(),a("div",{class:o(e.prefixCls)},[(s(!0),a(_,null,u(e.menuTypeList||[],t=>(s(),f(p,{key:t.title,title:t.title,placement:"bottom"},{default:m(()=>[n("div",{onClick:P=>e.handler(t),class:o([`${e.prefixCls}__item`,`${e.prefixCls}__item--${t.type}`,{[`${e.prefixCls}__item--active`]:e.def===t.type}])},T,10,k)]),_:2},1032,["title"]))),128))],2)}var F=i(C,[["render",b],["__scopeId","data-v-119d0732"]]);export{F as default};
|
@ -1 +0,0 @@
|
|||||||
.context-menu{position:fixed;top:0;left:0;z-index:200;display:block;width:156px;margin:0;list-style:none;background-color:#fff;border:1px solid rgba(0,0,0,.08);border-radius:.25rem;box-shadow:0 2px 2px #00000024,0 3px 1px -2px #0000001a,0 1px 5px #0000000f;background-clip:padding-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.context-menu__item{margin:0!important}.context-menu li{display:inline-block;width:100%;height:42px!important;margin:0!important;line-height:42px!important}.context-menu li span{line-height:42px!important}.context-menu li>div{margin:0!important}.context-menu li:not(.ant-menu-item-disabled):hover{color:#000000d9;background-color:#f5f5f5}.context-menu .ant-divider,.context-menu__popup .ant-divider{margin:0}.context-menu__popup li{display:inline-block;width:100%;height:42px!important;margin:0!important;line-height:42px!important}.context-menu__popup li span{line-height:42px!important}.context-menu__popup li>div{margin:0!important}.context-menu__popup li:not(.ant-menu-item-disabled):hover{color:#000000d9;background-color:#f5f5f5}.context-menu .ant-menu-submenu-title,.context-menu .ant-menu-item{padding:0!important}.vben-tree{background-color:#fff}.vben-tree .ant-tree-node-content-wrapper{position:relative}.vben-tree .ant-tree-node-content-wrapper .ant-tree-title{position:absolute;left:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vben-tree__title{position:relative;display:flex;align-items:center;width:100%;padding-right:10px}.vben-tree__title:hover .vben-tree__action{visibility:visible}.vben-tree__content{overflow:hidden}.vben-tree__actions{position:absolute;right:3px;display:flex}.vben-tree__action{margin-left:4px;visibility:hidden}.vben-tree-header{border-bottom:1px solid #d9d9d9}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user