Go to file
2021-06-19 14:27:12 +08:00
docs fix:小程序用户认证接口调整,nacos问题修复 2021-06-10 02:06:46 +08:00
mall-oms build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 12:36:51 +08:00
mall-pms build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 12:36:51 +08:00
mall-sms build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
mall-ums build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
youlai-admin build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
youlai-auth build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
youlai-common build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 12:36:51 +08:00
youlai-gateway build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
.gitignore refactor:系统功能优化 2021-05-30 23:42:25 +08:00
LICENSE add LICENSE. 2021-02-06 09:17:26 +08:00
pom.xml build(pom.xml): 修改有来项目版本号1.0.0->2.0.0 2021-06-19 14:27:12 +08:00
README.md feat:微信小程序登录认证 2021-06-11 01:44:20 +08:00

项目介绍

youlai-mall 是基于Spring Boot 2.5.0、Spring Cloud 2020 & Alibaba 2021、Vue、Element-UI、uni-app快速构建的一套全栈开源商城项目包括微服务应用、管理平台、微信小程序及APP应用

项目特色

  • 项目使用都是最新主流的开源框架,无过度自定义封装的逻辑,易理解上手和方便扩展

  • 基于Spring Boot 2.5.0、Spring Cloud 2020 & Alibaba 2021一站式微服务解决方案快速开发分布式服务

  • 实现Spring Cloud OAuth2、Spring Cloud Gateway、JWT分布式统一认证鉴权和RBAC 权限系统设计

  • 使用vue-element-admin的后台前端解决方案基于Vue和Element-UI快速搭建前后端分离的商城管理平台

  • 通过uni-app使用Vue开发实现跨所有前端的应用包含微信小程序、APP应用

  • 使用Docker快速构建项目环境和一键打包部署微服务项目

项目愿景

项目从01的构建过程已无保留的在项目文章中说明,真正的开源不图利益。

项目慢慢成型的路上离不开支持还有默默点star的那些小伙伴在这里抱拳谢过各位道友了。

项目地址

1. 体验

商城管理平台访问地址: http://www.youlai.tech

【有来小店】微信小程序体验码,扫描后申请体验看到直接通过

交流群二维码过期,加我微信我直接拉你进群

2. 源码

项目名称 Github 码云
微服务后台 youlai-mall youlai-mall
管理前端 youlai-mall-admin youlai-mall-admin
微信小程序 youlai-mall-weapp youlai-mall-weapp
APP应用 youlai-mall-app youlai-mall-app

项目预览

1. 商城管理平台

1.1 系统管理

1.2 商品管理

2. 微信小程序

项目结构

youlai-mall
├── docs
    ├── nacos -- Nacos配置文件
    ├── sql   -- mysql数据库脚本
├── mall-oms
    ├── oms-api -- 订单中心对外Feign接口
    ├── oms-boot -- 订单中心
├── mall-pms
    ├── pms-api -- 商品中心对外Feign接口
    ├── pms-boot -- 商品中心
├── mall-sms
    ├── sms-api -- 营销中心对外Feign接口
    ├── sms-boot -- 营销中心
├── mall-ums
    ├── ums-api -- 会员中心对外Feign接口
    ├── ums-boot -- 会员中心
├── middleware -- 中间件Nacos、Sentinel
├── youlai-admin 
    ├── admin-api -- 系统管理对外Feign接口
    ├── admin-boot -- 系统管理
├── youlai-auth     -- 认证中心【Oauth2认证服务器】
├── youlai-common   -- 公共模块
└── youlai-gateway  -- Gateway网关【Oauth2资源服务器】

核心技术栈

后端技术 版本号
SpringBoot 2.5.0
Spring Cloud 2020.0.3
Spring Cloud Alibaba 2021.1
Nacos 2.0.1
Seata 1.4.1
Sentinel 1.8.1
MyBatis-Plus 3.4.3
Lombok 1.18.18
Hutool 5.5.8
Knife4j 2.0.8
MinIO 7.1.0
后台前端 版本号 微信小程序 版本号 APP 版本号
element-ui 2.13.2 uni-app 2.8.11 vant 2.5.4

项目启动

1. 后台微服务启动

云环境项目启动

项目依赖环境MySQL8、Redis、MinIO、Nacos默认均使用有来技术云环境,项目启动极其方便,步骤如下:

  1. 启动Nacos服务

    IDEA下方工具栏点击Terminal终端命令行执行cd middleware/nacos/bin命令切换到Nacos的启动脚本文件夹下然后执行startup -m standalone命令启动Nacos服务

  2. 启动平台基础服务

    分别启动youlai-gatewayyoulai-authyoulai-admin模块, 启动类分别对应的是GatewayApplication、AuthApplication以及youlai-admin的子模块admin-boot的AdminApplication类至此完成整个项目的启动

  3. 至此后台服务启动完毕如需商城服务启动对应模块的子模块biz的启动类即可。

