# 系统注解
# 身份验证注解
# 用户必须登录后才可以访问某个接口
使用范围
- Class 使用在类上面,对该类的所有方法有效
- Method 使用方法上面只对该方法有效
/**
* @Auth
*/
class UserController extends MineController
{
// ...
}
OR
class FooController extends MineController
{
/**
* @Auth
*/
public function index()
{
// ...
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 权限验证注解
# 只允许有某接口权限的用户访问 (会附带对身份验证)
使用范围
- Method 只对方法有效
参数说明
- 要验证的权限标识代码,可在
菜单管理
查询菜单的权限标识代码(支持验证多个权限v0.5.4+
) - 验证条件:AND 和 OR
v0.5.4+
使用方法
- @Permission("菜单代码")
class UserController extends MineController
{
/**
* 验证一个权限,通过即可访问
* @Permission("system:user:index")
*/
public function index(): ResponseInterface
{
//...
}
/**
* 验证多个权限,全部通过才可访问
* @Permission("system:user:save,system:user:update", "AND")
*/
public function save(): ResponseInterface
{
//...
}
/**
* 验证多个权限,其中一个通过即可访问
* @Permission("system:user:index,system:user:read", "OR")
*/
public function read(): ResponseInterface
{
//...
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 角色验证注解 v0.6.1+
# 只允许有某角色的用户访问 (会附带对身份验证)
使用范围
- Method 只对方法有效
参数说明
- 要验证的角色标识代码,可在
角色管理
查询角色的标识代码(支持验证多个权限) - 验证条件:AND 和 OR
使用方法
- @Role("角色代码")
class UserController extends MineController
{
/**
* 验证拥有superAdmin角色才可访问
* @Role("superAdmin")
*/
public function index(): ResponseInterface
{
//...
}
/**
* 验证多个角色,全部通过才可访问
* @Role("CEO,CTO", "AND")
*/
public function save(): ResponseInterface
{
//...
}
/**
* 验证多个角色,其中一个通过就可访问
* @Role("CEO,COO", "OR")
*/
public function read(): ResponseInterface
{
//...
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 操作日志注解
# 使用后会记录用户在后台请求某接口的参数、返回值、用户信息等
使用范围
- Method 只对方法有效 未传值情况下,请配合
@Permission
注解一起使用
参数说明 0.4.1版本新增
- 要记录的菜单名称
使用方法
- @OperationLog
- @OperationLog("用户更新")
0.4.1版本新增
class UserController extends MineController
{
/**
* 新增用户
* @PostMapping("save")
* @Permission("system:user:save")
* @OperationLog
*/
public function save(): ResponseInterface
{
//...
}
/**
* 获取用户列表
* @GetMapping("list")
* @OperationLog("用户列表")
*/
public function list(): ResponseInterface
{
//...
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 数据库事务注解
# 使用后会自动启动事务、提交。执行失败自动回滚。
使用范围
- Method 只对方法有效
使用方法
- @Transaction
/**
* @Transaction
*/
public function save(): ResponseInterface
{
//...
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 防止重复提交注解
# 对接口使用后会在3秒内(默认值)禁止再次访问
使用范围
- Method 只对方法有效
参数说明
- 要禁止的秒数,默认值3秒
使用方法
- @Resubmit
- @Resubmit("10")
/**
* @Resubmit("5")
*/
public function save(): ResponseInterface
{
//...
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 清除缓存注解
# 主要用于更新、删除数据操作后,执行清除缓存操作,只需要指定缓存key即可 0.4.1版本新增
使用范围
- Method 只对方法有效
参数说明
- 要清除的缓存key,支持多个,每个key以逗号隔开;支持
通配符
清除缓存 - 通配符
*
例子:'loginInfo:*'
使用方法
- @DelteCache('crontab')
- @DelteCache("crontab,config:*")
/**
* 在更新完信息后,使用删除缓存注解,自动清除指定缓存
* @DelteCache("crontab,loginInfo:*")
*/
public function updateInfo(): ResponseInterface
{
//...
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Excel相关注解
# 注解服务用于 数据导出为Excel
和 Excel导入到数据库
# 定义Excel DTO类注解
- CLASS 只对类有效
- 使用方法 @ExcelData
# 定义Excel DTO类属性注解
- METHOD 只对方法有效
- 使用方法 @ExcelProperty(value="显示列名", index="显示、读取顺序")
- 参数说明
参数 | 说明 |
---|---|
value | 显示在excel第一行的列名称 |
index | 设置excel列的显示顺序,从0开始 |
以下功能为 0.6.2 版本新增 | 以下功能为 0.6.2 版本新增 |
width | 设置单元格的宽度 |
align | 设置单元格的对齐方式,有 left , center , right 可选,默认 left |
headColor | 设置表头 单元格字体颜色,十六进制,例如 00FF00 ,xlswriter只支持整行设置 |
headBgColor | 设置表头 单元格背景颜色,十六进制,例如 00FF00 ,xlswriter只支持整行设置 |
color | 设置表体 单元格字体颜色,十六进制,例如 00FF00 ,xlswriter只支持整行设置 |
bgClor | 设置表体 单元格背景颜色,十六进制,例如 00FF00 ,xlswriter只支持整行设置 |
<?php
namespace App\System\Dto;
use Mine\Interfaces\MineModelExcel;
use Mine\Annotation\ExcelData;
use Mine\Annotation\ExcelProperty;
/**
* 用户数据对象类
* @ExcelData
*/
class UserDto implements MineModelExcel
{
/**
* @ExcelProperty(value="用户名", index="0")
*/
public $username;
/**
* @ExcelProperty(value="昵称", index="1")
*/
public $nickname;
/**
* @ExcelProperty(value="手机", index="2")
*/
public $phone;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
← 🧩 命令介绍 🧸 系统事件(钩子) →