This commit is contained in:
技术老胡
2026-02-27 16:55:18 +08:00
parent f0079081a5
commit 282ff275f6
8 changed files with 111 additions and 1 deletions

View File

@@ -16,6 +16,10 @@ MPay V2 Webman 是一个采用 Webman 高性能 PHP 框架构建的支付系统
- **缓存**: Redis
- **认证**: JWT
## 图片展示
<img src="doc/img/1.png" width=640 />
<img src="doc/img/2.png" width=640 />
## 项目结构
```

View File

@@ -0,0 +1,19 @@
<?php
namespace app\repositories;
use app\common\base\BaseRepository;
use app\models\DictItem;
/**
* 字典项仓储
*/
class DictItemRepository extends BaseRepository
{
public function __construct()
{
parent::__construct(new DictItem());
}
}

View File

@@ -0,0 +1,54 @@
<?php
namespace app\repositories;
use app\common\base\BaseRepository;
use app\models\Menu;
/**
* 菜单 / 权限仓储
*/
class MenuRepository extends BaseRepository
{
public function __construct()
{
parent::__construct(new Menu());
}
/**
* 获取所有启用的菜单(仅目录和菜单类型,排除按钮)
*/
public function getAllEnabledMenus(): array
{
return $this->model
->newQuery()
->whereIn('type', [1, 2]) // 1目录 2菜单排除3按钮
->where('status', 1) // 只获取启用的菜单
->orderBy('sort', 'asc')
->orderBy('id', 'asc')
->get()
->toArray();
}
/**
* 根据菜单ID列表获取启用的菜单仅目录和菜单类型排除按钮
*/
public function getMenusByIds(array $menuIds): array
{
if (empty($menuIds)) {
return [];
}
return $this->model
->newQuery()
->whereIn('id', $menuIds)
->whereIn('type', [1, 2]) // 1目录 2菜单排除3按钮
->where('status', 1) // 只获取启用的菜单
->orderBy('sort', 'asc')
->orderBy('id', 'asc')
->get()
->toArray();
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace app\repositories;
use app\common\base\BaseRepository;
use app\models\Role;
/**
* 角色仓储
*/
class RoleRepository extends BaseRepository
{
public function __construct()
{
parent::__construct(new Role());
}
}

View File

@@ -1,6 +1,6 @@
<?php
use support\validation\ValidationException;
use app\exceptions\ValidationException;
return [
'enable' => true,

BIN
doc/img/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
doc/img/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

14
test.php Normal file
View File

@@ -0,0 +1,14 @@
<?php
/**
* 测试脚本
*/
// 加载自动加载文件和引导文件
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/support/bootstrap.php';
use app\services\SystemSettingService;
$systemSettingService = container_get(SystemSettingService::class);
$tabs = $systemSettingService->getTabs();
echo json_encode($tabs, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);