# cloud4g **Repository Path**: ginger/cloud4g ## Basic Information - **Project Name**: cloud4g - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2018-08-26 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **项目说明** - 采用SpringBoot、springCloud、MyBatis、SpringSecurity框架,第一个版本将是个简单的权限系统。 - 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务 - 支持MySQL、PostgreSQL等主流数据库
**具有如下特点** - 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求 - 完善的部门管理及数据权限,通过注解实现数据权限的控制 - 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击 - 支持分布式部署,token可以采取jwt和redis存储方式 - 友好的代码结构及注释,便于阅读及二次开发 - 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能 - 页面交互使用Vue2.x,极大的提高了开发效率 - 引入swagger文档支持,方便编写API接口文档
**数据权限设计思想** - 管理员管理、角色管理、部门管理,可操作本部门及子部门数据 - 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限 - 业务功能,按照用户数据权限,查询、操作数据 **前端设计思想** - 用户中心、论坛系统、发布中心
**项目架构图** ![输入图片说明](https://images.gitee.com/uploads/images/2018/1012/111121_d3389f3d_9787.jpeg "sping4g springcloud框架设计(oath2).jpg")
**项目结构** ``` cloud4g ├─cloud4g-common 公共模块 │ ├─cloud4g-admin-portal 管理后台[8790] │ ├─db 数据库SQL脚本 │ │ │ ├─modules 模块 │ │ ├─job 定时任务 │ │ ├─oss 文件存储 │ │ └─sys 系统管理(核心) │ │ └─publish 发布中心(核心) │ │ │ └─resources │ ├─mapper MyBatis文件 │ └─application.yml 全局配置文件 │ ├─cloud4g-admin-facade admin公共接口 │ ├─cloud4g-modules 模块开发目录 │ │ │ ├─cloud4g-test------------------测试模块(8000) │ ├─cloud4g-gateway 统一网关服务[8765] │ └─resources │ ├─Asset 静态资源(暂时放在网关模块.以后抽离到node.js) │ ├─views 系统页面 │ │ ├─modules 模块页面 │ │ ├─index.html AdminLTE主题风格(默认主题) │ │ └─index1.html Layui主题风格 │ ├─application.yml 全局配置文件 │ ├─cloud4g-config -- 配置中心[8750] ├─cloud4g-eureka -- 服务注册与发现[8761] ```
**技术选型:** - 核心框架:Spring Boot 2.0、 Spring Cloud Finchley.RELEASE - 安全框架:Spring Security 2.0,Oauth2 2.0 - 视图框架:Spring MVC 5.0 - 持久层框架:MyBatis 3.3 - 定时器:Quartz 2.3 - 数据库连接池:Druid 1.1 - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x
**软件需求** - JDK1.8 - MySQL6.0+,PostgreSQL 9+ - Maven3.0+
**本地部署** - 通过git下载源码 - 创建数据库cloud4g,数据库编码为UTF-8 - 执行db/mysql.sql文件,初始化数据【按需导入表结构及数据】 - 修改application-dev.yml文件,更新MySQL账号和密码 - 在ginwx目录下,执行mvn clean install
**启动顺序** 1. Eclipse、IDEA运行EurekaBootstrap,则可启动项目【cloud4g-eureka】 8761 2. Eclipse、IDEA运行ConfigServerBootstrap,则可启动项目【cloud4g-config】 8767 (没使用配置暂时可不启动) 3. Eclipse、IDEA运行AdminPortalBootstrap,则可启动项目【cloud4g-admin-portal】 8790
swagger文档路径:http://localhost:8790/swagger-ui.html 4. Eclipse、IDEA运行AdminPortalBootstrap,则可启动项目【cloud4g-gateway】 8765
ginwx-admin访问路径:http://localhost:8765
账号密码:admin/123456
整合swagger文档路径:http://localhost:8765/swagger-ui.html
**分布式部署** - 分布式部署,需要安装redis,并配置config.properties里的redis信息 - 需要配置【cloud4g.redis.open=true】,表示开启redis缓存 - 需要配置【cloud4g.shiro.redis=true】,表示把shiro session存到redis里
**启动问题** maven install包引用不对的话 删除target里面所有文件 mysql需要设置大小写敏感 lower_case_table_names=1 启动定时器问题 https://blog.csdn.net/warrah/article/details/53958888 清理掉以下表数据 重新生成 delete from qrtz_cron_triggers; delete from qrtz_triggers; delete from qrtz_job_details;
**如何交流、反馈、参与贡献?** - gitee仓库:https://gitee.com/ginger/cloud4g.git - 官方QQ群: - 如需关注项目最新动态,请Watch、Star项目,同时也是对项目最好的支持 **接口文档效果图:**
**springsecurity 注意问题:** LOG_PATH_IS_UNDEFINEDC:\Users\Administrator\AppData\Local\Temp\ihp_custom_batches.log (文件名、目录名或卷标语法不正确。) 需要在bootstrap配置log的路径 需要配置hosts 127.0.0.1 dev-login.cloud4g.net 127.0.0.1 dev-admin.cloud4g.net 127.0.0.1 dev-api.cloud4g.net 127.0.0.1 dev-mall.cloud4g.net 127.0.0.1 cloud4g-config 127.0.0.1 cloud4g-eureka 127.0.0.1 cloud4g-gateway 127.0.0.1 cloud4g-monitor 127.0.0.1 cloud4g-zipkin 127.0.0.1 cloud4g-admin-portal 127.0.0.1 cloud4g-db-mysql 192.168.0.112 cloud4g-db-redis 127.0.0.1 cloud4g-mq-rabbit 127.0.0.1 cloud4g-mq-rocket 127.0.0.1 cloud4g-provider-zk 定时任务使用不同的库需要进行不同的配置ScheduleConfig