云环境是无条件的提供给大家,但千万不要改动云环境的数据和配置,因为改动会导致整个项目无法运行,考虑下开发人员和其他小伙伴,手下留情。

本地环境项目启动

云环境不能改动数据和配置,如需修改,建议本地环境搭建启动,步骤如下:

  1. 安装环境

    安装MySQL8Redis

  2. 创建数据库

    • 新建平台数据库,执行项目document/sql下的SQL脚本完成数据库创建基础sql脚本为youlai.sql,商城脚本为mall-*,商城数据库按需创建

    • 创建Nacos数据库,执行脚本middleware/nacos/conf/nacos-mysql.sql完成Nacos数据库的初始化

  3. Nacos配置

    • 修改Nacos数据源,进入配置middleware/nacos/conf/application.properties将数据源修改为自己的环境连接

    • 导入Nacos配置,在启动Nacos服务进入控制台导入document/nacos/DEFAULT_GROUP.zip配置然后分别进入各个微服务配置修改Redis、MySQL连接

  4. 至此环境配置准备完毕,接下来按照云环境启动平台基础服务步骤启动服务即可。

2. 后台前端启动

  1. 本机安装Node环境
  2. npm install
  3. npm run dev
  4. 访问 http://localhost:9527

3. 微信小程序启动

  1. 下载HBuilder X微信开发者工具
  2. 微信公众平台申请小程序获得小程序的AppID
  3. 微信开发者工具微信扫码登录,开启服务端口,点击工具栏设置->安全设置->安全->服务端口选择打开
  4. Hbuilder X替换项目AppID成自己的点击manifest.json文件->微信小程序配置
  5. Nacos控制台修改youlai-auth配置中的微信小程序AppID和AppSecret为自己申请的小程序
  6. Hbuilder X工具栏点击 运行->运行到小程序模拟器->微信开发者工具

项目文档

后台微服务

  1. Spring Cloud实战 | 第一篇Windows搭建Nacos服务
  2. Spring Cloud实战 | 第二篇Spring Cloud整合Nacos实现注册中心
  3. Spring Cloud实战 | 第三篇Spring Cloud整合Nacos实现配置中心
  4. Spring Cloud实战 | 第四篇Spring Cloud整合Gateway实现API网关
  5. Spring Cloud实战 | 第五篇Spring Cloud整合OpenFeign实现微服务之间的调用
  6. Spring Cloud实战 | 第六篇Spring Cloud Gateway+Spring Security OAuth2+JWT实现微服务统一认证授权
  7. Spring Cloud实战 | 最七篇Spring Cloud Gateway+Spring Security OAuth2集成统一认证授权平台下实现注销使JWT失效方案
  8. Spring Cloud实战 | 最八篇Spring Cloud +Spring Security OAuth2+ Vue前后端分离模式下无感知刷新实现JWT续期
  9. Spring Cloud实战 | 最九篇Spring Security OAuth2认证服务器统一认证自定义异常处理
  10. Spring Cloud& Alibaba 实战 | 第十篇 Spring Cloud + Nacos整合Seata 1.4.1最新版本实现微服务架构中的分布式事务,进阶之路必须要迈过的槛
  11. Spring Cloud & Alibaba 实战 | 第十一篇 Spring Cloud Gateway网关实现对RESTful接口权限和按钮权限细粒度控制
  12. Spring Cloud & Alibaba 实战 | 第十二篇: Sentinel+Nacos实现流控、熔断降级赋能拥有降级功能的Feign新技能熔断做到熔断降级双剑合璧

后台管理前端

  1. vue-element-admin实战 | 第一篇: 移除mock接入微服务接口搭建SpringCloud+Vue前后端分离管理平台
  2. vue-element-admin实战 | 第二篇: 最小改动接入后台实现根据权限动态加载菜单

微信小程序

  1. vue+uni-app商城实战 | 第一篇从0到1快速开发一个商城微信小程序无缝接入Spring Cloud OAuth2认证授权登录

应用部署

  1. Docker实战 | 第一篇Linux 安装 Docker
  2. Docker实战 | 第二篇Docker部署nacos-server:1.4.0
  3. Docker实战 | 第三篇IDEA集成Docker插件实现一键自动打包部署微服务项目一劳永逸的技术手段值得一试
  4. Docker实战 | 第四篇Docker安装Nginx实现基于vue-element-admin框架构建的项目线上部署
  5. Docker实战 | 第五篇Docker启用TLS加密解决暴露2375端口引发的安全漏洞被黑掉三台云主机的教训总结

分布式

  1. 分布式实战 | 第一篇 SpringBoot整合ELK实现分布式登录日志收集和统计

接口文档

本地启动网关youlai-gateway和相应的服务,访问 http://localhost:9999/doc.html

其他说明

  • 如果github拉取失败请移步至码云https://gitee.com/haoxr,代码是同步的

  • 项目在搭建的过程中如您遇到任何问题,可加我微信(haoxianrui)或者微信群也可在github提issue

  • 演示环境禁止修改、删除重要数据,请本地部署后操作