提交 a79914ac 编写于 作者: 有来技术

docs(README.md): 添加云环境启动说明

上级 f4b0a928
......@@ -13,7 +13,7 @@
[youlai-mall](https://gitee.com/youlaitech/youlai-mall) 是基于Spring Boot 2.5、Spring Cloud 2020 & Alibaba 2021、vue、element-ui、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) 等多端的开发。
项目采用微服务、前后端分离开发模式;汇集全栈主流的技术栈; 涉及 [微服务接口](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) 等多端的开发。
#### 项目特色
- Spring Cloud + Vue + Docker全栈开发
......@@ -91,40 +91,73 @@ youlai-mall
## 项目启动
#### 后台微服务启动
### 微服务接口启动
> 后台微服务启动有云环境和本地环境两种方式。为了方便大家快速启动看到效果,`有来技术团队`提供在线的云环境,无需安装项目依赖的中间件。如需切换到你自己的环境,在Nacos控制台修改公共配置文件`youlai-common.yaml`的MySQL、Redis、RabbitMQ等中间件的连接信息即可。
✨温馨提示✨ 云环境是团队无条件提供出来方便启动测试,风险多大应该都懂,希望大家多多爱护不要钻漏洞和修改数据,如果时间条件允许,建议在自己的本地环境启动。
#### 一. 云环境启动
1. **Nacos 启动和导入配置**
- 启动Nacos
IDEA底部工具栏点击Terminal终端命令行,执行`cd middleware/nacos/bin`命令切换到`Nacos`的启动脚本目录下,执行`startup -m standalone`命令启动`Nacos`服务。
```✨温馨提示✨ Nacos 默认有内置数据库,这里就先用默认,如有切换MySQL的需要,下文本地环境有说明。```
- 导入配置
浏览器输入 http://localhost:8848/nacos ,输入用户名/密码:nacos/nacos 进入控制台,在 配置管理→配置列表 页面选择项目里的文件`docs/nacos/DEFAULT_GROUP.zip`导入。
![](https://gitee.com/haoxr/image/raw/master/20210623012937.png)
2. **服务启动**
进入`youlai-gateway`、`youlai-auth`、 `youlai-admin`3个基础服务,找到对应的启动类,
分别是GatewayApplication、AuthApplication以及`youlai-admin`的子模块`admin-boot`的AdminApplication类,商城模块按需启动。 浏览器访问 http://localhost:9999/doc.html 项目的接口文档,如果界面显示正常,代表服务启动成功。
#### 二. 本地环境启动
1. **安装环境**
安装`MySQL8``Redis`中间件,如果不方便安装,Nacos的公共配置文件`youlai-common.yaml`的中间件默认配置的是`有来项目团队`提供的云环境,顶着风险提供给大家测试,望理解不做破坏。
安装`MySQL`、`Redis`中间件,MySQL的版本5.x和8.x都可以
2. **创建数据库**
- 新建平台数据库,进入项目`docs/sql`,根据MySQL版本选择对应的目录,首先执行`database.sql`创建数据库,然后执行`youlai.sql``mall_*.sql`完成表的创建和数据的导入
- 创建`Nacos`数据库,执行脚本`middleware/nacos/conf/nacos-mysql.sql`完成`Nacos`数据库的初始化
3. **Nacos配置和启动(非常重要)**
- 新建平台数据库,进入项目`docs/sql`,根据MySQL版本选择,先执行`database.sql`创建数据库,再执行`youlai.sql`、`mall_*.sql`完成表的创建和数据的导入。
- 创建`Nacos`数据库,执行脚本`middleware/nacos/conf/nacos-mysql.sql`完成`Nacos`数据库的初始化。
- 修改`Nacos`数据源,进入配置`middleware/nacos/conf/application.properties`将数据源修改为您自己的环境
3. **Nacos 启动和配置**
- 修改`Nacos`数据源,进入配置`middleware/nacos/conf/application.properties`将数据源修改为您自己的环境;
- 启动`Nacos`, IDEA下方工具栏点击Terminal终端命令行,执行`cd middleware/nacos/bin`命令切换到`Nacos`的启动脚本文件夹下,然后执行`startup -m standalone`命令启动`Nacos`服务;
- 启动`Nacos`成功之后,访问`Nacos`控制台,在浏览器输入 http://localhost:8848/nacos ,输入用户名/密码:nacos/nacos进入管理页面;
![](https://gitee.com/haoxr/image/raw/master/20210623012937.png)
- 浏览器输入 http://localhost:8848/nacos ,输入用户名/密码:nacos/nacos 进入控制台,在 配置管理→配置列表 页面选择项目里的文件`docs/nacos/DEFAULT_GROUP.zip`导入。
- 导入`Nacos`配置,在启动`Nacos`服务进入控制台导入`docs/nacos/DEFAULT_GROUP.zip`配置,进入共享配置`youlai-common.yaml`修改MySQL、Redis、RabbitMQ等中间件的信息,默认是`有来`云服务器环境。
![](https://gitee.com/haoxr/image/raw/master/20210623012937.png)
![image-20210623013306256](https://gitee.com/haoxr/image/raw/master/image-20210623013306256.png)
- 导入`Nacos`配置,在启动`Nacos`服务进入控制台导入`docs/nacos/DEFAULT_GROUP.zip`配置,进入共享配置`youlai-common.yaml`修改MySQL、Redis、RabbitMQ等中间件的信息,默认是`有来技术团队`云服务器环境。
![](https://gitee.com/haoxr/image/raw/master/default/20210829124804.png)
4. `Nacos`启动完成和MySQL、Redis连接信息修改完成后,分别启动`youlai-gateway`、`youlai-auth`、 `youlai-admin`模块,
启动类分别对应的是GatewayApplication、AuthApplication以及`youlai-admin`的子模块`admin-boot`的AdminApplication类,至此完成整个项目基础服务的启动;
#### 管理前端启动
### 管理前端启动
1. 本机安装Node环境
2. npm install
3. npm run dev
4. 访问 http://localhost:9527
#### 微信小程序启动
✨温馨提示✨ `npm install` 有些依赖包需从github拉取,网络不好会有失败的情况,可以切换好点的网络或者找其他童鞋要一份完整的`node_modules`依赖包导入。
![](https://gitee.com/haoxr/image/raw/master/default/20210829131310.png)
### 微信小程序启动
1. 下载`HBuilder X`和`微信开发者工具`
2. 微信公众平台申请小程序,获得小程序的AppID
......@@ -133,15 +166,17 @@ youlai-mall
5. Nacos控制台修改`youlai-auth`配置中的微信小程序AppID和AppSecret为自己申请的小程序
6. `Hbuilder X`工具栏点击 `运行`->`运行到小程序模拟器`->`微信开发者工具`
![](https://gitee.com/haoxr/image/raw/master/default/20210829131825.png)
## 接口测试
#### Spring Security OAuth2认证授权接口
- **Postman**
1. 请求参数类型为Query Param或者form-data,出现很多错误的情况是将参数是JSON格式放在请求Body中
2. Spring Security OAuth2新版本不再支持将客户端信息client_id和client_secret放在请求路径的这种方式,否者会出现401的错误(已验证)
3. OAuth2客户端信息在Authorization标签选择Basic Auth然后填写client_id和client_secret
- 请求参数类型为Query Param或者form-data,出现很多错误的情况是将参数是JSON格式放在请求Body中
- Spring Security OAuth2新版本不再支持将客户端信息client_id和client_secret放在请求路径的这种方式,否者会出现401的错误(已验证)
- OAuth2客户端信息在Authorization标签选择Basic Auth然后填写client_id和client_secret
| Query Params参数 | Authorization |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
......@@ -149,9 +184,9 @@ youlai-mall
- **Knife4j接口文档(推荐)**
1. 接口文档地址,启动网关访问 http://localhost:9999/doc.html (默认)
2. 请求接口之前,先执行对应模块下的第一个接口Authorize完成认证,通过后再打开其他接口请求头会**自动**填充token
3. client/123456 是**有来项目**预留用于测试的客户端信息,因为Knife4j完成自动填充不能包装返回值,和大多数实际项目需包装返回值添加状态码不符
- 接口文档地址,启动网关访问 http://localhost:9999/doc.html (默认)
- 请求接口之前,先执行对应模块下的第一个接口Authorize完成认证,通过后再打开其他接口请求头会**自动**填充token
- client/123456 是**有来项目**预留用于测试的客户端信息,因为Knife4j完成自动填充不能包装返回值,和大多数实际项目需包装返回值添加状态码不符
| 认证授权 | 认证成功自动填充Header |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
......
✨✨✨✨
配置文件或者SQL因为更新比较频繁,如果是凌晨几点更新的,可能出错的概率会比较大,如有影响项目启动的配置错误,拜托及时告知(微信号:haoxianrui),先感谢为敬意!
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册