**项目说明** - 采用SpringBoot、MyBatis、Shiro框架。 - 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务。 - 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库。
**具有如下特点** - 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 - 完善的部门管理及数据权限,通过注解实现数据权限的控制 - 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击 - 支持分布式部署,session存储在redis中 - 友好的代码结构及注释,便于阅读及二次开发 - 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能 - 页面交互使用Vue2.x,极大的提高了开发效率 - 引入swagger文档支持,方便编写API接口文档
**数据权限设计思想** - 管理员管理、角色管理、部门管理,可操作本部门及子部门数据 - 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限 - 业务功能,按照用户数据权限,查询、操作数据【没有本部门数据权限,也能查询本人数据】
**项目结构** ``` i-Tax-base ├─itaxBase-common 公共模块 │ ├─itaxBase-admin 管理后台 │ ├─db 数据库SQL脚本 │ │ │ ├─modules 模块 │ │ ├─job 定时任务 │ │ ├─oss 文件存储 │ │ └─sys 系统管理(核心) │ │ │ └─resources │ ├─mapper MyBatis文件 │ ├─statics 静态资源 │ ├─template 系统页面 │ │ ├─modules 模块页面 │ │ ├─index.html AdminLTE主题风格(默认主题) │ │ └─index1.html Layui主题风格 │ └─application.yml 全局配置文件 │ │ ├─itaxBase-api API服务 │─itax-configuration 配置相关 │ ├─nacos-config-itax-admin nacos配置文件 │ │ │ ├─sql sql版本模块 │ │ ├─bigb_itax_base_data 初始化数据库脚本 │ │ ├─bigb_itax_base_structure 创建表结构 │ ├─update │ │ ├─bigb_itax_update 针对上个版本的升级脚本 │ │ │ ├─nginx nginx配置信息 | ├─发布说明 版本更新内容
**技术选型:** - 核心框架:Spring Boot 2.0 - 安全框架:Apache Shiro 1.4 - 视图框架:Spring MVC 5.0 - 持久层框架:MyBatis 3.3 - 定时器:Quartz 2.3 - 数据库连接池:Druid 1.1 - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x
**软件需求** - JDK1.8 - MySQL5.5+ - Maven3.0+
**本地部署** - 通过git下载源码 - 创建数据库itax_base,数据库编码为UTF-8 - 执行db/mysql.sql文件,初始化数据【按需导入表结构及数据】 - 修改application-dev.yml文件,更新MySQL账号和密码 - 在renren-security目录下,执行mvn clean install
- Eclipse、IDEA运行AdminApplication.java,则可启动项目【itaxBase-admin】 - itaxBase-admin访问路径:http://localhost:8080/itaxBase-admin - swagger文档路径:http://localhost:8080/itaxBase-admin/swagger/index.html - 账号密码:admin/admin
- Eclipse、IDEA运行ApiApplication.java,则可启动项目【itaxBase-api】 - itaxBase-api访问路径:http://localhost:8081/itaxBase-api/swagger-ui.html
- Eclipse、IDEA运行GeneratorApplication.java,则可启动项目【itaxBase-generator】 - itaxBase-generator访问路径:http://localhost:8082/itaxBase-generator
**分布式部署** - 分布式部署,需要安装redis,并配置config.properties里的redis信息 - 需要配置【dxyun.redis.open=true】,表示开启redis缓存 - 需要配置【dxyun.shiro.redis=true】,表示把shiro session存到redis里