eladmin框架使用文档

一、准备

  1. 拉取原码

    后端:

    1
    2
    3
    4
    5
    # Github
    git clone https://github.com/elunez/eladmin

    # Gitee
    git clone https://gitee.com/elunez/eladmin

    前端

    1
    2
    3
    4
    5
    # Github
    git clone https://github.com/elunez/eladmin-web

    # Gitee
    gi t clone https://gitee.com/elunez/eladmin-web
  2. 创建数据库

    打开数据库,创建一个新库 eladmin 运行sql文件夹中的初始化脚本库脚本 eladmin.sql

    修改配置,如果你的数据库密码不是 123456,那么需要在 dev.yml 配置文件中做相应的修改

    添加远程连接(此步骤在创建数据库的时候完成)

    1
    2
    create user 'eladmin'@'%' identified with mysql_native_password by 'h3U#4YXH';
    grant all on eladmin.* to 'eladmin'@'%';
  3. 也可使用idea连接数据库,打开Database(或其他数据库连接插件),然后直接右键点击eladmin.sql运行,然后选择已经创建好的数据库,运行SQL脚本

二、运行项目

  1. 后端启动eladmin

  2. 打开前端,安装依赖

    1
    2
    3
    npm install 
    或
    yarn install
  3. 运行前端

    1
    npm run dev

    启动后浏览器会自动打开页面

三、新建模块

  1. 在idea中点击 file -> new -> module -> maven

  2. 在点击maven后注意选对应的 Module SDK,然后next

    image-20220120162520793

  3. 选择父模块,然后为模块命名

    image-20220120162713263

  4. 回到项目中,在刚才创建的模块中创建包(必须)

    注: 如果所创建的包名和system模块中的不一样,则需要在AppRun.class中配置扫描路径,两个地方都需增加@ComponentScan及@EnableJpaRepositories。即:

    1
    2
    @EnableJpaRepositories({"包名.**.repository","me.zhengjie.**.repository"})
    @EntityScan({"包名.*","me.zhengjie.*"})
  5. 给新模块命名:

    在模块pom.xml文件中artifactId标签下添加name标签输入模块名字

  6. 在 System 模块的 pom.xml 的 dependencies 节点加入创建的子模块

    1
    2
    3
    4
    5
    <dependency>
    <groupId>父模块包名</groupId>
    <artifactId>子模块名</artifactId>
    <version>版本号</version>
    </dependency>

四、代码生成

1.创建实体类

表结构设计

  1. 配置主键(字符串或者整型皆可,整型可不设置自增)
  2. 可以设计字段是否为空(会根据这个进行表单验证)
  3. 设计注释,前端会根据注释生成表格标题

2.字段配置

  1. 回到浏览器左边菜单栏,系统工具 -> 代码生成

    找到刚才创建的数据表,点击配置,然后配置表中的字段

  2. 勾选表单字段(会在前端生成表单),选择对应的表单类型

    注: 如果选择了表单类型为下拉框则需要在后面的关联字典中选择对应的字典列表,否则表单中将不会生成下拉框(需要自己添加)

    • 列表:如果勾选会显示在前端的table中
    • 表单:如果勾选会显示在新增和编辑的form表单中
    • 日期注解:可以配置自动创建时间
    • 数据字段:一般用于单选、多选、下拉列表

3.生成配置

  1. 作者名称:填写作者名字
  2. 模块名称:填写需要生成到的模块名
  3. 至于包下:填写对应模块名下的包名(需存在此包,否则代码将不会自动生成到模块下)
  4. 接口名称:前端接口的地址(会自动在前面加上api,也是实体类的名称)
  5. 前段路径:填写前端代码保存的路径(输入views文件夹下的目录,不存在即创建)
  6. 是否覆盖:根据需要选择

4.生成代码

  1. 点击【保存&生成】按钮生成代码(显示生成成功后项目的前后端都自动生成了代码)

  2. 代码生成打包下载

    回到代码生成,找到对应的表,点击下载,就可下载生成的代码

权限控制

  1. 博客介绍 url
  2. 比较清晰 URL(推荐直接看这里)

说明:在配置菜单时,需加权限标识,如果需要配置添加、删除、修改权限,则需要在配置菜单一栏中添加按钮,然后通过给角色授权,在将用户添加到角色中,授予特定的权限。特定的用户,可以新建一个角色,授予对应的权限,然后给用户赋予角色就可解决。

五、添加菜单

1.配置前端路由

在前端项目router.js中,添加对应的路由配置

2.添加导航菜单

  1. 前端路由配置完成后返回浏览器 系统管理 -> 菜单管理 -> 新增

  2. 新增菜单(以目录为例)

    1. 根据需求选择菜单类型
    2. 选择对应的菜单图标(可不选)
    3. 外链菜单:如果添加的是项目里的菜单,则选否,否则选是,
    4. 菜单是否可见:根据需要
    5. 菜单标题:填标题名称
    6. 路由地址:项目内则直接填写前端router.js里配置的路由地址
    7. 菜单排序:菜单所处的位置
    8. 上级目录:选择对应的目录位置

    完成后点确定

    3.菜单分配

    在菜单添加后并不会在导航栏中显示,需要为角色分配

    系统管理 -> 角色管理

    1. 角色列表里选择要分配的角色,然后勾选需要显示的菜单,点击保存刷新页面后分配的菜单就会显示出来

六、对接金数据

1.说明

由于金数据的数据推送格式固定,所以不能直接使用已有的接口,需要单独处理

2.接收推送接口

  1. 编写对应接口

  2. 接口放行

    在controller下不需要添加@PreAuthorize,添加@AnonymousAccess放行接口

3.金数据推送

打开需要推送的表单设置,添加推送地址点击保存