# lamp-web-plus 簡介 (會員專屬)
基于vue-vben-admin進行二次開發的系統,實現的功能和 lamp-web 功能一致。該項目是基于Vue3.x、Vite、 Ant-Design-Vue 2.x 、TypeScript 的中后臺解決方案,目標是為中大型項目開發,提供現成的開箱解決方案及豐富的示例。
詳情的使用文檔請參考他們的官方文檔:
- https://vvbin.cn/doc-next/
- https://2x.antdv.com/docs/vue/introduce-cn/
## lamp-web 和 lamp-web-plus 主要區別是 vue版本 和 UI庫 不同,但實現的功能基本一致
## 環境要求
- `Node.js`: - 版本大于 `16.0.0`
- `pnpm` : - 包管理工具.
## 工具配置
如果您使用的 IDE 是[vscode](https://code.visualstudio.com/)(推薦)的話,可以安裝以下工具來提高開發效率及代碼格式化
* [Iconify IntelliSense](https://marketplace.visualstudio.com/items?itemName=antfu.iconify)\- Iconify 圖標插件
* [windicss IntelliSense](https://marketplace.visualstudio.com/items?itemName=voorjaar.windicss-intellisense)\- windicss 提示插件
* [I18n-ally](https://marketplace.visualstudio.com/items?itemName=Lokalise.i18n-ally)\- i18n 插件
* [Vetur](https://marketplace.visualstudio.com/items?itemName=octref.vetur)\- vue 開發必備 (也可以選擇 Volar)
* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)\- 腳本代碼檢查
* [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\- 代碼格式化
* [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint)\- css 格式化
* [DotENV](https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv)\- .env 文件 高亮
## 下載
> 注意存放代碼的目錄及所有父級目錄不能存在中文、韓文、日文以及空格,否則安裝依賴后啟動會出錯。
```
// 使git對文件名大小寫敏感
git config core.ignorecase false
// 拉取項目代碼
git clone https://github.com/zuihou/lamp-web-plus.git
cd lamp-web-plus
// 不能使用別的包管理工具
// 如果未安裝pnpm,請運行:npm install -g pnpm
pnpm install --registry=https://registry.npmmirror.com
```
## 修改配置
1. 修改 [.env](https://github.com/zuihou/lamp-web-plus/blob/main/.env) 文件
~~~
# 租戶類型 必須跟后端項目 mysql.yml 中 lamp.database.multiTenantType 配成一樣. 可選項:NONE、COLUMN、SCHEMA、DATASOURCE
VITE_GLOB_MULTI_TENANT_TYPE = DATASOURCE
# 登錄頁是否顯示驗證碼 可選值 true false
VITE_GLOB_SHOW_CAPTCHA = true
# 客戶端id&秘鑰 (必須和 c_application 表中數據一致!)
VITE_GLOB_CLIENT_ID = lamp_web
VITE_GLOB_CLIENT_SECRET = lamp_web_secret
~~~
2. 修改 [.env.development](https://github.com/zuihou/lamp-web-plus/blob/main/.env.development) 文件, 改變下面的配置:VITE_PROXY
~~~
VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:8760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:8760"]]
~~~
3. 啟動
~~~
pnpm serve
~~~
## imagemin 依賴安裝失敗解決方法
由于 imagemin 在國內安裝困難,提供以下幾個解決方案:
1. 使用 yarn 在 package.json 內配置(推薦,項目內已集成,前提是必須使用 yarn)
~~~
"resolutions": {
"bin-wrapper": "npm:bin-wrapper-china"
}
~~~
2. 使用 npm,在電腦 host 文件加上如下配置即可
~~~
199.232.4.133 raw.githubusercontent.com
~~~
## 安裝依賴時 husky 安裝失敗
請查看你的源碼是否從 github 直接下載的,直接下載是沒有`.git`文件夾的,而`husky`需要依賴`git`才能安裝。此時需使用`git init`初始化項目,再嘗試重新安裝即可。
## 使用
### 開發環境
```bash
pnpm serve
```
### 打包
```bash
pnpm build:prod # 打包
pnpm build:no-cache # 打包,執行之前會先刪除緩存
pnpm report # 生成構建包報表預覽
```
### 格式化
```bash
pnpm lint:stylelint # 樣式格式化
pnpm lint:prettier # js/ts代碼格式化
```
### 其他
```bash
pnpm reinstall # 刪除依賴重新裝,兼容window
pnpm preview # 本地進行打包預覽
pnpm log # 生成CHANGELOG
pnpm clean:cache # 刪除緩存
pnpm clean:lib # 刪除node_modules,兼容window系統
```
- 簡介
- 會員版
- 3.x和4.x的區別
- 新手必讀
- 如何高效提問
- 項目地址
- 項目截圖
- 架構介紹
- 開發規范
- 租戶模式介紹
- lamp-web和lamp-web-plus的區別
- lamp-cloud和lamp-boot區別
- 免費視頻&軟件下載
- 文檔反饋
- lamp-cloud
- 服務介紹
- 環境要求
- 工程導入
- nacos啟動(單機版)
- nacos啟動(集群版)
- 將配置文件導入Nacos
- seata啟動(單機版)
- DATASOURCE模式啟動(會員版)
- SCHEMA模式啟動
- COLUMN模式
- NONE模式
- lamp-web啟動
- lamp-web生產部署
- lamp-web-plus啟動(會員版)
- lamp-web-plus生產部署
- lamp-boot
- 環境要求
- 工程導入
- DATASOURCE模式啟動(會員版)
- SCHEMA模式啟動
- COLUMN模式啟動
- NONE模式啟動
- lamp-web啟動
- lamp-web生產部署
- lamp-web-plus啟動(會員版)
- lamp-web-plus生產部署
- 功能介紹
- 租戶設置
- 數據源配置(會員版)
- 租戶管理
- 超級用戶
- 工作臺
- 通知公告
- 組織管理
- 機構管理
- 崗位管理
- 用戶管理
- 資源中心
- 消息中心
- 短息模版
- 短信中心
- 附件管理
- 流程管理
- 流程部署
- 模型管理
- 系統設置
- 菜單管理
- 角色管理
- 字典管理
- 地區管理
- 參數管理
- 操作日志
- 登錄日志
- 在線用戶
- 應用管理
- 網關管理
- 限流規則
- 組織訪問
- 開發者管理
- 定時任務
- 接口文檔
- Nacos
- 服務監控
- 數據庫監控
- 緩存監控
- zipkin監控
- SkyWalking監控
- 常用配置
- 如何保證我的代碼能更新到最新代碼
- 序列化和反序列化
- 修改日志級別
- 文件上傳&下載&預覽
- 修改租戶模式
- 分頁
- 導入導出
- 請求放行(忽略token&忽略URI權限&忽略租戶編碼)
- 異常處理
- 全局返回
- 參數校驗(會員版)
- 系統日志
- 自研權限認證(URI、按鈕、菜單)
- 數據權限(舊)
- 數據庫配置
- Mybatis配置
- 更多數據庫/數據源/Mybaits配置
- Redis(緩存)配置
- RabbitMq配置
- 灰度發布
- 上手開發
- 表結構整理
- 項目結構&依賴&調用流程介紹
- 生成一個新服務
- 生成后端代碼
- 生成前端lamp-web代碼
- 生成前端項目lamp-web-plus代碼
- 跨域處理
- Swagger文檔調試技巧
- FeignClient接口調用
- 多租戶實現原理
- 分布式事務
- Zipkin配置(過時)
- SkyWalking配置
- 代碼生成器和自動回顯組件使用介紹
- lamp-util原理解析
- 全局注解(lamp-annotation)
- 核心包(lamp-core)
- 自動回顯(lamp-echo-starter)
- 權限控制(lamp-security-starter)
- 當前登錄用戶信息(lamp-jwt-starter)
- 緩存(lamp-cache-starter)
- SpringBoot全局配置(lamp-boot-util)
- SpringCloud全局配置(lamp-cloud-starter)
- 數據源&持久層配置(lamp-databases)
- 對象屬性復制(lamp-dozer-starter)
- 操作日志(lamp-log-starter)
- 消息隊列(lamp-mq-starter)
- 在線文檔(lamp-swagger2-starter)
- 前后端表單統一驗證(lamp-validator-starter)
- 防止Xss攻擊(lamp-xss-starter)
- 生產部署
- 部署前言
- jar部署