# 編寫的原因
寫在前面,很多加入我們群里的人,都會問我們源碼在哪里,現在仔細回答一下
1. 我們已經聲明了,這是一個前后端分離的商城,而且分離的很徹底,java的后臺管理系統不是jsp,使用vue寫的,所以商城的后臺管理在vue這個項目 https://gitee.com/gz-yami/mall4v ,啟動完java,不要訪問java的端口,啟動vue,訪問vue的端口頁面,就能看到后臺管理,就能上商品了!!!
2. 和上面一樣的,很多人問,前端的瀏覽商品的頁面在哪里,其實就在這里 https://gitee.com/gz-yami/mall4m
3. 有人會問你是不是將上面兩個鏈接藏起來了,上面兩個項目的鏈接都在readme里面寫著,可是很多人都不讀。
4. swagger文檔怎么訪問不了,其實路徑是/doc.html
5. 我們開源的剛上線直接申請通過了推薦項目,第一天就有100個星星,一個月就有1k的星星,大家都不是傻的,這代碼是能用的,拜托...后來沒怎么維護(整個流程都是好的,整個功能都是好的,都不知道維護啥),現在又開始維護了,星星也沒了(如果你悄悄拿去做外包項目,覺得這個項目對你有用,就給個星星唄)
## 先確定我們下載的項目有幾個項目
- mall4j:j代表java,java項目,這里面包含了小程序/后臺vue連接需要的接口。
- mall4v:v代表vue項目,是后臺管理員界面使用的前端項目,因為前后端分離的
- mall4m:m代表mini,小程序項目,這里的項目是小程序的項目
- mall4uni:uni代表uniapp,H5項目,這里的項目是H5的項目
- jvm:java虛擬機啦~
## 1.java開發環境安裝
### 1.1開發環境
以下版本是最低要求的!!! 提問問題前請注意開發環境!!
| 工具 | 版本 |
|---------|-------|
| jdk | 17 |
| mysql | 5.7+ |
| redis | 4.0+ |
| nodejs | 14-16 |
| xxl-job | 2.3.1 |
### 1.2 安裝jdk + mysql + redis + maven
如果不了解怎么安裝jdk的,可以參考 [菜鳥教程的java相關](https://www.runoob.com/java/java-environment-setup.html)
如果不了解怎么安裝mysql的,可以參考 [菜鳥教程的mysql相關](https://www.runoob.com/mysql/mysql-install.html)
如果不了解怎么安裝maven的,可以參考 [菜鳥教程的maven相關]( https://www.runoob.com/maven/maven-setup.html )
如果對于redis的安裝并不了解的,可以參考 [菜鳥教程的redis相關](https://www.runoob.com/redis/redis-install.html)
安裝相對簡單,網上也有很多教程,這里就不多講述。安裝完按需對redis進行配置,后啟動redis服務即可。
### 2.啟動
- 推薦使用idea,安裝lombok插件后,使用idea導入maven項目
- 將yami_shop.sql導入到mysql中,修改`application-dev.yml`更改 datasource.url、user、password
- 通過修改`shop.properties` 修改七牛云、阿里大于等信息
- 修改`api.properties` 修改當前接口所在域名,用于支付回調
- 啟動redis,端口6379
- 通過`WebApplication`啟動項目后臺接口,`ApiApplication` 啟動項目前端接口
- xxl-job定時任務,通過github或者gitee下載xxl-job的已經打包好的源碼,把
## 3.vue開發環境安裝
這是一套正常的vue啟動流程。如果你無法理解,可能要先學習一下vue...
#### 3.1 安裝nodejs + 淘寶npm鏡像
如果不了解怎么安裝nodejs的,可以參考 [菜鳥教程的nodejs相關](https://www.runoob.com/nodejs/nodejs-install-setup.html)
安裝cnpm淘寶鏡像,使用命令行輸入,回車:
```bash
npm install -g cnpm --registry=https://registry.npm.taobao.org
```
#### 3.2 安裝依賴啟動項目
使用vs code打開vue項目,進入到該項目的根目錄(根目錄有`package.json` 的文件)
使用cnpm安裝依賴(請勿直接使用npm安裝依賴,除非你能確定你的網絡能夠暢快訪問外網),使用命令行輸入,回車:
```bash
cnpm i
```
平臺端修改文件`.env.production`(生產環境)/ `.env.development`(開發環境)
里面的`VUE_APP_BASE_API`為api接口請求地址, `VUE_APP_RESOURCES_URL`為靜態資源文件url
```json
// api接口請求地址
VUE_APP_BASE_API = 'http://192.168.1.120:8086'
// 靜態資源文件url
VUE_APP_RESOURCES_URL = 'https://img.mall4j.com/'
```
移動端修改文件`utils\config.js`
里面的`domain`為api接口請求地址, `picDomain`為靜態資源文件url
注意!!如果啟動uni項目或者小程序,默認后臺api服務端口號為8086,
如果啟動后臺項目,默認后臺admin服務端口號為8085,請對照仔細填寫后再啟動,如遇401狀態碼,仔細檢查端口號是否配置正確!
運行dev環境:
```bash
npm run dev
```
運行dev環境(H5):
```bash
npm run dev:h5
```
## 4.文檔
這代碼有沒有文檔呀?
當然有啦,你已經下載了,在doc這個文件夾上,實在不知道,我就給鏈接出來咯:
### [https://gitee.com/gz-yami/mall4j/tree/master/doc](https://gitee.com/gz-yami/mall4j/tree/master/doc)
- 開發環境準備
- 基本開發手冊
- 項目目錄結構
- 權限管理
- 通用分頁表格
- Swagger文檔
- undertow容器
- 對xss攻擊的防御
- 分布式鎖
- 統一的系統日志
- 統一驗證
- 統一異常處理
- 文件上傳下載
- 一對多、多對多分頁
- 認證與授權
- 從授權開始看源碼
- 自己寫個授權的方法-開源版
- 商城表設計
- 商品信息
- 商品分組
- 購物車
- 訂單
- 地區管理
- 運費模板
- 接口設計
- 必讀
- 購物車的設計
- 訂單設計-確認訂單
- 訂單設計-提交訂單
- 訂單設計-支付
- 生產環境
- nginx安裝與跨域配置
- 安裝mysql
- 安裝redis
- 傳統方式部署項目
- docker
- 使用docker部署商城
- centos jdk安裝
- docker centos 安裝
- Docker Compose 安裝與卸載
- docker 鏡像的基本操作
- docker 容器的基本操作
- 通過yum安裝maven
- 常見問題