2022-02-13 23:56:03 +08:00
|
|
|
|
<p align="center">
|
2022-05-01 00:37:31 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/SpringBoot-2.6.6-brightgreen.svg"/>
|
2022-02-01 12:51:50 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/SpringCloud & Alibaba -2021-green.svg"/>
|
2022-02-01 12:49:32 +08:00
|
|
|
|
<a src="https://github.com/hxrui" target="_blank">
|
|
|
|
|
<img src="https://img.shields.io/github/stars/youlaitech/youlai-mall.svg?style=social&label=Stars"/>
|
|
|
|
|
</a>
|
|
|
|
|
<a href="https://gitee.com/youlaitech/youlai-mall" target="_blank">
|
|
|
|
|
<img src="https://gitee.com/youlaitech/youlai-mall/badge/star.svg"/>
|
|
|
|
|
</a>
|
2022-02-01 12:51:50 +08:00
|
|
|
|
<br/>
|
2022-02-01 12:49:32 +08:00
|
|
|
|
<img src="https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg"/>
|
|
|
|
|
<a href="https://gitee.com/youlaiorg" target="_blank">
|
|
|
|
|
<img src="https://img.shields.io/badge/Author-有来开源组织-orange.svg"/>
|
|
|
|
|
</a>
|
2022-02-13 23:56:03 +08:00
|
|
|
|
</p>
|
2022-02-14 08:07:16 +08:00
|
|
|
|
<p align="center">
|
2022-02-16 23:47:42 +08:00
|
|
|
|
<strong>在线预览:</strong><a target="_blank" href="http://www.youlai.tech">www.youlai.tech</a>
|
2022-02-14 08:07:16 +08:00
|
|
|
|
</p>
|
|
|
|
|
|
2022-02-24 01:06:17 +08:00
|
|
|
|
<p align="center">
|
|
|
|
|
<strong>H5商城在线预览:</strong><a target="_blank" href="http://www.youlai.tech:81">mall.youlai.tech</a>
|
|
|
|
|
</p>
|
2022-02-14 08:07:16 +08:00
|
|
|
|
|
2022-02-13 23:56:03 +08:00
|
|
|
|
<p align="center">
|
2022-02-16 23:47:42 +08:00
|
|
|
|
<strong>开源地址:</strong> <a target="_blank" href='https://github.com/hxrui'>Github</a> | <a target="_blank" href='https://gitee.com/haoxr'>Gitee</a> | <a target="_blank" href='https://gitcode.net/youlai'>GitCode</a>
|
2022-02-13 23:56:03 +08:00
|
|
|
|
</p>
|
2022-02-01 12:49:32 +08:00
|
|
|
|
|
2022-02-13 23:56:03 +08:00
|
|
|
|
<p align="center">
|
2022-02-16 23:47:42 +08:00
|
|
|
|
<strong>博客主页:</strong><a target="_blank" href="https://www.cnblogs.com/haoxianrui/"> https://www.cnblogs.com/haoxianrui</a>
|
2022-02-13 23:56:03 +08:00
|
|
|
|
</p>
|
2021-10-20 01:18:15 +08:00
|
|
|
|
|
2022-02-13 23:56:03 +08:00
|
|
|
|
<p align="center">
|
2022-02-16 23:47:42 +08:00
|
|
|
|
<strong>开发者文档:</strong><a target="_blank" href="http://youlaitech.gitee.io/youlai-mall">http://youlaitech.gitee.io/youlai-mall</a>
|
2022-02-13 23:56:03 +08:00
|
|
|
|
</p>
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-02-13 23:56:03 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
## 🈶 项目介绍
|
|
|
|
|
|
|
|
|
|
### 🗁 项目简介
|
|
|
|
|
|
|
|
|
|
[youlai-mall](https://gitee.com/haoxr) 是基于Spring Boot 2.6、Spring Cloud 2021 & Alibaba 2021、Vue3、Element-Plus、uni-app等主流技术栈构建的一整套全栈开源商城项目, 涉及 [后端微服务](https://gitee.com/youlaitech/youlai-mall)、 [前端管理](https://gitee.com/youlaitech/youlai-mall-admin) 、 [微信小程序](https://gitee.com/youlaitech/youlai-mall-weapp)和 [APP应用](https://gitee.com/youlaitech/youlai-mall-weapp) 等多端的开发。
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2021-10-19 01:23:17 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
### 🗁 项目特色
|
|
|
|
|
|
2022-02-01 00:31:22 +08:00
|
|
|
|
- 项目使用皆是当前主流的技术栈,无过度自定义封装,易理解学习和二次扩展;
|
|
|
|
|
- SpringBoot 2.6、SpringCloud 2021 & Alibaba 2021 一站式微服务开箱即用的解决方案;
|
2022-02-01 12:49:32 +08:00
|
|
|
|
- Spring Security OAuth2 、 Spring Cloud Gateway 、 JWT 统一认证鉴权和常用 OAuth2 授权模式扩展;
|
2022-02-01 00:31:22 +08:00
|
|
|
|
- 移动端采用终极跨平台解决方案 uni-app, 一套代码编译iOS、Android、H5和小程序等多个平台;
|
2022-02-01 12:49:32 +08:00
|
|
|
|
- Jenkins、K8s、Docker实现微服务持续集成与交付(CI/CD)。
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
|
|
|
|
### 🗁 在线预览
|
|
|
|
|
|
2022-02-16 13:21:24 +08:00
|
|
|
|
| | 地址 |
|
|
|
|
|
| ------------- | --------------------------------------------------- |
|
|
|
|
|
| 管理前端 Vue3 | [www.youlai.tech](http://www.youlai.tech) |
|
|
|
|
|
| 管理前端 Vue2 | [www.youlai.tech:9527](http://www.youlai.tech:9527) |
|
|
|
|
|
| H5 移动端 | [www.youlai.tech:81](http://www.youlai.tech:9527) |
|
2022-02-01 12:49:32 +08:00
|
|
|
|
|
2022-02-01 00:32:45 +08:00
|
|
|
|
|
2022-03-27 10:30:32 +08:00
|
|
|
|
### 🗁 项目预览
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-02-16 13:21:24 +08:00
|
|
|
|
| 「App」Spring Security OAuth2 手机短信验证码模式 | 「小程序」Spring Security OAuth2 微信授权模式 |
|
|
|
|
|
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
2022-04-15 12:33:17 +08:00
|
|
|
|
| <img src="https://www.youlai.tech/files/blog/smsauth.gif" width="100%" height="400px"/> | <img src="https://www.youlai.tech/files/blog/wechatauth.gif" width="100%" height="400px"/> |
|
2022-02-16 13:21:24 +08:00
|
|
|
|
| **「管理前端」Spring Security OAuth2 密码模式** | **「管理前端」Spring Security OAuth2 验证码模式** |
|
2022-04-15 12:33:17 +08:00
|
|
|
|
| <img src="https://www.youlai.tech/files/blog/passwordauth.gif" width="100%" height="400px"/> | <img src="https://www.youlai.tech/files/blog/captchaauth.gif" width="100%" height="400px"/> |
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-03-29 22:33:19 +08:00
|
|
|
|
## 🍸 源码地址
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-03-27 22:37:57 +08:00
|
|
|
|
| |Gitee| Github| GitCode |
|
|
|
|
|
| ---- | ----| ---- | ---- |
|
|
|
|
|
| 开源组织 | [有来开源组织](https://gitee.com/youlaiorg) | [有来开源组织](https://github.com/youlaitech) | [有来开源组织](https://gitcode.net/youlai) |
|
|
|
|
|
| 技术团队 | [有来技术团队](https://gitee.com/youlaitech) | [有来技术团队](https://github.com/youlaitech) | - |
|
|
|
|
|
| 商城后端 | [youlai-mall](https://gitee.com/youlaiorg/youlai-mall)| [youlai-mall](https://github.com/youlaitech/youlai-mall) | [youlai-mall](https://gitcode.net/youlai/youlai-mall) |
|
|
|
|
|
| 商城管理前端(Vue3)| [mall-admin-web](https://gitee.com/youlaiorg/mall-admin-web) | [mall-admin-web](https://github.com/youlaitech/mall-admin-web) | [mall-admin-web](https://gitcode.net/youlai/mall-admin-web) |
|
|
|
|
|
| 商城管理前端(Vue2)| [mall-admin-web](https://gitee.com/youlaitech/youlai-mall-admin/tree/vue2/) | [mall-admin-web](https://github.com/youlaitech/mall-admin-web/tree/vue2/) | - |
|
|
|
|
|
| 小程序/H5/移动端 | [mall-app](https://gitee.com/youlaiorg/mall-app)| [mall-app](https://github.com/youlaitech/mall-app) | [mall-app](https://gitcode.net/youlai/mall-app) |
|
|
|
|
|
| vue3-element-admin| [vue3-element-admin](https://gitee.com/youlaiorg/vue3-element-admin) | [vue3-element-admin](https://github.com/youlaitech/vue3-element-admin) |-|
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2022-02-16 23:47:42 +08:00
|
|
|
|
## 🚤 项目启动
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
|
|
|
|
### 🗁 后端启动
|
2021-02-06 21:42:32 +08:00
|
|
|
|
|
2022-02-01 00:47:54 +08:00
|
|
|
|
> `极速启动` 是方便快速启动查看效果的启动方式,其中的数据库和Redis等中间件使用的是有来提供的云环境,切勿修改数据,有时间条件建议`本地启动`。
|
2021-10-20 01:20:15 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
#### 1️⃣ 极速启动
|
|
|
|
|
|
2022-01-31 21:31:48 +08:00
|
|
|
|
1. **启动 Nacos**
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- IDEA 打开命令行终端 Terminal,输入 `cd middleware/nacos/bin` 切换到 Nacos 的 bin 目录,执行 `startup -m standalone` 启动 Nacos 服务。
|
2021-10-20 01:20:15 +08:00
|
|
|
|
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-02-15 23:21:21 +08:00
|
|
|
|
2. **服务启动**
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- `youlai-gateway` 模块的启动类 GatewayApplication 启动网关;
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- `youlai-auth` 模块的启动类 AuthApplication 启动认证中心;
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- `youlai-admin` → `admin-boot` 模块的启动类 AdminApplication 启动系统服务;
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 至此完成基础服务的启动,商城服务按需启动,启动方式和 `youlai-admin` 一致;
|
|
|
|
|
|
|
|
|
|
- 访问接口文档地址测试: [http://localhost:9999/doc.html](http://localhost:9999/doc.html)
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
#### 2️⃣ 本地启动
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2021-06-23 02:00:44 +08:00
|
|
|
|
|
2022-02-01 00:47:54 +08:00
|
|
|
|
1. **中间件安装(🔴必装 ⚪可选)**
|
2022-02-16 13:21:24 +08:00
|
|
|
|
|
|
|
|
|
> 为了避免数据和线上环境冲突,MySQL 和 Redis 必装,不安装可默认使用有来线上环境
|
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 🔴MySQL 安装
|
|
|
|
|
- 🔴Redis 安装
|
|
|
|
|
- ⚪RabbitMQ
|
|
|
|
|
- ⚪Seata 安装
|
|
|
|
|
- ⚪Sentinel 安装
|
2022-04-10 22:17:27 +08:00
|
|
|
|
|
2022-02-01 00:47:54 +08:00
|
|
|
|
2. **数据库创建和数据初始化**
|
2021-06-23 02:00:44 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- **系统数据库**
|
|
|
|
|
|
|
|
|
|
进入 `docs/sql` 目录 , 根据 MySQL 版本选择对应的脚本;
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
先执行 `database.sql` 完成数据库的创建;
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
再执行 `youlai.sql` 、`mall_*.sql` 完成数据表的创建和数据初始化。
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- **Nacos 数据库**
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
创建名为 `nacos` 的数据库,执行 `middleware/nacos/conf/nacos-mysql.sql` 脚本完成 Nacos 数据库初始化。
|
2021-02-06 17:44:06 +08:00
|
|
|
|
|
2022-04-10 22:17:27 +08:00
|
|
|
|
3. **Nacos 配置持久化至 MySQL**
|
2022-04-06 23:55:22 +08:00
|
|
|
|
|
|
|
|
|
进入项目的 `middleware/nacos/conf/application.properties` 文件修改 Nacos 配置的数据连接,需要修改配置如下:
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
```properties
|
|
|
|
|
spring.datasource.platform=mysql
|
|
|
|
|
db.num=1
|
|
|
|
|
db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
|
|
|
|
|
db.user.0=root
|
|
|
|
|
db.password.0=123456
|
|
|
|
|
```
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-10 22:17:27 +08:00
|
|
|
|
4. **导入Nacos配置**
|
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
IDEA 打开命令行终端 Terminal,输入 `cd middleware/nacos/bin` 切换到 Nacos 的 bin 目录,执行 `startup -m standalone` 启动 Nacos 服务。
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
打开浏览器,地址栏输入 Nacos 控制台的地址 [ http://localhost:8848/nacos]( http://localhost:8848/nacos) ;
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
输入用户名/密码:nacos/nacos ;
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
进入控制台,点击左侧菜单 `配置管理` → `配置列表` 进入列表页面,点击 `导入配置` 选择项目中的 `docs/nacos/DEFAULT_GROUP.zip` 文件。
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-04-10 22:17:27 +08:00
|
|
|
|
5. **修改Nacos配置**
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
在 Nacos 控制台配置列表选择共享配置 `youlai-common.yaml` 进行编辑,修改 MySQL、Redis、RabbitMQ等中间件信息为您自己本地环境,默认「有来」线上环境。
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-10 22:17:27 +08:00
|
|
|
|
6. **修改Nacos配置中心地址**
|
2022-04-06 23:55:22 +08:00
|
|
|
|
|
|
|
|
|
批量替换应用的 bootstrap-dev.yml 文件的配置中心地址 `http://c.youlai.tech/8848` → `http://localhost/8848` ,默认「有来」线上的配置中心地址。
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-04-10 22:17:27 +08:00
|
|
|
|
7. **服务启动**
|
2022-02-01 00:47:54 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 进入 `youlai-gateway` 模块的启动类 GatewayApplication 启动网关;
|
|
|
|
|
|
|
|
|
|
- 进入 `youlai-auth` 模块的启动类 AuthApplication 启动认证授权中心;
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 进入 `youlai-admin` → `admin-boot` 模块的启动类 AdminApplication 启动系统服务;
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 至此完成基础服务的启动,商城服务按需启动,启动方式和 `youlai-admin` 一致;
|
2022-02-01 00:31:22 +08:00
|
|
|
|
|
2022-04-06 23:55:22 +08:00
|
|
|
|
- 访问接口文档地址测试: [http://localhost:9999/doc.html](http://localhost:9999/doc.html)
|
2022-02-16 12:50:47 +08:00
|
|
|
|
|
|
|
|
|
### 🗁 管理前端启动
|
|
|
|
|
|
2022-01-31 19:05:08 +08:00
|
|
|
|
1. 本机安装 Node 环境
|
2021-02-07 00:33:23 +08:00
|
|
|
|
2. npm install
|
|
|
|
|
3. npm run dev
|
2021-02-07 10:03:59 +08:00
|
|
|
|
4. 访问 http://localhost:9527
|
2020-09-08 01:39:13 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
### 🗁 微信小程序启动
|
|
|
|
|
|
2022-01-31 19:05:08 +08:00
|
|
|
|
1. 下载 `HBuilder X` 和 `微信开发者工具` ;
|
|
|
|
|
2. 导入 [mall-app](https://gitee.com/youlaitech/youlai-mall-weapp) 源码至 `HBuilder X` ;
|
2022-02-01 00:47:54 +08:00
|
|
|
|
3. 微信公众平台申请小程序,获得小程序的AppID ;
|
2022-01-31 19:05:08 +08:00
|
|
|
|
4. `微信开发者工具` 微信扫码登录,开启服务端口,点击工具栏 `设置` -> `安全设置` -> `安全` -> `服务端口`选择打开 ;
|
|
|
|
|
5. `Hbuilder X` 替换项目AppID成自己的,点击 `manifest.json` 文件->微信小程序配置 ;
|
|
|
|
|
6. Nacos控制台替换 `youlai-auth` 配置中的微信小程序 AppID 和 AppSecret 为自己申请的小程序 ;
|
|
|
|
|
7. `Hbuilder X` 工具栏点击 `运行` -> `运行到小程序模拟器` -> `微信开发者工具`。
|
2021-02-25 20:08:21 +08:00
|
|
|
|
|
2022-02-16 12:50:47 +08:00
|
|
|
|
### 🗁 H5/移动端启动
|
|
|
|
|
|
2022-01-31 19:05:08 +08:00
|
|
|
|
1. 下载 `HBuilder X` ;
|
|
|
|
|
2. 导入 [mall-app](https://gitee.com/youlaitech/youlai-mall-weapp) 源码至 `HBuilder X`;
|
|
|
|
|
3. `Hbuilder X` 工具栏点击 `运行` -> `运行到内置浏览器` 。
|
2021-02-25 20:08:21 +08:00
|
|
|
|
|
2022-04-03 11:15:09 +08:00
|
|
|
|
|
2022-04-03 11:17:38 +08:00
|
|
|
|
## ✅ Git 贡献提交规范
|
2022-04-03 11:15:09 +08:00
|
|
|
|
> IDEA 安装 Git Commit Template 插件
|
|
|
|
|
|
|
|
|
|
- feat 增加新功能
|
|
|
|
|
- fix 修复BUG
|
|
|
|
|
- docs 文档/注释
|
|
|
|
|
- style 代码风格改变但不影响运行结果(代码格式化、空格和空行调整等)
|
|
|
|
|
- refactor 代码重构
|
|
|
|
|
- test 测试
|
|
|
|
|
- chore 依赖更新
|
|
|
|
|
- ci 持续集成
|
|
|
|
|
|
2022-02-13 23:56:03 +08:00
|
|
|
|
## 💹 趋势统计
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
|
<a target="_blank" href='https://starchart.cc/hxrui/youlai-mall'><img src="https://starchart.cc/hxrui/youlai-mall.svg"></a>
|
|
|
|
|
</p>
|
|
|
|
|
|
2022-05-02 10:57:40 +08:00
|
|
|
|
|
|
|
|
|
## 贡献者
|
|
|
|
|
|
|
|
|
|
有来项目的存在离不开你们的贡献,真心感谢您们! 贴出您们的个人主页希望对你们有点些许帮助,也希望更多的学习爱好者加入到开源组织。
|
|
|
|
|
|
|
|
|
|
<a href="https://github.com/youlaitech/youlai-mall/graphs/contributors"><img src="https://opencollective.com/youlai-mall/contributors.svg?width=890" /></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-03-27 22:37:57 +08:00
|
|
|
|
## 💬 联系信息
|
2021-08-14 19:14:02 +08:00
|
|
|
|
|
2022-02-01 13:17:44 +08:00
|
|
|
|
> 欢迎添加开发者微信,备注「有来」进群
|
|
|
|
|
|
2022-03-26 00:22:33 +08:00
|
|
|
|
| 全栈 | 全栈 | DevOps |
|
|
|
|
|
| :---------------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
|
2022-04-10 22:17:27 +08:00
|
|
|
|
| ![](https://www.youlai.tech/files/blog/rui.jpg) | ![](https://www.youlai.tech/files/blog/chuan.jpg) | ![](https://gitee.com/haoxr/image/raw/master/default/jialin.jpg) |
|
2022-03-26 00:22:33 +08:00
|
|
|
|
|