2021-02-06 17:44:06 +08:00
|
|
|
|
![](https://img.shields.io/badge/youlai--mall-1.0-blue)
|
|
|
|
|
[![](https://img.shields.io/github/stars/hxrui/youlai-mall.svg?style=social&label=Stars)](https://github.com/hxrui/youlai-mall/stargazers)
|
|
|
|
|
[![](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/hxrui/youlai-mall/blob/master/LICENSE)
|
2021-01-26 20:17:51 +08:00
|
|
|
|
![](https://img.shields.io/badge/SpringBoot-2.4.2-brightgreen.svg)
|
2021-02-06 17:44:06 +08:00
|
|
|
|
![](https://img.shields.io/badge/SpringCloud-2020-green.svg)
|
|
|
|
|
![](https://img.shields.io/badge/vue--element--admin-v4.4.0-orange)
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2021-02-06 21:42:32 +08:00
|
|
|
|
## 项目介绍
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2021-02-06 21:42:32 +08:00
|
|
|
|
`youlai-mall` 是基于Spring Boot 2.4、Spring Cloud 2020 & Alibaba、Vue、element-ui、uni-app快速构建的一套**全栈**开源商城平台,包括微服务应用、管理平台、微信小程序及APP应用
|
|
|
|
|
|
|
|
|
|
## 项目特色
|
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
- 项目使用都是最新主流的**开源**框架,无过度的自定义封装逻辑,易理解上手和方便扩展
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
|
|
|
|
- 基于Spring Boot 2.4、Spring Cloud 2020 & Alibaba 一站式微服务解决方案快速开发分布式服务
|
|
|
|
|
|
|
|
|
|
- 实现Spring Cloud OAuth2、Spring Cloud Gateway、JWT分布式统一认证鉴权和`RBAC` 权限系统设计
|
|
|
|
|
|
2021-02-06 21:42:32 +08:00
|
|
|
|
- 使用vue-element-admin的后台前端解决方案,基于Vue和element-ui快速搭建**前后端分离**的商城管理平台
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
|
|
|
|
- 通过`uni-app`使用Vue开发实现跨所有前端的应用,包含微信小程序、APP应用
|
|
|
|
|
|
|
|
|
|
- 使用Docker快速构建项目环境和一键打包部署微服务项目
|
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
## 项目愿景
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2021-02-07 00:44:02 +08:00
|
|
|
|
项目从`0`到`1`的构建过程完整无保留的通过博客文章进行说明,且开源不图任何利益。
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
项目慢慢成型的路上离不开支持还有默默点star的那些小伙伴,谢谢!
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
## 项目地址
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
|
|
|
|
### 1. 体验
|
|
|
|
|
**商城管理平台访问地址:** [http://www.youlai.store](https://www.youlai.store/)
|
|
|
|
|
|
2021-02-06 17:53:38 +08:00
|
|
|
|
【有来小店】微信小程序体验码,扫描后申请体验即可,有问题加我微信:`haoxianrui`
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2021-02-06 17:53:38 +08:00
|
|
|
|
![](https://raw.githubusercontent.com/hxrui/image/main/image/initpintu.jpg)
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
|
|
|
|
### 2. 源码
|
|
|
|
|
项目名称 | Github | 码云
|
|
|
|
|
---|---|---
|
|
|
|
|
微服务后台 |[youlai-mall](https://github.com/hxrui/youlai-mall) |[youlai-mall](https://gitee.com/youlaitech/youlai-mall)
|
|
|
|
|
管理前端 | [youlai-mall-admin](https://github.com/hxrui/youlai-mall-admin)| [youlai-mall-admin](https://gitee.com/youlaitech/youlai-mall-admin)
|
|
|
|
|
微信小程序 | [youlai-mall-weapp](https://github.com/hxrui/youlai-mall-weapp)| [youlai-mall-weapp](https://gitee.com/youlaitech/youlai-mall-weapp)
|
2021-02-07 00:33:23 +08:00
|
|
|
|
APP应用 | [youlai-mall-app](https://github.com/hxrui/youlai-mall-app)| [youlai-mall-app](https://gitee.com/youlaitech/youlai-mall-app)
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
## 项目预览
|
2020-12-08 22:01:55 +08:00
|
|
|
|
|
2021-02-06 17:44:06 +08:00
|
|
|
|
### 1. 商城管理平台
|
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
#### 1.1 系统管理
|
|
|
|
|
![](https://i.loli.net/2021/02/06/H37t524vcSgaJAN.jpg)
|
|
|
|
|
#### 1.2 商品管理
|
|
|
|
|
![](https://i.loli.net/2021/02/06/gpYHPFEw6ceZOay.jpg)
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
|
|
|
|
### 2. 有来小店微信小程序
|
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
![](https://i.loli.net/2021/02/06/DGAf84rIWwNFqJE.jpg)
|
2021-01-02 22:35:18 +08:00
|
|
|
|
|
2021-02-06 23:35:36 +08:00
|
|
|
|
## 项目结构
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
|
|
|
|
``` lua
|
|
|
|
|
youlai-mall
|
2020-09-26 00:02:02 +08:00
|
|
|
|
├── document
|
2021-02-06 23:35:36 +08:00
|
|
|
|
├── nacos -- Nacos配置文件
|
|
|
|
|
├── sql -- mysql数据库脚本
|
2020-10-26 14:30:41 +08:00
|
|
|
|
├── mall-oms
|
2020-11-06 17:06:59 +08:00
|
|
|
|
├── oms-api -- 订单微服务的远程调用客户端
|
|
|
|
|
├── oms-biz -- 订单微服务
|
2020-10-26 14:30:41 +08:00
|
|
|
|
├── mall-pms
|
2020-11-06 17:06:59 +08:00
|
|
|
|
├── pms-api -- 商品微服务的远程调用客户端
|
|
|
|
|
├── pms-biz -- 商品微服务
|
2020-11-25 11:11:31 +08:00
|
|
|
|
├── pms-search -- 商品搜索微服务
|
2020-10-26 14:30:41 +08:00
|
|
|
|
├── mall-sms
|
2020-11-06 17:06:59 +08:00
|
|
|
|
├── sms-api -- 营销微服务的远程调用客户端
|
|
|
|
|
├── sms-biz -- 营销微服务
|
2020-10-26 14:30:41 +08:00
|
|
|
|
├── mall-ums
|
2020-11-06 17:06:59 +08:00
|
|
|
|
├── ums-api -- 会员微服务的远程调用客户端
|
|
|
|
|
├── ums-biz -- 会员微服务
|
2020-09-26 00:02:02 +08:00
|
|
|
|
├── youlai-admin
|
2021-02-06 23:35:36 +08:00
|
|
|
|
├── admin-api -- 系统管理微服务的远程调用客户端
|
|
|
|
|
├── admin-biz -- 系统管理微服务
|
|
|
|
|
├── youlai-auth -- 认证中心【Oauth2认证服务器】
|
2020-10-26 15:25:24 +08:00
|
|
|
|
├── youlai-common -- 公共模块
|
2021-02-06 23:35:36 +08:00
|
|
|
|
└── youlai-gateway -- Gateway网关【Oauth2资源服务器】
|
|
|
|
|
└── youlai-registry -- Nacos应用
|
2020-09-08 01:39:13 +08:00
|
|
|
|
```
|
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
## 核心技术栈
|
2020-09-16 15:40:42 +08:00
|
|
|
|
| 后端技术 | 版本号
|
|
|
|
|
| -------------------- | -------------------- |
|
2021-01-26 20:17:51 +08:00
|
|
|
|
| SpringBoot|2.4.2
|
2021-02-06 23:35:36 +08:00
|
|
|
|
| Spring Cloud|2020.0.0
|
|
|
|
|
| Spring Cloud Alibaba| 2.2.4.RELEASE
|
|
|
|
|
| MyBatis-Plus|3.4.0
|
2020-09-16 15:40:42 +08:00
|
|
|
|
| Lombok |1.18.12
|
|
|
|
|
| Knife4j | 2.0.4
|
2021-02-06 23:35:36 +08:00
|
|
|
|
| MinIO | 2.0.4
|
|
|
|
|
|
|
|
|
|
| 后台前端 | 版本号 | 微信小程序 | 版本号| APP | 版本号
|
|
|
|
|
|---- | ---- | ---- | ---- |---- | ----
|
|
|
|
|
| element-ui | 2.13.2 | uni-app | 2.8.11| vant | 2.5.4
|
|
|
|
|
|
|
|
|
|
## 项目启动
|
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
### 1. `youlai-mall`后台微服务启动
|
2021-02-06 23:35:36 +08:00
|
|
|
|
|
2021-02-07 00:44:02 +08:00
|
|
|
|
项目搭建依赖环境(MySQL8、Redis、MinIO、Nacos)默认均使用`有来技术团队`提供的云环境,无需任何依赖环境搭建,启动极其简单。
|
2021-02-06 23:35:36 +08:00
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
**提示:** 云环境是无条件的提供给大家,但千万不要改动云环境的数据和配置,因为会导致整个项目无法运行,考虑下开发人员和其他小伙伴,手下留情。
|
2021-02-06 23:35:36 +08:00
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
**启动步骤:**
|
|
|
|
|
1. 启动本地Nacos服务,IDEA下方工具栏点击Terminal终端命令行,执行`cd youlai-registry/nacos/bin`命令切换到Nacos的启动脚本文件夹下,然后执行`startup -m standalone`命令启动Nacos服务;
|
|
|
|
|
2. 系统基础服务启动(完整的实现OAuth2统一认证鉴权的流程),分别启动`youlai-gateway`、`youlai-auth`、 `youlai-admin`模块,
|
|
|
|
|
启动类分别对应的是GatewayApplication、AuthApplication以及`youlai-admin`的子模块`admin-biz`下的的AdminApplication类,至此完成整个项目的启动。
|
2021-02-07 00:44:02 +08:00
|
|
|
|
3. 如需商城服务,启动对应模块的子模块biz的启动类即可。
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
### 2. `youlai-mall-admin`后台前端启动
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2020-11-25 11:01:06 +08:00
|
|
|
|
1. 本机安装Python和Node.js
|
2021-02-07 00:33:23 +08:00
|
|
|
|
2. npm install
|
|
|
|
|
3. npm run dev
|
2020-11-25 16:29:15 +08:00
|
|
|
|
4. 浏览器打开 http://localhost:9527
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2021-02-07 00:33:23 +08:00
|
|
|
|
|
2020-11-25 11:01:06 +08:00
|
|
|
|
### 3. 启动微信小程序
|
|
|
|
|
|
|
|
|
|
请参考 [vue+uniapp商城实战 | 第一篇:【有来小店】微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录](https://www.cnblogs.com/haoxianrui/p/13882310.html)
|
|
|
|
|
|
2020-09-08 01:39:13 +08:00
|
|
|
|
## 项目文档
|
|
|
|
|
|
2021-01-23 18:38:03 +08:00
|
|
|
|
> 微服务
|
2020-11-06 17:06:59 +08:00
|
|
|
|
|
2020-09-23 16:56:36 +08:00
|
|
|
|
1. [Spring Cloud实战 | 第一篇:Windows搭建Nacos服务 ](https://www.cnblogs.com/haoxianrui/p/13581881.html)
|
|
|
|
|
2. [Spring Cloud实战 | 第二篇:Spring Cloud整合Nacos实现注册中心](https://www.cnblogs.com/haoxianrui/p/13584204.html)
|
|
|
|
|
3. [Spring Cloud实战 | 第三篇:Spring Cloud整合Nacos实现配置中心](https://www.cnblogs.com/haoxianrui/p/13585125.html)
|
|
|
|
|
4. [Spring Cloud实战 | 第四篇:Spring Cloud整合Gateway实现API网关](https://www.cnblogs.com/haoxianrui/p/13608650.html)
|
|
|
|
|
5. [Spring Cloud实战 | 第五篇:Spring Cloud整合OpenFeign实现微服务之间的调用](https://www.cnblogs.com/haoxianrui/p/13615592.html)
|
|
|
|
|
6. [Spring Cloud实战 | 第六篇:Spring Cloud Gateway+Spring Security OAuth2+JWT实现微服务统一认证授权](https://www.cnblogs.com/haoxianrui/p/13719356.html)
|
2020-11-25 11:01:06 +08:00
|
|
|
|
7. [Spring Cloud实战 | 最七篇:Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案](https://www.cnblogs.com/haoxianrui/p/13740264.html)
|
|
|
|
|
8. [Spring Cloud实战 | 最八篇:Spring Cloud +Spring Security OAuth2+ Vue前后端分离模式下无感知刷新实现JWT续期](https://www.cnblogs.com/haoxianrui/p/14022632.html)
|
2021-01-23 18:38:03 +08:00
|
|
|
|
9. [Spring Cloud实战 | 最九篇:Spring Security OAuth2认证服务器统一认证自定义异常处理](https://www.cnblogs.com/haoxianrui/p/14022632.html)
|
|
|
|
|
10. [Spring Cloud实战 | 第十篇 :Spring Cloud + Nacos整合Seata 1.4.1最新版本实现微服务架构中的分布式事务,进阶之路必须要迈过的槛](https://www.cnblogs.com/haoxianrui/p/14280184.html)
|
2020-11-25 11:01:06 +08:00
|
|
|
|
|
2020-10-30 16:26:11 +08:00
|
|
|
|
> 管理前端
|
2020-11-06 17:06:59 +08:00
|
|
|
|
|
2020-10-26 14:32:24 +08:00
|
|
|
|
1. [vue-element-admin实战 | 第一篇: 移除mock接入后台,搭建有来商城youlai-mall前后端分离管理平台](https://www.cnblogs.com/haoxianrui/p/13624548.html)
|
|
|
|
|
2. [vue-element-admin实战 | 第二篇: 最小改动接入后台实现根据权限动态加载菜单](https://www.cnblogs.com/haoxianrui/p/13676619.html)
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2020-11-06 17:06:59 +08:00
|
|
|
|
> 微信小程序
|
|
|
|
|
|
2020-11-06 17:10:08 +08:00
|
|
|
|
1. [vue+uniapp商城实战 | 第一篇:【有来小店】微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录](https://www.cnblogs.com/haoxianrui/p/13882310.html)
|
2020-11-06 17:06:59 +08:00
|
|
|
|
|
2021-01-23 18:38:03 +08:00
|
|
|
|
> 部署篇
|
|
|
|
|
|
|
|
|
|
1. [Docker实战 | 第一篇:Linux 安装 Docker](https://www.cnblogs.com/haoxianrui/p/14067423.html)
|
|
|
|
|
2. [Docker实战 | 第二篇:Docker部署nacos-server:1.4.0](https://www.cnblogs.com/haoxianrui/p/14059009.html)
|
|
|
|
|
3. [Docker实战 | 第三篇:IDEA集成Docker插件实现一键自动打包部署微服务项目,一劳永逸的技术手段值得一试](https://www.cnblogs.com/haoxianrui/p/14088400.html)
|
|
|
|
|
4. [Docker实战 | 第四篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署](https://www.cnblogs.com/haoxianrui/p/14091762.html)
|
|
|
|
|
5. [Docker实战 | 第五篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结](https://www.cnblogs.com/haoxianrui/p/14095306.html)
|
|
|
|
|
|
2020-09-08 01:39:13 +08:00
|
|
|
|
## 问题
|
|
|
|
|
|
2021-01-29 00:04:12 +08:00
|
|
|
|
- 如果github拉取失败请移步至码云[https://gitee.com/haoxr](https://gitee.com/youlaiteam),代码是同步的。
|
2021-01-23 18:41:00 +08:00
|
|
|
|
|
|
|
|
|
- 项目在搭建的过程中如您遇到任何问题,可以联系我(微信号:haoxianrui),如果不能及时回复也可以在github提issue。
|
2020-12-14 19:28:40 +08:00
|
|
|
|
|
2021-01-29 00:04:12 +08:00
|
|
|
|
- 演示环境禁止修改、删除重要数据,请本地部署后测试
|
|
|
|
|
|
2020-12-14 19:28:40 +08:00
|
|
|
|
|
|
|
|
|
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|