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