# jwj-cloud-formwork **Repository Path**: jiangwenjie/jwj-cloud-formwork ## Basic Information - **Project Name**: jwj-cloud-formwork - **Description**: spring cloud架构脚手架,一般公司直接可以拿来构建自己的微服务架构! - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 3 - **Created**: 2020-03-18 - **Last Updated**: 2023-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jwj-cloud-formwork #### 项目介绍 (本人格言:没有demo的架构都是耍流氓) 一直想搭建一套spring cloud微服务的脚手架,由于时间的问题一直没有实现,刚刚好受这次疫情影响导致宅在家里,闲来没事情干,于是就静下心来搭建了整套架构,此项目源码采用前后端分离方式,权限自己实现的,实现按钮级权限控制,基于json进行交互,接口完全采用Restful的风格,from参数提交,根据自己项目的需求,可以改成json提交,网关实现了对所有请求签名认证采用RSA非对称加密,所有接口相对还是比较安全的,涉及到数据提交的接口都可以采用注解控制数据的重复提交,可以作为开发项目的脚手架,做为基础项目。管理平台前端代码我没实现,如果大家熟悉vue.js的话完全可以自己对接,自己的公司可以找前端开发人员实现。 里面我基于netty-websocket框架实现一个点对点的即使聊天app,只有基础功能,如果您感兴趣可以自己实现群聊朋友圈等功能,前端技术用的h5+app HBuilder X工具进行开发和打包,都是自己工作多年的经验,写的不好的地方希望大家谅解!开源不易,且行且珍惜 :stuck_out_tongue: 如有问题可以加本人qq:619594586 qq群:894481200 ### 环境要求 jdk8; mysql5.7以上; maven; redis; rabbitmq;fastdfs;lombok ### 项目结构 | 微服务名 | 模块 | 介绍 | | -------- | --------------- | ------------------------------------------------ | | 注册中心 | register-center | Spring Cloud Eureka实现 | | 配置中心 | config-center | Spring Cloud Config实现,配置文件支持本地或者git | | 用户中心 | user-center | 系统用户管理、角色管理、权限管理、app用户管理,netty-websocket消息推送 | | 网关 | gateway-zuul | 通过三个过滤实现,1,签名认证过滤器 2,登录过滤器 3,ip黑名单过滤器 | | 管理后台 | background-manage | 菜单、ip黑名单维护 | | 日志中心 | log-center | 各微服务aop拦截并发送日志,基于rabbitmq处理日志,存储到mysql | | 文件中心 | file-center | 文件上传到fastdfs服务器支持原图和缩略图 可以自己实现上次到 其它资源服务器| | 消息中心 | message-center | 目前只存储了聊天记录 | | 定时任务中心 | task-center | 集成了xxl-job分布式定时任务框架,如果不想集成了可以,里面有我们常用的定时任务模式,支持分布式部署| | 监控中心 | monitor-center | Spring Boot Admin实现 | | 公共核心模块 | commons-core | 常用的一些工具已经公共类的封装 | | 实体模块 | orm-model | 和数据库表字段一一对应 | | 接口调用公共实体模块 | dto-model| 接口调用数据封装实体对象 | | 日志自定义starter | log-starter| 接口日志starter封装,如果那个模块需要添加自定义日志,只需要添加该依赖,配置文件添加rabbitmq信息 ,接口添加注解就可以使用 | | 最简化工程 | mini-project | 如果需要添加新的工程,只需要复制该工程修改名字和pom文件已经父工程pom对应位置添加相应的model就可以创建一个新的工程了 | ### 初始化工作 (一定要安装redis rabbitmq 嫌弃linux安装麻烦可以直接在Windows环境下安装, app里面需要图片上传,所以文件中心一定要启动,fastdfs务必安装) 1.将项目下载下来导入自己的开发工具idea或者eclipse里面 2.修改config-center工程里面的配置文件 3.建库建表,多少sql在相应的工程里面 background-manage log-center message-center user-center 4.分别启动项目即可 先启动注册中心 register-center config-center log-center 其它的服务随便 我拿用户中心例子启动后截图 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0318/193711_f4665abf_714952.png "用户中心.png") 上面是接口文档 访问地址 http://localhost:9003/swagger-ui.html 就可以看到接口文档 ### h5+app 代码下载地址:https://gitee.com/jiangwenjie/jwj-jiexin 下载完毕后请安装 HBuilder X 开发工具 下载地址:https://dcloud.io/ 下载完毕后导入前端项目到 HBuilder X工具内,如果不会该开发工具自行百度,很简单 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0318/194554_99884a2c_714952.png "前端配置.png") 修改对应位置的配置 连接手机后开启手机开发者模式usb权限后,工具就是识别到该手机然后如下图运行即可 ![输入图片说明](https://images.gitee.com/uploads/images/2020/0318/194913_ce83828e_714952.png "启动安装.png") 以下是h5+app相关截图 本人前端比较菜,有些手机有兼容问题,建议用小米手机测试 ![app相关截图](https://images.gitee.com/uploads/images/2020/0318/201330_1fcb353c_714952.png "11.png")