youlai-mall全棧開(kāi)源商城項(xiàng)目
youlai-mall 是基于Spring Boot 2.6、Spring Cloud 2021 & Alibaba 2021、Vue3、Element-Plus、uni-app等主流技術(shù)棧構(gòu)建的一整套全棧開(kāi)源商城項(xiàng)目, 涉及 后端微服務(wù)、 前端管理 、 微信小程序和 APP應(yīng)用 等多端的開(kāi)發(fā)。
在線預(yù)覽:www.youlai.tech
H5商城在線預(yù)覽:mall.youlai.tech
開(kāi)源地址: Github | Gitee | GitCode
博客主頁(yè): https://www.cnblogs.com/haoxianrui
開(kāi)發(fā)者文檔:http://youlaitech.gitee.io/youlai-mall
?? 項(xiàng)目特色
- 項(xiàng)目使用皆是當(dāng)前主流的技術(shù)棧,無(wú)過(guò)度自定義封裝,易理解學(xué)習(xí)和二次擴(kuò)展;
- SpringBoot 2.6、SpringCloud 2021 & Alibaba 2021 一站式微服務(wù)開(kāi)箱即用的解決方案;
- Spring Security OAuth2 、 Spring Cloud Gateway 、 JWT 統(tǒng)一認(rèn)證鑒權(quán)和常用 OAuth2 授權(quán)模式擴(kuò)展;
- 移動(dòng)端采用終極跨平臺(tái)解決方案 uni-app, 一套代碼編譯iOS、Android、H5和小程序等多個(gè)平臺(tái);
- Jenkins、K8s、Docker實(shí)現(xiàn)微服務(wù)持續(xù)集成與交付(CI/CD)。
?? 在線預(yù)覽
| 地址 | |
|---|---|
| 管理前端 Vue3 | www.youlai.tech |
| 管理前端 Vue2 | www.youlai.tech:9527 |
| H5 移動(dòng)端 | www.youlai.tech:81 |
?? 預(yù)覽截圖
| 「App」Spring Security OAuth2 手機(jī)短信驗(yàn)證碼模式 | 「小程序」Spring Security OAuth2 微信授權(quán)模式 |
|---|---|
| 「管理前端」Spring Security OAuth2 密碼模式 | 「管理前端」Spring Security OAuth2 驗(yàn)證碼模式 |
?? 源碼地址
| Gitee | Github | GitCode | |
|---|---|---|---|
| 開(kāi)源組織 | 有來(lái)開(kāi)源組織 | 有來(lái)開(kāi)源組織 | 有來(lái)開(kāi)源組織 |
| 后端 | youlai-mall | youlai-mall | youlai-mall |
| 管理前端 | mall-admin-web | mall-admin-web | mall-admin-web |
| 小程序/H5/移動(dòng)端 | mall-app | mall-app | mall-app |
?? 項(xiàng)目啟動(dòng)
?? 后端啟動(dòng)
極速啟動(dòng)是方便快速啟動(dòng)查看效果的啟動(dòng)方式,其中的數(shù)據(jù)庫(kù)和Redis等中間件使用的是有來(lái)提供的云環(huán)境,切勿修改數(shù)據(jù),有時(shí)間條件建議本地啟動(dòng)。
1?? 極速啟動(dòng)
-
啟動(dòng) Nacos
- IDEA 打開(kāi)命令行終端 Terminal,輸入
cd middleware/nacos/bin切換到 Nacos 的 bin 目錄,執(zhí)行startup -m standalone啟動(dòng) Nacos 服務(wù)。
- IDEA 打開(kāi)命令行終端 Terminal,輸入
-
服務(wù)啟動(dòng)
-
youlai-gateway模塊的啟動(dòng)類 GatewayApplication 啟動(dòng)網(wǎng)關(guān); -
youlai-auth模塊的啟動(dòng)類 AuthApplication 啟動(dòng)認(rèn)證中心; -
youlai-admin→admin-boot模塊的啟動(dòng)類 AdminApplication 啟動(dòng)系統(tǒng)服務(wù); -
至此完成基礎(chǔ)服務(wù)的啟動(dòng),商城服務(wù)按需啟動(dòng),啟動(dòng)方式和
youlai-admin一致; -
訪問(wèn)接口文檔地址測(cè)試: http://localhost:9999/doc.html
-
2?? 本地啟動(dòng)
-
中間件安裝(??必裝 ?可選)
為了避免數(shù)據(jù)和線上環(huán)境沖突,MySQL 和 Redis 必裝,不安裝可默認(rèn)使用有來(lái)線上環(huán)境
- ??MySQL 安裝
- ??Redis 安裝
- ?RabbitMQ
- ?Seata 安裝
- ?Sentinel 安裝
-
數(shù)據(jù)庫(kù)創(chuàng)建和數(shù)據(jù)初始化
-
系統(tǒng)數(shù)據(jù)庫(kù)
進(jìn)入
doc/sql目錄 , 根據(jù) MySQL 版本選擇對(duì)應(yīng)的腳本;先執(zhí)行
database.sql完成數(shù)據(jù)庫(kù)的創(chuàng)建;再執(zhí)行
youlai.sql、mall_*.sql完成數(shù)據(jù)表的創(chuàng)建和數(shù)據(jù)初始化。 -
Nacos 數(shù)據(jù)庫(kù)
創(chuàng)建名為
nacos的數(shù)據(jù)庫(kù),執(zhí)行middleware/nacos/conf/nacos-mysql.sql腳本完成 Nacos 數(shù)據(jù)庫(kù)初始化。
-
-
Nacos 配置和啟動(dòng)
-
Nacos 配置持久化至 MySQL
進(jìn)入項(xiàng)目的
middleware/nacos/conf/application.properties文件修改 Nacos 配置的數(shù)據(jù)連接,需要修改配置如下: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
-
啟動(dòng)Nacos
IDEA 打開(kāi)命令行終端 Terminal,輸入
cd middleware/nacos/bin切換到 Nacos 的 bin 目錄,執(zhí)行startup -m standalone啟動(dòng) Nacos 服務(wù)。 -
導(dǎo)入Nacos配置
打開(kāi)瀏覽器,地址欄輸入 Nacos 控制臺(tái)的地址 http://localhost:8848/nacos ;
輸入用戶名/密碼:nacos/nacos ;
進(jìn)入控制臺(tái),點(diǎn)擊左側(cè)菜單
配置管理→配置列表進(jìn)入列表頁(yè)面,點(diǎn)擊導(dǎo)入配置選擇項(xiàng)目中的doc/nacos/DEFAULT_GROUP.zip文件。 -
修改Nacos配置
在 Nacos 控制臺(tái)配置列表選擇共享配置
youlai-common.yaml進(jìn)行編輯,修改 MySQL、Redis、RabbitMQ等中間件信息為您自己本地環(huán)境,默認(rèn)「有來(lái)」線上環(huán)境。 -
修改Nacos配置中心地址
批量替換應(yīng)用的 bootstrap-dev.yml 文件的配置中心地址
http://c.youlai.tech/8848→http://localhost/8848,默認(rèn)「有來(lái)」線上的配置中心地址。
-
-
服務(wù)啟動(dòng)
-
進(jìn)入
youlai-gateway模塊的啟動(dòng)類 GatewayApplication 啟動(dòng)網(wǎng)關(guān); -
進(jìn)入
youlai-auth模塊的啟動(dòng)類 AuthApplication 啟動(dòng)認(rèn)證授權(quán)中心; -
進(jìn)入
youlai-admin→admin-boot模塊的啟動(dòng)類 AdminApplication 啟動(dòng)系統(tǒng)服務(wù); -
至此完成基礎(chǔ)服務(wù)的啟動(dòng),商城服務(wù)按需啟動(dòng),啟動(dòng)方式和
youlai-admin一致; -
訪問(wèn)接口文檔地址測(cè)試: http://localhost:9999/doc.html)
-
?? 管理前端啟動(dòng)
- 本機(jī)安裝 Node 環(huán)境
- npm install
- npm run dev
- 訪問(wèn) http://localhost:9527
?? 微信小程序啟動(dòng)
- 下載
HBuilder X和微信開(kāi)發(fā)者工具; - 導(dǎo)入 mall-app 源碼至
HBuilder X; - 微信公眾平臺(tái)申請(qǐng)小程序,獲得小程序的AppID ;
-
微信開(kāi)發(fā)者工具微信掃碼登錄,開(kāi)啟服務(wù)端口,點(diǎn)擊工具欄設(shè)置->安全設(shè)置->安全->服務(wù)端口選擇打開(kāi) ; -
Hbuilder X替換項(xiàng)目AppID成自己的,點(diǎn)擊manifest.json文件->微信小程序配置 ; - Nacos控制臺(tái)替換
youlai-auth配置中的微信小程序 AppID 和 AppSecret 為自己申請(qǐng)的小程序 ; -
Hbuilder X工具欄點(diǎn)擊運(yùn)行->運(yùn)行到小程序模擬器->微信開(kāi)發(fā)者工具。
?? H5/移動(dòng)端啟動(dòng)
- 下載
HBuilder X; - 導(dǎo)入 mall-app 源碼至
HBuilder X; -
Hbuilder X工具欄點(diǎn)擊運(yùn)行->運(yùn)行到內(nèi)置瀏覽器。
?? 趨勢(shì)統(tǒng)計(jì)
- Gitee
- Github
