# 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接口文档
**数据权限设计思想**
- 管理员管理、角色管理、部门管理,可操作本部门及子部门数据
- 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限
- 业务功能,按照用户数据权限,查询、操作数据
**前端设计思想**
- 用户中心、论坛系统、发布中心
**项目架构图**
.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