2.3 KiB
2.3 KiB
3.11 常见问题与排错
后端问题
Q: 新增接口返回 401
A: 检查以下几点:
- 请求头是否携带
Authorization: Bearer <token> - Token 是否过期(默认 2 小时)
- 路由是否在
route/app.php的需认证组中
Q: 新增接口返回 403
A: 权限不足,检查:
- 是否在 Controller 方法上添加了
#[Permission]注解 - 权限码是否在菜单管理中配置
- 用户角色是否包含该权限节点
Q: 枚举显示名(typeText/statusText)为空
A: 检查:
- 字典表中是否存在对应的字典编码(如
example_type) - 字典项的 value 值是否与数据中的值匹配
- Logic 中
serializeMaps配置是否正确
// ExampleLogic 中的配置
/**
* 枚举显示名映射
*
* @var array
*/
protected array $serializeMaps = [
'type' => 'example_type',
'status' => 'example_status',
];
Q: 文件上传后 avatar 路径为空
A: 检查:
.env中FILE.UPLOAD_DIR是否配置- 上传目录是否存在且有写入权限
- Logic 中是否配置了
fileFields
// ExampleLogic 中的配置
protected array $fileFields = ['avatar'];
protected string $fileSaveDir = 'example';
Q: 排序不生效
A: 检查 Logic 中 pageOrderBy 配置:
// ExampleLogic 中的配置
protected array $pageOrderBy = ['field' => 'sort', 'type' => 'asc'];
前端可通过 orderField 和 orderType 参数覆盖默认排序。
前端问题
Q: 菜单不显示
A: 检查:
- 后端菜单管理中是否添加了对应菜单
- 菜单的组件路径是否正确(如
tool/example/index) - 前端
views目录下是否有对应的.vue文件 - 用户角色是否包含该菜单权限
Q: API 请求 404
A: 检查:
route/app.php中是否注册了对应路由- 路由路径是否与前端 API 模块中的
url一致 - HTTP 方法是否正确(GET/POST/PUT/DELETE)
Q: 表格数据不显示
A: 检查:
- API 返回的数据结构是否正确(应包含
records和total) - 前端是否正确绑定了
tableData - 浏览器控制台是否有报错
Q: 导入失败
A: 检查:
- 文件格式是否为
.xls或.xlsx - 表头是否与
headerMap中定义的中文名一致 - 枚举字段的值是否在字典中存在