精华内容
下载资源
问答
  • 若依框架
    千次阅读
    2022-05-05 08:10:21

    若依初步使用

    初步了解

    RuoYi 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf、Bootstrap),内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告等。在线定时任务配置;支持集群,支持多数据源,支持分布式事务。

    主要特性

    • 完全响应式布局(支持电脑、平板、手机等所有主流设备)

    • 强大的一键生成功能(包括控制器、模型、视图、菜单等)

    • 支持多数据源,简单配置即可实现切换。

    • 支持按钮及数据权限,可自定义部门数据权限。

    • 对常用js插件进行二次封装,使js代码变得简洁,更加易维护

    • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击

    • Maven多项目依赖,模块及插件分项目,尽量松耦合,方便模块升级、增减模块。

    • 国际化支持,服务端及客户端支持

    • 完善的日志记录体系简单注解即可实现

    • 支持服务监控,数据监控,缓存监控功能。

    BootDo

    人人开源 人人开源

    技术选型

    1、系统环境

    • Java EE 8

    • Servlet 3.0

    • Apache Maven 3

    2、主框架

    • Spring Boot 2.2.x

    • Spring Framework 5.2.x

    • Apache Shiro 1.7

    3、持久层

    • Apache MyBatis 3.5.x

    • Hibernate Validation 6.0.x

    • Alibaba Druid 1.2.x

    4、视图层

    • Vue 2.6.x

    • Axios 0.21.x

    • Element 2.15.x

    环境搭建

    后台

    1. 创建数据库,执行sql,

    2. 安装redis

    3. 数据库及redis配置

      • application-druid.yml

      • applicaton.yml

    4. 启动

      • 运行ruoyi-admin 模块中的RuoYiAppliction类中的main方法

    前端

    1. 在hbuilder中打开ruoyi-ui文件夹

    2. 打开ruoyi-ui文件夹所在dos

    3. 安装依赖

      • npm install

    4. 运行

      • npm run dev

    初步使用

    1. 用户管理

    2. 角色管理

    3. 部门管理

    4. 字典管理

    5. 代码生成

    t_medical_cost_person_archives个人档案表

    更多相关内容
  • 若依框架修改器是一个可以一键修改RuoYi框架包名、项目名等的工具。 例如com.ruoyi修改为com.xxx 项目的项目名,例如ruoyi修改为xxx,包括模块文件夹的名字也会改掉 项目的pom文件以及其中的配置属性 项目的站点名称...
  • 若依框架增加消息弹框提示: 1、消息弹框 2、跳转到任务详情 3、titile闪烁
  • 总管理员pc端 1.... 2.权限管理:业务员只管理自己的合同信息 3.合同管理:合同信息包含合同分类(可下拉选择)、合同签订日期、合同名称、本公司名称(可下拉选择),对方公司名称、部门、合同负责人、联系方式、...
  • 若依框架进行二次封装,后台接口可单独抽离,打包后也可以再次修改,不影响程序的正常运行、相对干净的框架,没有乱七八糟的东西,支持售后~~
  • 内网开发无法访问互联网,弄了个若依框架的离线版参考文档。方便大家使用。 食用方法:找index.htm文件打开就好
  • 若依框架修改器V3-20210706.zip
  • Java基于若依框架的企业OA办公系统,知识产权管理系统源码.zip
  • 请给若依/RuoYi 投票,谢谢支持。 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理...
  • 可以一键修改RuoYi相关项目的包名等信息,具体可查看文章说明:https://blog.csdn.net/u014440968/article/details/115764803
  • 若依微服务框架81-110.zip,81-110,102 Kibana中文配置.mp4,93 多数据源使用详解.mp4,94 多数据源手动切换.mp4,97 分布式事务使用.mp4,108 权限控制相关介绍.mp4,107 新增日志业务类型.mp4,103 分布式日志收集.mp4,95...
  • java若依框架源码.zip,RuoYi,bin,clean.bat,run.bat,package.bat,pom.xml,ruoyi-quartz,pom.xml,src,main,resources,templates,monitor,job,edit.html,jobLog.html,job.html,add.html,detail.html,mapper,quartz,...
  • 若依分布式框架1-35.zip,1-35,06 构建发布到Linux.mp4,03 微架构及选型.mp4,32 配置动态刷新.mp4,25 系统退出实现.mp4,09 使用服务网关.mp4,26 注册中心介绍.mp4,04 目录文件介绍.mp4,07 开发环境运行.mp4,35 控制台...
  • ├── 36 Nacos项目相关使用 ├── 37 服务调用介绍 ├── 38 服务调用使用 ├── 39 开启Gzip压缩 ├── 40 连接池配置 ├── 41 请求日志配置 ├── 42 请求超时配置 ├── 43 异常处理配置 ...
  • 若依-mybatisplus框架

    2022-03-04 15:02:59
    若依官网框架,完美整合mybatis框架,轻松开发管理系统。
  • 若依微服务框架126-133.zip,126-134,132 3.2.0版本更新介绍.mp4,128 代码生成实现详解.mp4,131 3.1.0版本更新介绍.mp4,133 3.3.0版本更新介绍.mp4,127 代码生成相关使用.mp4,126 分页功能实现详解.mp4,130 定时任务...
  • 湖大信科IT综合管理系统 枫树小组 运行环境部署 用git clone项目到本地仓库 创建Mysql数据库,数据库名称:mapleemsplus,并执行sql文件夹下的mapleemsmplus.sql文件 用ieda介绍maven项目HtxkEmsm ...
  • 若依框架數據庫初始化.7z
  • nacos 完美匹配若依微服务框架的nacos 完美匹配若依微服务框架的nacos 完美匹配若依微服务框架的(适合若依的)
  • springboot,maven,redis,mysql数据库一体化,快速搭建,快速开发的框架
  • 若依后台 com.ruoyi ├── common // 工具类 │ └── annotation // 自定义注解 │ └── config // 全局配置 │ └── constant // 通用常量 │ └── core // 核心控制 │ └── enums // 通用枚举
  • 若依框架前端Vue项目分析实战

    千次阅读 多人点赞 2022-04-08 14:40:18
    前面讲解了vue2的单点知识,下面用若依提供的vue项目,实战分析一下,拿到一个vue项目,如何进行分析并进行二次开发。 一、public/index.html与main.js和App.vue三者的关系 vue项目是单界面应用,所有的界面将在...

    说明

    前面讲解了vue2的单点知识,下面用若依提供的vue项目,实战分析一下,拿到一个vue项目,如何进行分析并进行二次开发。

    一、public/index.html与main.js和App.vue三者的关系

    vue项目是单界面应用,所有的界面将在public下的index.html里呈现。
    main.js是程序的入口,在这里,定义了vue实例对象。如下代码:

    new Vue({
      el: '#app',
      router,//路由插件
      store,//vuex插件,所有的组件中都可以使用store中的action,mutation和state数据。通过$strore调用或者mapXXX函数映射
      render: h => h(App)
    })
    

    其中,el配置项是配置vm实例要填充的public/index.html里的元素对象。render属性配置的是用App.vue组件进行填充。在vm实例对象挂载完成之前,即mouted函数执行之前,页面显示的是public/index.html中本身的元素,在挂载完成后,public/index.html中会显示App.vue中的元素。
    在public/index.html中,原有的是加载中插件,如下:

    <body>
        <div id="app">
    	    <div id="loader-wrapper">
    		    <div id="loader"></div>
    		    <div class="loader-section section-left"></div>
    		    <div class="loader-section section-right"></div>
    		    <div class="load_title">正在加载系统资源,请耐心等待</div>
            </div>
    	</div>
    

    所以,刷新界面时,先出现加载中界面,如下:
    在这里插入图片描述
    等vm实例挂载完成后,显示App.vue组件内容。

    下面分析App.vue中组件的内容。
    看template内容:

    <template>
      <div id="app">
        <!-- 路由占位,router-link在哪   -->
        <router-view />
      </div>
    </template>
    

    这里只有router-view,说明这里要进行路由的切换展示。所以,接下来该分析路由的配置,看App.vue跳转到了哪个组件。

    二、路由分析

    路由的配置在router/index.js下,进行分析:

    {
        path: '',
        component: Layout,
        redirect: 'index',
        children: [
          {
            path: 'index',
            component: () => import('@/views/index'),
            name: 'Index',
            meta: { title: '首页', icon: 'dashboard', affix: true }
          }
        ]
      }
    

    这段路由配置就是App.vue挂载完成后的展示组件。首先,项目访问路径为’'(空)时,加载的组件是Layout组件,展示Layout组件内容。通过redirect属性重定向到index路径。index是子路由,在Layout中展示index.vue界面。这就是为何每次刷新,默认打开首页tab页的原因。
    这里,补充个知识点:
    不管是router-link的to属性,还是直接在浏览器输入路径,如果输入的是子路由的路径,那么界面会展示子路由的组件,也会展示父路由的组件。不会单独展示子路由对应的组件。
    如:to=/home/SeatDistribute,则对应的view会显示App.vue和Home.vue和/home/SeatDistribute组件。
    to=/home,view会显示App.vue组件和Home.vue组件。
    根据路径,找router-view的位置:
    路径为一层的,如:/home。则对应App.vue中的router-view。
    路径为多层的,如/home/SeatDistribute,则找其父组件的router-view,即Home.vue组件中的router-view。

    所以,上面重定向到index.vue组件后,也是显示Layout组件的。即在Layout组件内部,再显示index.vue组件。router定义子路由时,默认children子路由就是被父路由包裹的。

    三、Layout组件分析

    通过上面分析,可知App.vue展示的是Layout组件,那么下面就分析Layout组件。通过分析,Layout组件是布局组件,即后台管理系统的整体布局,是通过这个组件完成的。里面包含了很多子组件嵌套。下面先画一下其组件划分结构:
    在这里插入图片描述
    可见,将整体布局划分成上图的几个组件。这也体现出了vue组件化编程的思想。在每个组件内部,又对各个部分进行了组件的拆分,例如在navbar组件中,
    在这里插入图片描述
    每个元素,都划分成了一个组件。这里主要体会组件化编程思想。具体组件的实现方式,这里不做深入研究。已经提供好的功能,我们直接拿来用即可。

    四、Vuex应用分析

    在main.js中定义vue的时候,可以看到使用了Vuex技术,如下:

    new Vue({
      el: '#app',
      router,//路由插件
      store,//vuex插件,所有的组件中都可以使用store中的action,mutation和state数据。通过$strore调用或者mapXXX函数映射
      render: h => h(App),
      beforeMount() {
        debugger;
      }
    })
    

    下面就分析一下Vuex技术在项目中是如何应用的。
    首先,看stroe/index.js文件:

    Vue.use(Vuex)
    
    const store = new Vuex.Store({
      modules: {
        app,
        user,
        tagsView,
        permission,
        settings
      },
      getters
    })
    
    export default store
    

    可以看到,使用了模块化命名,分成了权限模块,设置模块,用户模块等几个模块。因为Vuex最终操作的都是state对象,所以,重点看一下这几个模块的state对象都存入了什么:
    权限模块permission.js:

    state: {
        routes: [],
        addRoutes: [],
        defaultRoutes: [],
        topbarRouters: [],
        sidebarRouters: []
      }
    

    可见,权限模块state存入了路由数据。路由可以共享到每个组件去使用。

    用户模块user.js:

    state: {
        token: getToken(),
        name: '',
        avatar: '',
        roles: [],
        permissions: []
      }
    

    用户模块state定义了token,用户名,用户角色,用户权限等数据,用于共享。

    设置模块settings.js:

    const state = {
      title: '',
      theme: storageSetting.theme || '#409EFF',
      sideTheme: storageSetting.sideTheme || sideTheme,
      showSettings: showSettings,
      topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
      tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
      fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
      sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
      dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle
    }
    

    可见,settings.js模块定义了皮肤颜色,主题风格,边距等等数据用于共享。

    各模块的Actions和Mutations对象定义了各种函数来操作这些state数据,这里就 不一一列举了。

    通过上面存入Vuex中的数据可以知道,在项目中,把全局的一些信息,存入Vuex中。这些信息可以是前端自己设定的,也可以是后台获取的数据。这样,在项目的任何一个组件中,都可以通过$store属性或者mapXXX函数获取到这些共享数据。
    Vuex有点儿类似于原生js中的全局变量的感觉。

    五、关于动态路由和菜单权限的实现

    前面讲路由时,路由都是在router/index.js里预置好的。但是在真实项目中,菜单肯定是通过权限,在后台获取的。分析一下若依框架,是如何实现权限分配和动态路由的。
    首先找到菜单的组件,上面已经分析过,是Layout组件中的sidebar组件。点进去,看sidebar组件的实现:

    <sidebar-item
                        v-for="(route, index) in sidebarRouters"
                        :key="route.path  + index"
                        :item="route"
                        :base-path="route.path"
                    />
    

    可见,其遍历了sidebarRouters,而sidebarRouters通过Vuex的分析可知,其配置在了permissions模块的state中。所以,在permissions.js的Actions对象和Mutations对象中,肯定有操作这个数据的函数,找相应的代码。
    代码比较分散,下面看其实现思路:
    首先,在Actions函数中,利用axios发送请求到后台,获取用户菜单权限,该接口的返回值如下:

    {
    	"msg": "操作成功",
    	"code": 200,
    	"data": [{
    		"name": "System",
    		"path": "/system",
    		"hidden": false,
    		"redirect": "noRedirect",
    		"component": "Layout",
    		"alwaysShow": true,
    		"meta": {
    			"title": "系统管理",
    			"icon": "system",
    			"noCache": false,
    			"link": null
    		},
    		"children": [{
    			"name": "User",
    			"path": "user",
    			"hidden": false,
    			"component": "system/user/index",
    			"meta": {
    				"title": "用户管理",
    				"icon": "user",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Role",
    			"path": "role",
    			"hidden": false,
    			"component": "system/role/index",
    			"meta": {
    				"title": "角色管理",
    				"icon": "peoples",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Menu",
    			"path": "menu",
    			"hidden": false,
    			"component": "system/menu/index",
    			"meta": {
    				"title": "菜单管理",
    				"icon": "tree-table",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Dept",
    			"path": "dept",
    			"hidden": false,
    			"component": "system/dept/index",
    			"meta": {
    				"title": "部门管理",
    				"icon": "tree",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Post",
    			"path": "post",
    			"hidden": false,
    			"component": "system/post/index",
    			"meta": {
    				"title": "岗位管理",
    				"icon": "post",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Dict",
    			"path": "dict",
    			"hidden": false,
    			"component": "system/dict/index",
    			"meta": {
    				"title": "字典管理",
    				"icon": "dict",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Config",
    			"path": "config",
    			"hidden": false,
    			"component": "system/config/index",
    			"meta": {
    				"title": "参数设置",
    				"icon": "edit",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Notice",
    			"path": "notice",
    			"hidden": false,
    			"component": "system/notice/index",
    			"meta": {
    				"title": "通知公告",
    				"icon": "message",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Log",
    			"path": "log",
    			"hidden": false,
    			"redirect": "noRedirect",
    			"component": "ParentView",
    			"alwaysShow": true,
    			"meta": {
    				"title": "日志管理",
    				"icon": "log",
    				"noCache": false,
    				"link": null
    			},
    			"children": [{
    				"name": "Operlog",
    				"path": "operlog",
    				"hidden": false,
    				"component": "monitor/operlog/index",
    				"meta": {
    					"title": "操作日志",
    					"icon": "form",
    					"noCache": false,
    					"link": null
    				}
    			}, {
    				"name": "Logininfor",
    				"path": "logininfor",
    				"hidden": false,
    				"component": "monitor/logininfor/index",
    				"meta": {
    					"title": "登录日志",
    					"icon": "logininfor",
    					"noCache": false,
    					"link": null
    				}
    			}]
    		}]
    	}, {
    		"name": "Monitor",
    		"path": "/monitor",
    		"hidden": false,
    		"redirect": "noRedirect",
    		"component": "Layout",
    		"alwaysShow": true,
    		"meta": {
    			"title": "系统监控",
    			"icon": "monitor",
    			"noCache": false,
    			"link": null
    		},
    		"children": [{
    			"name": "Online",
    			"path": "online",
    			"hidden": false,
    			"component": "monitor/online/index",
    			"meta": {
    				"title": "在线用户",
    				"icon": "online",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Job",
    			"path": "job",
    			"hidden": false,
    			"component": "monitor/job/index",
    			"meta": {
    				"title": "定时任务",
    				"icon": "job",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Druid",
    			"path": "druid",
    			"hidden": false,
    			"component": "monitor/druid/index",
    			"meta": {
    				"title": "数据监控",
    				"icon": "druid",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Server",
    			"path": "server",
    			"hidden": false,
    			"component": "monitor/server/index",
    			"meta": {
    				"title": "服务监控",
    				"icon": "server",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Cache",
    			"path": "cache",
    			"hidden": false,
    			"component": "monitor/cache/index",
    			"meta": {
    				"title": "缓存监控",
    				"icon": "redis",
    				"noCache": false,
    				"link": null
    			}
    		}]
    	}, {
    		"name": "Tool",
    		"path": "/tool",
    		"hidden": false,
    		"redirect": "noRedirect",
    		"component": "Layout",
    		"alwaysShow": true,
    		"meta": {
    			"title": "系统工具",
    			"icon": "tool",
    			"noCache": false,
    			"link": null
    		},
    		"children": [{
    			"name": "Build",
    			"path": "build",
    			"hidden": false,
    			"component": "tool/build/index",
    			"meta": {
    				"title": "表单构建",
    				"icon": "build",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Gen",
    			"path": "gen",
    			"hidden": false,
    			"component": "tool/gen/index",
    			"meta": {
    				"title": "代码生成",
    				"icon": "code",
    				"noCache": false,
    				"link": null
    			}
    		}, {
    			"name": "Swagger",
    			"path": "swagger",
    			"hidden": false,
    			"component": "tool/swagger/index",
    			"meta": {
    				"title": "系统接口",
    				"icon": "swagger",
    				"noCache": false,
    				"link": null
    			}
    		}]
    	}, {
    		"name": "Http://ruoyi.vip",
    		"path": "http://ruoyi.vip",
    		"hidden": false,
    		"component": "Layout",
    		"meta": {
    			"title": "若依官网",
    			"icon": "guide",
    			"noCache": false,
    			"link": "http://ruoyi.vip"
    		}
    	}]
    }
    

    分析其返回值,可以看到,就是按照router的格式,将菜单数据进行了返回。其中,子菜单就以children属性,定义在了父菜单下面。菜单名称,定义在了meta属性里面。
    这样,就根据用户权限获取了菜单路由信息。下面,看这些信息是如何进行使用的。
    还回到Sidebar组件的这段代码:

     <sidebar-item
                        v-for="(route, index) in sidebarRouters"
                        :key="route.path  + index"
                        :item="route"
                        :base-path="route.path"
                    />
    

    可以看到,涉及到另一个自定义组件sidebar-item,遍历菜单,把获取到的路由信息传了过去,最终实现了菜单的展示和点击出现tab页面。具体实现不再详细解释。

    六、自定义指令的应用

    若依框架自定义了几个指令,下面看如何进行自定义指令和这几个指令的作用:
    在directive包下,进行了自定义指令。
    重点看permissions相关的自定义指令。一个权限指令,一个角色指令,其实现思路就是根据Vuex中user的角色和权限数据,判断是否有某个角色或者某个权限,从而判断是否有权限操作某个按钮。即菜单中按钮权限的判断,是通过自定义指令完成的。

    七、关于element-ui

    在一个组件中,有很多的标签,当是el-开头的时候,就是element-ui的标签,可以根据官网查找对应属性的意思等。不是以el开头的标签,可能是项目自定义的组件,也可能是第三方组件。具体的点进去一看便知。

    八、history模式与项目部署

    前面讲到,history模式下,刷新浏览器,会报404,这里,再说清楚一点。
    在开发环境中,即使使用history模式,刷新界面,不会报404,但是项目打包部署到web服务器上后,再访问前端项目,再刷新界面,会报404,这是为何呢?
    个人理解,在开发环境中,vue-cli自行解决了history刷新报404的问题,直接通过路由,定位到了相应的组件。但是项目部署到web服务器上后,刷新界面,浏览器中的url直接就发送到web服务器上了,服务器默认并不会处理路径,而是直接根据路径找资源,找不到url的资源,所以就报404了。
    项目部署后,如何解决history模式的404问题呢?根据不同的web服务器,进行简单的设置,就可以解决了。
    具体可参考:不同的历史模式
    下面记录在nginx下部署vue项目的过程。
    首先,在package.json中, 运行build命令,对项目进行打包。
    打包完成后,在项目根目录下,会生成dist文件,dist文件里,打包好的文件,有个index.html文件,整个vue项目,就在这个单界面里展示。

    配置nginx服务器:
    首先,配置nginx.config配置文件,重点如下:

    server {
            listen       80; #nginx端口,也是前端项目访问的端口
            server_name  localhost;#nginx的ip,也是前端工程访问ip
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   "F:/java_structure/vue/RuoYi-Vue-master/ruoyi-ui/dist";#vue项目打包dist后的路径
                index  index.html index.htm;#这里配置index就行,不用管
    			try_files $uri $uri/ /index.html;#解决history刷新报404问题,配置此项后刷新就不再报404了。
            }
    		#vue项目想后台发送请求的前缀。在开发环境中,配置proxyTable可以进行代理转发。在nginx上,在此进行代理转发配置
    		location ^~/prod-api { 
    		   rewrite ^/prod-api/(.*)$ /$1 break; #此配置表明发送到后台的请求不带prod-api,将其自动去掉
               proxy_pass http://localhost:8080; #后台服务器路径。此处需要注意,这里的后台服务器,是为vue项目提供数据支撑的服务器。而上面配置的listen和server_name,是nginx的port和ip,也是前端项目的port和ip。解决history模式404的问题,也是解决的nginx服务器返回的404的问题,并不是解决后台项目返回的404的问题,这点一定要清楚。
            }
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    

    八、统计图,报表使用

    echarts可以和vue很好的配合使用,此外,再提供一个很好的统计报表可视化插件库:Viser

    展开全文
  • 若依框架学习笔记

    千次阅读 2022-05-07 21:01:36
    若依框架简介若依框架简介若依框架版本介绍若依框架(vue前后端分离版本)首页用户管理:用户是系统操作者,该功能主要完成系统用户配置。合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何...

    若依框架简介

    根据官网介绍若依框架就是一个后台管理框架,主要使用技术在官网上也有介绍我这里再次复述一遍,主要技术分别是基于springboot、shiro、mybatis、Thymeleaf等,这个后台管理框架可以实现零代码开发,它能让我们大部分时间放在业务开发上面,节省一些不必要的时间,降低技术难度,与开发成本

    若依框架版本介绍

    若依框架有好几种不同的版本

    序号版本
    1bootStrap多模块版本
    2vue前后端分离版本
    3SpringCloud微服务版本
    4vue单应用后台版本
    5bootStrap单应用版本
    6更多其他版本项目

    我们可以从下图中看见:
    在这里插入图片描述
    因为我们现在目前主流都是前后端分离,这里我们主要抽取前后端分离版来进行介绍
    第一步我们需要从若依官网上去下载前后端分离版本vue前后端分离版根据配我们需要启动本地redis数据库,把数据源切换为自己的数据库,就可以成功启动

    若依框架(vue前后端分离版本)

    准备工作

    JDK >= 1.8 (推荐1.8版本)
    Mysql >= 5.7.0 (推荐5.7版本)
    Maven >= 3.0
    

    修改数据库连接,编辑resources目录下的application-druid.yml

    # 数据源配置
    spring:
        datasource:
            type: com.alibaba.druid.pool.DruidDataSource
            driverClassName: com.mysql.cj.jdbc.Driver
            druid:
                # 主库数据源
                master:
                    url: jdbc:mysql://localhost:3306/ruoyitest?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8(数据源需要使用自己的)
                    username: root
                    password: 123456
    
    启动本地redis
    

    后端文件结构
    在这里插入图片描述

    在这个版本中我们可以将其分为几个大的模块,当然你可以自己去添加你自己所需要的模块信息,这个框架扩展性非常好,在原生的系统模块中主要有首页、系统管理、系统监控、系统工具、还有若依官网信息,接下来我们就主要讲解里面的模块信息

    首页

    我们可以放置一些基本信息,和一些活动信息等,这里就不过多介绍首页

    系统管理

    这里就不全部讲解了,下面就讲解用户、角色、菜单这个三个,大部分都是一样的模板信息

    用户管理

    用户是系统操作者,该功能主要完成系统用户配置。
    在这里插入图片描述
    在上述界面完成用户的新增,删除,以及部门分配等信息,这里页实现了用户的各种模糊查询,部门列表的组织结构树查询,也可以完成用户的导入导出,再导入的过程中如果没有模板,我们需要要先下载模板,将数据填写好过后在进行导入
    在这里插入图片描述

    角色管理

    角色菜单权限分配、设置角色按机构进行数据范围权限划分

    在这里插入图片描述
    在这里我们可以完成角色的新增角色、删除角色、修改角色信息等操作,还可以授予不同角色不同的权限,来作为我们的权限控制,我们可以由下图看出
    在这里插入图片描述

    菜单管理

    菜单管理:配置系统菜单,操作权限,按钮权限标识等
    在这里插入图片描述
    这里可以新建菜单目录,选择对应的菜单类型可以根据自己的需求设置对应的菜单目录

    系统监控

    1 .在线用户
    在线用户:当前系统中活跃用户状态监控。
    在这里插入图片描述
    这里可以进行在线用户的监控,也可以根据用户信息进行查找,以及强制下线等

    2.定时任务
    定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
    从下图可以看出
    在这里插入图片描述
    在新增界面我们可以自定义cron表达式,根据cron表达式指定调用方法,通过执行策略可以选择执行的模式等,如下图所示

    在这里插入图片描述

    系统工具

    表单构建

    通过这个工具可以快速便捷的构建表单,只需要进行简单的拖拽就行了,降低了开发成本
    在这里插入图片描述

    代码生成

    代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
    我们只需要在数据库中将数据库表格建好,在代码生成中点击导入,选择我们建造好的数据库表格,他就会生成对应的前后端代码,非常高效方便。
    在这里插入图片描述
    系统接口模块就是配置了swagger,便于前后端对接,这个只是对若依框架的初步认识

    展开全文
  • 若依框架入门一

    千次阅读 2022-07-06 08:34:24
    诺依框架使用教程

    诺依框架使用<一>
    1,下载若依源码,可在官网下载,或者使用git克隆方式,这样以后可以随时更新,我这里采取直接下载

    在这里插入图片描述2,下载完后解压,使用idea打开即可
    在这里插入图片描述3,打开之后大致结构如下,其中官网推荐的环境如下:
    在这里插入图片描述

    在这里插入图片描述这里面说明如下(见官网):

    在这里插入图片描述4,下一步我们需要配置数据库等
    先新建一个数据库,名随便给一个,我这里给的day06,然后在下图的配置文件中修改数据库的配置

    在这里插入图片描述下一步,需要将我们下载的数据库文件(在下载的源码中),导入到数据库中

    在这里插入图片描述打开sql文件,复制粘贴到我们新建的数据库中执行一次就行

    在这里插入图片描述上面两个sql文件一个是表,一个是数据,都需要执行一次即可。
    5,下面就可以启动若依框架,找到下图的启动类

    在这里插入图片描述其中端口也是可以改的,见下图
    在这里插入图片描述在这里插入图片描述如图,若依框架第一步,我们就完成了

    展开全文
  • 基于若依框架(分离版)开发高考填报系统经验分享,了解若依框架开发流程,vue组件开发等。
  • 若依框架怎么加像图1一样的下拉导航栏呀,不熟悉若依框架若依框架怎么加像图1一样的下拉导航栏呀,不熟悉若依框架
  • 修改若依(ruoyi)框架各种包名修改器,一键解决所有修改包名的问题~
  • 若依框架又是什么?具备什么功能? 框架的英文为Framework,带有骨骼,支架的含义。在软件工程中,框架往往被定义为整个或部分系统的可重用设计,是一个可重复使用的设计构件。类似于一个数学公式或某种流程。 而...
  • 基于若依框架(分离版)开发高考填报系统经验分享,了解若依框架开发流程,vue组件开发等。
  • 简单入门若依框架

    2022-05-31 16:35:41
    本篇博客仅对若依框架的使用进行简单的介绍,它和php的fastadmin框架非常类似,是可以根据数据库表自动的生成一个完整的管理后台。关于fastadmin框架,我在前面的博客中有过简单的介绍,感兴趣的朋友可以查看这篇...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,971
精华内容 6,788
关键字:

若依框架

友情链接: 59564370.rar