1、項目介紹前端
mallplus項目是一套電商系統,包括前臺商城系統及後臺管理系統,小程序,h5,基於SpringBoot+MyBatis實現。vue
前臺商城系統包含首頁門戶、商品推薦、商品搜索、商品展現、購物車、訂單流程、會員中心、客戶服務、幫助中心等模塊。node
後臺管理系統包含商品管理、訂單管理、會員管理、促銷管理、運營管理、內容管理、統計報表、財務管理、權限管理、代碼生成設置等模塊 分銷商城,積分商城git
2、案例展現github
後臺項目演示:http://www.yjlive.cn:8090/web
移動端項目演示:http://www.yjlive.cn:8082/redis
pc項目演示:http://www.yjlive.cn:8088/spring
cms_*:內容管理模塊相關表
oms_*:訂單管理模塊相關表
pms_*:商品模塊相關表
sms_*:營銷模塊相關表
ums_*:會員模塊相關表
五.mall中使用的技術
mall採用現階主流技術實現,涵蓋了通常項目中幾乎全部使用的技術。
技術 版本 說明
Spring Boot 2.1.3 容器+MVC框架
Spring Security 5.1.4 認證和受權框架
MyBatis-plus 3.4.6 ORM框架
MyBatisGenerator 1.3.3 數據層代碼生成
PageHelper 5.1.8 MyBatis物理分頁插件
Swagger-UI 2.7.0 文檔生產工具
Elasticsearch 6.2.2 搜索引擎
RabbitMq 3.7.14 消息隊列
Redis 3.2 分佈式緩存
MongoDb 3.2 NoSql數據庫
Docker 18.09.0 應用容器引擎
Druid 1.1.10 數據庫鏈接池
OSS 2.5.0 對象存儲
JWT 0.9.0 JWT登陸支持
Lombok 1.18.6 簡化對象封裝工具
3、項目結構sql
mall數據庫
├── mallplus-mbg -- MyBatisGenerator生成的數據庫操做代碼
├── mallplus-admin -- 後臺商城管理系統接口
├── mall-search -- 基於Elasticsearch的商品搜索系統
├── mallplus-portal -- 前臺商城系統接口
└── mall-demo -- 框架搭建時的測試代碼
├── 前端項目--`mallplus-admin-web
├── h5前端項目--`vue-js-master`
├── pc前端項目--`Mall-Vue-master`
├── 小前端項目--`wechatapp`
4、技術架構
# mallcloud-platform
springcloud版本商城 https://gitee.com/catshen/zscat_sw
## 若是您以爲有幫助,請點右上角 "Star" 支持一下謝謝
[TOC]
## 1. 項目介紹
* 帳號密碼:admin/admin
* 應用監控帳號密碼:admin/admin
* 配置中心帳號密碼:nacos/nacos
* APM監控帳號密碼:admin/admin
* Grafana帳號:mall/mall
* txlcn事務管理器密碼:admin
* 任務管理帳號密碼:admin/123456
* **演示環境有全方位的監控示例:日誌系統 + APM系統 + GPE系統**
* 先後端分離的企業級微服務架構
* 基於`Spring Boot 2.0.X`、`Spring Cloud Finchley`和`Spring Cloud Alibaba`
* 深度定製`Spring Security`真正實現了基於`RBAC`、`jwt`和`oauth2`的無狀態統一權限認證的解決方案
* 提供應用管理,方便第三方系統接入
* 引入組件化的思想實現高內聚低耦合,項目代碼簡潔註釋豐富上手容易
* 注重代碼規範,嚴格控制包依賴,每一個工程基本都是最小依賴
* 很是適合學習和企業中使用
> cloud框架和組件來源:https://gitee.com/owenwangwen/open-capacity-platform
https://gitee.com/zlt2000/microservices-platform
> 業務邏輯來源:https://github.com/shenzhuan/mallplus
## 2. 項目整體架構圖
## 3. 功能介紹
* **統一認證功能**
* 支持oauth2的四種模式登陸
* 支持用戶名、密碼加圖形驗證碼登陸
* 支持手機號加密碼登陸
* 支持openId登陸
* 支持第三方系統單點登陸
* **分佈式系統基礎支撐**
* 服務註冊發現、路由與負載均衡
* 服務降級與熔斷
* 服務限流(url/方法級別)
* 統一配置中心
* 統一日誌中心
* 統一分佈式緩存操做類、cacheManager配置擴展
* 分佈式鎖
* 分佈式任務調度器
* 支持CI/CD持續集成(包括前端和後端)
* 分佈式高性能Id生成器
* 分佈式事務
* **系統監控功能**
* 服務調用鏈監控
* 應用拓撲圖
* 慢服務檢測
* 服務Metric監控
* 應用監控(應用健康、JVM、內存、線程)
* 錯誤日誌查詢
* 慢查詢SQL監控
* 應用吞吐量監控(qps、rt)
* 服務降級、熔斷監控
* 服務限流監控
* 分庫分表、讀寫分離
* **業務基礎功能支撐**
* 高性能方法級冪等性支持
* RBAC權限管理,實現細粒度控制(方法、url級別)
* 快速實現導入、導出功能
* 數據庫訪問層自動實現crud操做
* 代碼生成器
* 基於Hutool的各類便利開發工具
* 網關聚合全部服務的Swagger接口文檔
* 統一跨域處理
* 統一異常處理
## 4. 模塊說明
```lua
mallcloud -- 父項目,公共依賴
│ ├─mall-business -- 業務模塊一級工程
│ │ ├─user-center -- 用戶中心[7000]
│ │ ├─file-center -- 文件中心[5000]
│ │ ├─member-center -- 會員中心[7001]
│ │ ├─goods-center -- 商品中心[7002]
│ │ ├─order-center -- 訂單中心[7003]
│ │ ├─marking-center -- 營銷中心[7004]
│ │─mall-commons -- 通用工具一級工程
│ │ ├─mall-auth-client-spring-boot-starter -- 封裝spring security client端的通用操做邏輯
│ │ ├─mall-common-spring-boot-starter -- 封裝通用操做邏輯
│ │ ├─mall-db-spring-boot-starter -- 封裝數據庫通用操做邏輯
│ │ ├─mall-log-spring-boot-starter -- 封裝log通用操做邏輯
│ │ ├─mall-redis-spring-boot-starter -- 封裝Redis通用操做邏輯
│ │ ├─mall-ribbon-spring-boot-starter -- 封裝Ribbon和Feign的通用操做邏輯
│ │ ├─mall-sentinel-spring-boot-starter -- 封裝Sentinel的通用操做邏輯
│ │ ├─mall-swagger2-spring-boot-starter -- 封裝Swagger通用操做邏輯
│ ├─mall-config -- 配置中心
│ ├─mall-doc -- 項目文檔
│ ├─mall-gateway -- api網關一級工程
│ │ ├─zuul-gateway -- netflix-zuul[8080]
│ ├─mall-job -- 分佈式任務調度一級工程
│ │ ├─job-admin -- 任務管理器[8081]
│ │ ├─job-core -- 任務調度核心代碼
│ │ ├─job-executor-samples -- 任務執行者executor樣例[8082]
│ ├─mall-monitor -- 監控一級工程
│ │ ├─sc-admin -- 應用監控[6500]
│ │ ├─log-center -- 日誌中心[6200]
│ ├─mall-uaa -- spring-security認證中心[8000]
│ ├─mall-register -- 註冊中心Nacos[8848]
│ ├─mall-web -- 前端一級工程
│ │ ├─back-web -- 後臺前端[8066]
│ ├─mall-transaction -- 事務一級工程
│ │ ├─txlcn-tm -- tx-lcn事務管理器[7970]
│ ├─mall-demo -- demo一級工程
│ │ ├─txlcn-demo -- txlcn的demo
│ │ ├─sharding-jdbc-demo -- sharding-jdbc的demo
```
前期準備
1. 在idea安裝lombok插件
1. 在idea安裝MybatisX Plugin插件(選裝)
1. 準備好數據庫5.7+或8.0.14+
1. 初始化數據庫
1. 腳本路徑:根目錄 mallcloud.sql
1. 準備好Redis
1. 準備好註冊中心Nacos
1. 啓動命令地址:mall-register\nacos\bin
1. Linux/Unix/Mac
1. 啓動命令(standalone表明着單機模式運行,非集羣模式):
1. sh startup.sh -m standalone
1. Windows
1. 啓動命令:
1. cmd startup.cmd
1. 或者雙擊startup.cmd運行文件
1. 修改mall-config/src/main/resources/application-dev.properties裏面的配置參數
1. 數據庫配置
1. redis配置
1. elasticsearch配置
1. 非必須,若是不啓用日誌功能可無論
1. sentinel配置
1. 非必須,主要是用於展現應用吞吐量
1. 修改每一個工程的bootstrap.yml文件裏的nacos地址參數,如nacos是在本機啓動的話就改成如下地址
* mall:
* nacos:
* server-addr: 127.0.0.1:8848
1. 項目啓動:
1. 啓動認證中心mall-uaa
1. 啓動用戶中心mall-bussiness/user-center
1. 啓動網關mall-gateway/zuul-gateway
1. * 下面是業務模塊,不必定須要所有啓動
1. 啓動訂單中心mall-bussiness/order-center
1. 啓動會員中心mall-bussiness/member-center
1. 啓動商品中心mall-bussiness/goods-center
1. 啓動營銷中心mall-bussiness/marking-center
1. 啓動內容中心mall-bussiness/cms-center
1. 啓動前端工程:解壓跟目錄的mallcloud-admin-vue.zip,爲後臺管理的vue前端,
1. 須要安裝nodejs環境,而後進入此目錄,npm install ,成功後執行 npm run dev
mallplus商戶平臺端小程序 + APP + 公衆號 + H5 操做文檔
基於SpringBoot+MyBatis+VUE的開源多商戶商城系統,可二次開發
本文分享自微信公衆號 - 前端迷(love_frontend)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。