ELADMIN 在线文档 ELADMIN 在线文档
  • 快速开始
  • 后端手册
  • 前端手册
  • 部署项目
常见问题
更新日志
支持项目
VPS推荐
在线体验 (opens new window)
  • 快速开始
  • 后端手册
  • 前端手册
  • 部署项目
常见问题
更新日志
支持项目
VPS推荐
在线体验 (opens new window)
帮瓦工 🌈 无需备案,境外服务器推荐
  • 常见问题
    • 退出登录后换账号登录404
    • Swagger接口文档打开404
    • 启动报Mapper找不到
    • 关于如何获取当前登录的用户
    • 关于项目如何使用 MyBatis-Plus
    • 关于系统如何放行部分接口
    • 关于新增字段后出现的问题
    • 新建模块后访问接口 404
    • 修改包名后出现登录失败问题,或者其他问题
    • Node.js 版本问题,如果你的 node 版本过高,可能会导致项目启动失败
    • 关于新增部门后数据不显示的问题
    • 部署到线上,首次打开页面缓慢的问题
    • 第三方系统(微信小程序)获取 Token 的方式
    • 关于如何使用`https`部署
    • Vue npm install 失败
    • 如何反馈项目 Bug

常见问题

  • 退出登录后换账号登录404
  • Swagger接口文档打开404
  • 启动报Mapper找不到
  • 关于如何获取当前登录的用户
  • 关于项目如何使用 MyBatis-Plus
  • 关于系统如何放行部分接口
  • 关于新增字段后出现的问题
  • 新建模块后访问接口 404
  • 修改包名后出现登录失败问题,或者其他问题
  • Node.js 版本问题,如果你的 node 版本过高,可能会导致项目启动失败
  • 关于新增部门后数据不显示的问题
  • 部署到线上,首次打开页面缓慢的问题
  • 第三方系统(微信小程序)获取 Token 的方式
  • 关于如何使用`https`部署
  • Vue npm install 失败
  • 如何反馈项目 Bug

# 退出登录后换账号登录404

有用户 A、B

A - 拥有角色管理页面权限

B - 未拥有角色管理页面权限

A - 退出登录,切换 B 账号登录

B - 登录,会重定向到A退出前的页面,由于B没有角色管理页面权限,所以登录会 404

# Swagger接口文档打开404

采用了knife4j, 故需要改变请求路径

// swaggerApi: baseUrl + '/swagger-ui.html',
swaggerApi: baseUrl + '/doc.html',
1
2

# 启动报Mapper找不到

因为项目使用了 mapStruct,在第一次启动的时候并没有生成 mapStruct 的实现类,因此才会出现类型下面的错误。使用命令 mvn compile 生成它的实现类即可

Description:

Field userMapper in me.zhengjie.modules.system.service.impl.UserServiceImpl required a bean of type 'me.zhengjie.modules.system.service.mapper.UserMapper' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Qualifier(value=jwtUserDetailsService)

Action:

Consider defining a bean of type 'me.zhengjie.modules.system.service.mapper.UserMapper' in your configuration.
1
2
3
4
5
6
7
8
9
10

生成的实现类如下图

image477c529cdc640f06.jpg

# 关于如何获取当前登录的用户

可以使用工具 SecurityUtils 获取当前用户

# 关于项目如何使用 MyBatis-Plus

已发布基于 Mybatis-Plus 的版本,点我查看

Jpa和 Mybatis 是可以共存的,只需要将mybatis整合进去,原有的代码不动,新的业务使用mybatis即可。

# 关于系统如何放行部分接口

匿名访问接口 (opens new window)

# 关于新增字段后出现的问题

新增字段后容易出现 数据库中有数据,列表显示没有数据 这种错误,出现的原因可能是

1、数据返回使用的是DTO,但是相应的DTO中没有这个字段

2、DTO存在这个字段,但是 mapStruct 的实现类没更新

3、新增字段后,redis中的数据并没有更新导致的

对于这种问题,第一步:使用命令 mvn compile 更新mapStruct 的实现类,第二步:清空相应的缓存即可https://docsify.js.org/#/zh-cn/)

# 新建模块后访问接口 404

请检查你新建的模块包名是不是 me.zhengjie

如果不是,那么需要在 system 模块中的 AppRun 中配置注解

// com.demo.* 改为你自己定义的包名
@ComponentScan(basePackages ={"me.zhengjie","com.xxxxxxx"})
@EnableJpaRepositories({"com.xxxxxxx.**.repository","me.zhengjie.**.repository"})
@EntityScan({"com.xxxxxxx.*","me.zhengjie.*"})
1
2
3
4

# 修改包名后出现登录失败问题,或者其他问题

修改包名后,需要在 RedisConfiguration 配置类中修改序列化白名单,将你需要序列化的类的包名加入进去

# Node.js 版本问题,如果你的 node 版本过高,可能会导致项目启动失败

解决方案:

  1. 使用 nvm 切换 node 版本,推荐使用 12.x-16.x 版本
  2. 可以在 package.json 的 scripts 中设置 NODE_OPTIONS=--openssl-legacy-provider 解决 Node.js 与 OpenSSL 之间的兼容性问题

# 关于新增部门后数据不显示的问题

2.6 版本中的超级管理员角色的数据权限设置的是自定义,修改为全部即可

# 部署到线上,首次打开页面缓慢的问题

首先是服务器的带宽太低,因此打开缓慢,优化方案可以使用 Nginx 的 Gzip 压缩 js

教程地址:https://izlzl.com/archives/1260.html (opens new window)

# 第三方系统(微信小程序)获取 Token 的方式

使用如下代码即可, Issues地址:https://github.com/elunez/eladmin/issues/585 (opens new window)

UserDetails userDetails = userDetailsService.loadUserByUsername(userInfo.getUsername());
Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication);
String token = tokenProvider.createToken(authentication);
1
2
3
4

# 关于如何使用https部署

群文件有 https的ngnix配置文件,可供参考,百度 (opens new window) 上也有很多教程的

# Vue npm install 失败

可能得原因是网络问题,使用解决 npm config set registry https://registry.npmmirror.com/

或者是因为 nodejs 版本过高,推荐使用 nodejs 12 - 16 版本

# 如何反馈项目 Bug

可在 Issues (opens new window) 中留言,或者加群891137268、947578238、659622532进行反馈

帮助我们改善此页面! (opens new window)
上次更新: 2025/02/08, 06:07:56
Theme by Vdoing | Copyright © 2018-2025 知了小站
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
帮瓦工