签入版本
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
```bash
|
||||
# 进入项目目录(以实际解压路径为准)
|
||||
cd RXThinkCMF_Laravel13_EleVue
|
||||
cd RXThinkCMF_Laravel13_NaiveVue
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
@@ -76,7 +76,7 @@ APP_DEBUG=true
|
||||
DB_CONNECTION=mysql # 数据库类型(mysql / pgsql / sqlsrv / sqlite)
|
||||
DB_HOST=127.0.0.1 # 数据库服务器地址
|
||||
DB_PORT=3306 # 数据库端口
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue # 数据库名称(需提前创建)
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue # 数据库名称(需提前创建)
|
||||
DB_USERNAME=root # 数据库用户名
|
||||
DB_PASSWORD=root # 数据库密码
|
||||
DB_PREFIX=laravel_ # 表前缀(数据库脚本使用 laravel_ 前缀,必须保留)
|
||||
@@ -118,7 +118,7 @@ composer dev
|
||||
# 方式二:单独启动 API 服务(内置 PHP 开发服务器,默认监听 127.0.0.1:8000)
|
||||
# -----------------------------------------------------------------------------
|
||||
# serve → 启动 Laravel 内置的 PHP 开发服务器
|
||||
# 启动后浏览器访问 http://localhost:8000 即可
|
||||
# 启动后浏览器访问 http://admin.laravel13.naivevue 即可
|
||||
php artisan serve
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@@ -156,13 +156,13 @@ INFO Press Ctrl-C to quit.
|
||||
# -----------------------------------------------------------------------------
|
||||
# 健康检查(Laravel 内置 /up 路由)
|
||||
# -----------------------------------------------------------------------------
|
||||
curl http://localhost:8000/up
|
||||
curl http://admin.laravel13.naivevue/up
|
||||
# → {"status":"ok"}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 验证码接口(公开接口,同时验证 PHP → Redis 链路)
|
||||
# -----------------------------------------------------------------------------
|
||||
curl http://localhost:8000/api/captcha
|
||||
curl http://admin.laravel13.naivevue/api/captcha
|
||||
# → {"code":0,"ok":true,"msg":"操作成功","data":{"key":"...","captcha":"data:image/png;base64,..."}}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@@ -171,7 +171,7 @@ curl http://localhost:8000/api/captcha
|
||||
# -X POST → 使用 POST 方法
|
||||
# -H → 设置请求头(Content-Type: application/json)
|
||||
# -d → 发送 JSON 格式的请求体
|
||||
curl -X POST http://localhost:8000/api/login \
|
||||
curl -X POST http://admin.laravel13.naivevue/api/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"123456"}'
|
||||
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
```text
|
||||
document/
|
||||
├── mysql/
|
||||
│ └── rxthinkcmf.laravel13.elevue.sql # MySQL 版本
|
||||
│ └── rxthinkcmf.laravel13.naivevue.sql # MySQL 版本
|
||||
├── postgresql/
|
||||
│ └── rxthinkcmf.laravel13.elevue.sql # PostgreSQL 版本
|
||||
│ └── rxthinkcmf.laravel13.naivevue.sql # PostgreSQL 版本
|
||||
├── sqlserver/
|
||||
│ └── rxthinkcmf.laravel13.elevue.sql # SQL Server 版本
|
||||
│ └── rxthinkcmf.laravel13.naivevue.sql # SQL Server 版本
|
||||
├── oracle/
|
||||
│ └── rxthinkcmf.laravel13.elevue.sql # Oracle 版本
|
||||
│ └── rxthinkcmf.laravel13.naivevue.sql # Oracle 版本
|
||||
└── sqlite/
|
||||
└── rxthinkcmf.laravel13.elevue.sql # SQLite 版本
|
||||
└── rxthinkcmf.laravel13.naivevue.sql # SQLite 版本
|
||||
```
|
||||
|
||||
各数据库脚本已针对对应的 SQL 语法做了适配,包含完整的表结构(25 张业务表,`laravel_` 前缀)与初始数据。
|
||||
@@ -41,7 +41,7 @@ mysql -u root -p
|
||||
-- 创建项目数据库
|
||||
-- CHARACTER SET utf8mb4 → 支持 emoji 等四字节字符
|
||||
-- COLLATE utf8mb4_general_ci → 不区分大小写的排序规则
|
||||
CREATE DATABASE `rxthinkcmf.laravel13.elevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
CREATE DATABASE `rxthinkcmf.laravel13.naivevue` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
EXIT;
|
||||
```
|
||||
|
||||
@@ -54,7 +54,7 @@ EXIT;
|
||||
# -u root -proot → 数据库用户名和密码
|
||||
# rxthinkcmf... → 目标数据库名
|
||||
# < file.sql → 将 SQL 文件内容作为 mysql 命令的输入
|
||||
mysql -u root -proot rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.laravel13.elevue.sql
|
||||
mysql -u root -proot rxthinkcmf.laravel13.naivevue < document/mysql/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
:::tip 温馨提示
|
||||
@@ -68,7 +68,7 @@ mysql -u root -proot rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.lar
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_ # 必须保留,脚本中表均为 laravel_ 前缀
|
||||
@@ -89,10 +89,10 @@ sudo -u postgres psql
|
||||
-- 创建项目数据库
|
||||
-- OWNER postgres → 指定数据库所有者
|
||||
-- ENCODING 'UTF8' → 使用 UTF-8 编码
|
||||
CREATE DATABASE "rxthinkcmf.laravel13.elevue" OWNER postgres ENCODING 'UTF8';
|
||||
CREATE DATABASE "rxthinkcmf.laravel13.naivevue" OWNER postgres ENCODING 'UTF8';
|
||||
|
||||
-- 授予用户对该数据库的所有权限
|
||||
GRANT ALL PRIVILEGES ON DATABASE "rxthinkcmf.laravel13.elevue" TO postgres;
|
||||
GRANT ALL PRIVILEGES ON DATABASE "rxthinkcmf.laravel13.naivevue" TO postgres;
|
||||
\q
|
||||
```
|
||||
|
||||
@@ -105,7 +105,7 @@ GRANT ALL PRIVILEGES ON DATABASE "rxthinkcmf.laravel13.elevue" TO postgres;
|
||||
# -U postgres → 连接用户
|
||||
# -d ... → 目标数据库
|
||||
# -f file.sql → 执行 SQL 文件
|
||||
psql -U postgres -d rxthinkcmf.laravel13.elevue -f document/postgresql/rxthinkcmf.laravel13.elevue.sql
|
||||
psql -U postgres -d rxthinkcmf.laravel13.naivevue -f document/postgresql/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### 3. 配置 .env
|
||||
@@ -114,7 +114,7 @@ psql -U postgres -d rxthinkcmf.laravel13.elevue -f document/postgresql/rxthinkcm
|
||||
DB_CONNECTION=pgsql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=5432
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=postgres
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -146,7 +146,7 @@ touch database/database.sqlite
|
||||
# sqlite3 → SQLite 命令行工具
|
||||
# 数据库文件路径 → SQLite 数据库存储在单个文件中
|
||||
# < file.sql → 将 SQL 文件作为输入执行
|
||||
sqlite3 database/database.sqlite < document/sqlite/rxthinkcmf.laravel13.elevue.sql
|
||||
sqlite3 database/database.sqlite < document/sqlite/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### 3. 配置 .env
|
||||
@@ -178,7 +178,7 @@ DB_PREFIX=laravel_
|
||||
# -P root → 密码
|
||||
# -Q → 执行 SQL 查询后退出
|
||||
# COLLATE Chinese_PRC_CI_AS → 中文排序规则(不区分大小写)
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.naivevue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
### 2. 导入 SQL 脚本
|
||||
@@ -189,7 +189,7 @@ sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elev
|
||||
# -----------------------------------------------------------------------------
|
||||
# -d rxthinkcmf... → 目标数据库
|
||||
# -i file.sql → 执行 SQL 文件
|
||||
sqlcmd -S localhost -U sa -P root -d rxthinkcmf.laravel13.elevue -i document/sqlserver/rxthinkcmf.laravel13.elevue.sql
|
||||
sqlcmd -S localhost -U sa -P root -d rxthinkcmf.laravel13.naivevue -i document/sqlserver/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### 3. 配置 .env
|
||||
@@ -198,7 +198,7 @@ sqlcmd -S localhost -U sa -P root -d rxthinkcmf.laravel13.elevue -i document/sql
|
||||
DB_CONNECTION=sqlsrv
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=1433
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=sa
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -218,15 +218,15 @@ sqlplus system/root@localhost:1521/XE
|
||||
-- DATAFILE → 数据文件的物理路径
|
||||
-- SIZE 100M → 初始大小 100MB
|
||||
-- AUTOEXTEND ON NEXT 100M → 空间不足时自动扩展 100MB
|
||||
CREATE TABLESPACE "rxthinkcmf_laravel13_elevue"
|
||||
DATAFILE '/u01/oradata/rxthinkcmf_laravel13_elevue.dbf'
|
||||
CREATE TABLESPACE "rxthinkcmf_laravel13_naivevue"
|
||||
DATAFILE '/u01/oradata/rxthinkcmf_laravel13_naivevue.dbf'
|
||||
SIZE 100M AUTOEXTEND ON NEXT 100M;
|
||||
|
||||
-- 创建数据库用户
|
||||
-- IDENTIFIED BY → 设置密码
|
||||
-- DEFAULT TABLESPACE → 指定默认表空间
|
||||
CREATE USER "root" IDENTIFIED BY "root"
|
||||
DEFAULT TABLESPACE "rxthinkcmf_laravel13_elevue";
|
||||
DEFAULT TABLESPACE "rxthinkcmf_laravel13_naivevue";
|
||||
|
||||
-- 授权
|
||||
-- CONNECT → 连接权限
|
||||
@@ -247,7 +247,7 @@ EXIT;
|
||||
# sqlplus → Oracle 命令行工具
|
||||
# root/root@localhost:1521/XE → 用户/密码@主机:端口/服务名
|
||||
# @file.sql → 执行 SQL 文件
|
||||
sqlplus root/root@localhost:1521/XE @document/oracle/rxthinkcmf.laravel13.elevue.sql
|
||||
sqlplus root/root@localhost:1521/XE @document/oracle/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### 3. 配置 .env
|
||||
@@ -256,7 +256,7 @@ sqlplus root/root@localhost:1521/XE @document/oracle/rxthinkcmf.laravel13.elevue
|
||||
DB_CONNECTION=oracle
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=1521
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -280,7 +280,7 @@ DB_PREFIX=laravel_
|
||||
php artisan --version
|
||||
|
||||
# 方式二:手动测试登录接口(POST 请求 + JSON 参数)
|
||||
curl http://localhost:8000/api/login -X POST \
|
||||
curl http://admin.laravel13.naivevue/api/login -X POST \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"123456"}'
|
||||
```
|
||||
@@ -292,13 +292,13 @@ curl http://localhost:8000/api/login -X POST \
|
||||
# MySQL:查询用户表记录数(验证表是否创建成功且有数据)
|
||||
# -----------------------------------------------------------------------------
|
||||
# -e → 执行 SQL 后退出
|
||||
mysql -u root -proot rxthinkcmf.laravel13.elevue -e "SELECT COUNT(*) FROM laravel_user;"
|
||||
mysql -u root -proot rxthinkcmf.laravel13.naivevue -e "SELECT COUNT(*) FROM laravel_user;"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# PostgreSQL:查询用户表记录数
|
||||
# -----------------------------------------------------------------------------
|
||||
# -c → 执行 SQL 命令
|
||||
psql -U postgres -d rxthinkcmf.laravel13.elevue -c "SELECT COUNT(*) FROM laravel_user;"
|
||||
psql -U postgres -d rxthinkcmf.laravel13.naivevue -c "SELECT COUNT(*) FROM laravel_user;"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# SQLite:查询用户表记录数
|
||||
@@ -309,7 +309,7 @@ sqlite3 database/database.sqlite "SELECT COUNT(*) FROM laravel_user;"
|
||||
# SQL Server:查询用户表记录数
|
||||
# -----------------------------------------------------------------------------
|
||||
# -Q → 执行查询后退出
|
||||
sqlcmd -S localhost -U sa -P root -d rxthinkcmf.laravel13.elevue -Q "SELECT COUNT(*) FROM laravel_user;"
|
||||
sqlcmd -S localhost -U sa -P root -d rxthinkcmf.laravel13.naivevue -Q "SELECT COUNT(*) FROM laravel_user;"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Oracle:查询用户表记录数(需先进入 SQL 命令行)
|
||||
@@ -348,7 +348,7 @@ EXIT;
|
||||
|
||||
```bash
|
||||
# --default-character-set=utf8mb4 → 指定字符集为 utf8mb4(支持 emoji)
|
||||
mysql -u root -proot --default-character-set=utf8mb4 rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.laravel13.elevue.sql
|
||||
mysql -u root -proot --default-character-set=utf8mb4 rxthinkcmf.laravel13.naivevue < document/mysql/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### Q: 报 `Table 'xxx.users' doesn't exist`
|
||||
@@ -368,13 +368,13 @@ DB_PREFIX=laravel_
|
||||
# 先删除旧数据库再重建(⚠️ 会清空所有数据)
|
||||
# -----------------------------------------------------------------------------
|
||||
# DROP DATABASE IF EXISTS → 如果存在则删除
|
||||
mysql -u root -proot -e "DROP DATABASE IF EXISTS \`rxthinkcmf.laravel13.elevue\`;"
|
||||
mysql -u root -proot -e "DROP DATABASE IF EXISTS \`rxthinkcmf.laravel13.naivevue\`;"
|
||||
|
||||
# 创建数据库(指定字符集)
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT CHARACTER SET utf8mb4;"
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.naivevue\` DEFAULT CHARACTER SET utf8mb4;"
|
||||
|
||||
# 重新导入 SQL
|
||||
mysql -u root -proot rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.laravel13.elevue.sql
|
||||
mysql -u root -proot rxthinkcmf.laravel13.naivevue < document/mysql/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
### Q: 导入很慢或中断
|
||||
|
||||
@@ -7,7 +7,7 @@ Docker 方案适合快速体验项目功能,无需在本机手动安装 PHP、
|
||||
## 架构说明
|
||||
|
||||
```text
|
||||
浏览器 → localhost:8000 → [Nginx 容器:80] → [PHP-FPM 容器:9000] → Laravel 应用
|
||||
浏览器 → admin.laravel13.naivevue → [Nginx 容器:80] → [PHP-FPM 容器:9000] → Laravel 应用
|
||||
↕
|
||||
[MySQL 容器:3306] + [Redis 容器:6379]
|
||||
```
|
||||
@@ -20,7 +20,7 @@ Docker 方案适合快速体验项目功能,无需在本机手动安装 PHP、
|
||||
## 文件结构
|
||||
|
||||
```text
|
||||
RXThinkCMF_Laravel13_EleVue/
|
||||
RXThinkCMF_Laravel13_NaiveVue/
|
||||
├── docker-compose.yml # 容器编排(项目根目录)
|
||||
├── .dockerignore # 构建上下文排除(.env、vendor、SQL 等)
|
||||
├── docker/
|
||||
@@ -51,7 +51,7 @@ composer setup
|
||||
项目已内置完整的 Docker 配置文件(`docker-compose.yml`、`docker/Dockerfile`、`docker/nginx.conf`),无需手动创建,直接启动即可:
|
||||
|
||||
```bash
|
||||
cd RXThinkCMF_Laravel13_EleVue
|
||||
cd RXThinkCMF_Laravel13_NaiveVue
|
||||
|
||||
# 启动所有服务(首次会自动构建镜像,约 2-5 分钟)
|
||||
docker compose up -d
|
||||
@@ -135,7 +135,7 @@ services:
|
||||
- DB_CONNECTION=mysql
|
||||
- DB_HOST=mysql
|
||||
- DB_PORT=3306
|
||||
- DB_DATABASE=${MYSQL_DATABASE:-rxthinkcmf.laravel13.elevue}
|
||||
- DB_DATABASE=${MYSQL_DATABASE:-rxthinkcmf.laravel13.naivevue}
|
||||
- DB_USERNAME=root
|
||||
- DB_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123}
|
||||
|
||||
@@ -151,7 +151,7 @@ services:
|
||||
- JWT_SECRET=${JWT_SECRET:-your_random_jwt_secret_key_at_least_32_bytes_long}
|
||||
|
||||
# 文件访问域名(接口返回上传文件的完整地址)
|
||||
- FILE_DOMAIN_URL=${DOMAIN_URL:-http://localhost:8000}
|
||||
- FILE_DOMAIN_URL=${DOMAIN_URL:-http://admin.laravel13.naivevue}
|
||||
|
||||
# 跨域来源(快速体验默认放开)
|
||||
- CORS_ALLOW_ORIGIN=${CORS_ALLOW_ORIGIN:-*}
|
||||
@@ -177,10 +177,10 @@ services:
|
||||
- "${MYSQL_PORT:-3306}:3306" # 宿主机端口(默认 3306),可通过环境变量覆盖
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123} # root 密码
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-rxthinkcmf.laravel13.elevue} # 自动创建的数据库
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE:-rxthinkcmf.laravel13.naivevue} # 自动创建的数据库
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql # 数据持久化
|
||||
- ./document/mysql/rxthinkcmf.laravel13.elevue.sql:/docker-entrypoint-initdb.d/init.sql:ro # 初始化 SQL(仅首次启动执行)
|
||||
- ./document/mysql/rxthinkcmf.laravel13.naivevue.sql:/docker-entrypoint-initdb.d/init.sql:ro # 初始化 SQL(仅首次启动执行)
|
||||
command:
|
||||
- --character-set-server=utf8mb4
|
||||
- --collation-server=utf8mb4_general_ci
|
||||
@@ -425,9 +425,9 @@ NGINX_PORT=8000
|
||||
MYSQL_PORT=3306
|
||||
REDIS_PORT=6379
|
||||
|
||||
# MySQL(首次启动自动导入 document/mysql/rxthinkcmf.laravel13.elevue.sql)
|
||||
# MySQL(首次启动自动导入 document/mysql/rxthinkcmf.laravel13.naivevue.sql)
|
||||
MYSQL_ROOT_PASSWORD=Your_Strong_Password_2024
|
||||
MYSQL_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
MYSQL_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
|
||||
# Redis
|
||||
REDIS_PASSWORD=Your_Redis_Password_2024
|
||||
@@ -435,8 +435,8 @@ REDIS_PASSWORD=Your_Redis_Password_2024
|
||||
# 应用
|
||||
JWT_SECRET=<32 字符以上随机值,openssl rand -base64 32 生成>
|
||||
APP_DEBUG=false
|
||||
DOMAIN_URL=http://localhost:8000
|
||||
CORS_ALLOW_ORIGIN=http://localhost:8000
|
||||
DOMAIN_URL=http://admin.laravel13.naivevue
|
||||
CORS_ALLOW_ORIGIN=http://admin.laravel13.naivevue
|
||||
```
|
||||
|
||||
:::tip 与本地 .env 的关系
|
||||
@@ -460,8 +460,8 @@ CORS_ALLOW_ORIGIN=http://localhost:8000
|
||||
|
||||
| 服务 | 地址 | 说明 |
|
||||
|------|------|------|
|
||||
| 后端 API | http://localhost:8000 | Nginx → PHP-FPM → Laravel |
|
||||
| 健康检查 | http://localhost:8000/up | Laravel 内置健康路由 |
|
||||
| 后端 API | http://admin.laravel13.naivevue | Nginx → PHP-FPM → Laravel |
|
||||
| 健康检查 | http://admin.laravel13.naivevue/up | Laravel 内置健康路由 |
|
||||
| MySQL | localhost:3306 | 用户名 root,默认密码 root123 |
|
||||
| Redis | localhost:6379 | 默认密码 redis123 |
|
||||
|
||||
@@ -469,15 +469,15 @@ CORS_ALLOW_ORIGIN=http://localhost:8000
|
||||
|
||||
```bash
|
||||
# 健康检查
|
||||
curl http://localhost:8000/up
|
||||
curl http://admin.laravel13.naivevue/up
|
||||
|
||||
# 验证码(同时验证 PHP→Redis 链路,返回 code=0 即成功)
|
||||
curl http://localhost:8000/api/captcha
|
||||
curl http://admin.laravel13.naivevue/api/captcha
|
||||
# → {"code":0,"ok":true,"msg":"操作成功","data":{...}}
|
||||
|
||||
# 登录获取 Token(默认管理员账号 admin / 123456,登录后立即修改)
|
||||
# 验证码参数 key/code 与 /api/captcha 响应字段一致
|
||||
curl -X POST http://localhost:8000/api/login \
|
||||
curl -X POST http://admin.laravel13.naivevue/api/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin","password":"123456","key":"<captcha_key>","code":"<验证码字符>"}'
|
||||
```
|
||||
@@ -532,10 +532,10 @@ docker compose exec mysql bash
|
||||
# 数据库操作
|
||||
# --------------------------------------------------------------------------
|
||||
# 导入 SQL(手动方式,首次启动已自动导入)
|
||||
docker compose exec -T mysql mysql -uroot -pYour_Strong_Password_2024 rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.laravel13.elevue.sql
|
||||
docker compose exec -T mysql mysql -uroot -pYour_Strong_Password_2024 rxthinkcmf.laravel13.naivevue < document/mysql/rxthinkcmf.laravel13.naivevue.sql
|
||||
|
||||
# 进入 MySQL 命令行
|
||||
docker compose exec mysql mysql -uroot -pYour_Strong_Password_2024 rxthinkcmf.laravel13.elevue
|
||||
docker compose exec mysql mysql -uroot -pYour_Strong_Password_2024 rxthinkcmf.laravel13.naivevue
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Laravel Artisan 命令
|
||||
|
||||
@@ -35,7 +35,7 @@ LOG_LEVEL=debug # 日志级别(生产改为 info)
|
||||
DB_CONNECTION=mysql # 数据库类型(mysql / pgsql / sqlsrv / sqlite)
|
||||
DB_HOST=127.0.0.1 # 数据库地址
|
||||
DB_PORT=3306 # 端口
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue # 数据库名
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue # 数据库名
|
||||
DB_USERNAME=root # 用户名
|
||||
DB_PASSWORD=root # 密码
|
||||
DB_PREFIX=laravel_ # 表前缀(脚本使用 laravel_ 前缀,必须保留)
|
||||
@@ -228,7 +228,7 @@ APP_DEBUG=true # 开启调试模式(异常返回真实
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_PREFIX=laravel_
|
||||
|
||||
CORS_ALLOW_ORIGIN=* # 允许所有来源(Vite 代理/直连均可用)
|
||||
|
||||
@@ -441,7 +441,7 @@ MySQL 是项目默认推荐的关系型数据库,集成环境已自带,开
|
||||
# 若前面有分号则去掉,保存后重启 Laragon
|
||||
|
||||
# 创建数据库
|
||||
D:\laragon\bin\mysql\bin\mysql.exe -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
D:\laragon\bin\mysql\bin\mysql.exe -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.naivevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -450,7 +450,7 @@ brew services start mysql
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.naivevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -460,7 +460,7 @@ sudo systemctl enable mysql
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.naivevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -470,7 +470,7 @@ sudo systemctl enable mysqld
|
||||
sudo mysql_secure_installation
|
||||
|
||||
# 创建数据库
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.naivevue\` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -481,7 +481,7 @@ mysql -u root -proot -e "CREATE DATABASE \`rxthinkcmf.laravel13.elevue\` DEFAULT
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -507,7 +507,7 @@ PostgreSQL 功能强大,支持 JSONB、全文检索等高级特性,需单独
|
||||
psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
psql -U postgres -c "CREATE DATABASE \"rxthinkcmf.laravel13.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
psql -U postgres -c "CREATE DATABASE \"rxthinkcmf.laravel13.naivevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -518,8 +518,8 @@ brew services start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.laravel13.elevue\" TO postgres;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.naivevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.laravel13.naivevue\" TO postgres;"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -530,8 +530,8 @@ sudo systemctl start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.laravel13.elevue\" TO postgres;"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.naivevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"rxthinkcmf.laravel13.naivevue\" TO postgres;"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -543,7 +543,7 @@ sudo systemctl start postgresql
|
||||
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'root';"
|
||||
|
||||
# 创建数据库
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.elevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.naivevue\" OWNER postgres ENCODING 'UTF8';"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -554,7 +554,7 @@ sudo -u postgres psql -c "CREATE DATABASE \"rxthinkcmf.laravel13.elevue\" OWNER
|
||||
DB_CONNECTION=pgsql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=5432
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=postgres
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -592,7 +592,7 @@ DB_PREFIX=laravel_
|
||||
```
|
||||
|
||||
:::warning
|
||||
SQLite 仅适合开发与测试。完整初始化数据请导入 `document/sqlite/rxthinkcmf.laravel13.elevue.sql`(五种数据库各有专用脚本,按 `document/<数据库类型>/` 分组,见 [2.5 数据库初始化](/zh/quickstart/database-init.html))。
|
||||
SQLite 仅适合开发与测试。完整初始化数据请导入 `document/sqlite/rxthinkcmf.laravel13.naivevue.sql`(五种数据库各有专用脚本,按 `document/<数据库类型>/` 分组,见 [2.5 数据库初始化](/zh/quickstart/database-init.html))。
|
||||
:::
|
||||
|
||||
### SQL Server 数据库
|
||||
@@ -611,7 +611,7 @@ SQL Server 是微软商业数据库,Windows 下安装 ODBC 驱动后开箱即
|
||||
# 完整 DLL 清单与选择规则见 7.6 数据库迁移工具 → 驱动安装与环境配置
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.naivevue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [macOS]
|
||||
@@ -624,7 +624,7 @@ docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=root" \
|
||||
pecl install pdo_sqlsrv
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.naivevue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [Ubuntu / Debian]
|
||||
@@ -646,7 +646,7 @@ echo "extension=pdo_sqlsrv.so" | sudo tee /etc/php/8.3/mods-available/pdo_sqlsrv
|
||||
sudo phpenmod pdo_sqlsrv
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.naivevue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
```sh [Rocky Linux / CentOS]
|
||||
@@ -666,7 +666,7 @@ sudo pecl install pdo_sqlsrv
|
||||
echo "extension=pdo_sqlsrv.so" | sudo tee /etc/php.d/pdo_sqlsrv.ini
|
||||
|
||||
# 创建数据库
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elevue] COLLATE Chinese_PRC_CI_AS"
|
||||
sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.naivevue] COLLATE Chinese_PRC_CI_AS"
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -677,7 +677,7 @@ sqlcmd -S localhost -U sa -P root -Q "CREATE DATABASE [rxthinkcmf.laravel13.elev
|
||||
DB_CONNECTION=sqlsrv
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=1433
|
||||
DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
DB_USERNAME=sa
|
||||
DB_PASSWORD=root
|
||||
DB_PREFIX=laravel_
|
||||
@@ -711,7 +711,7 @@ Oracle 是企业级商业数据库,需手动安装 Instant Client 和 pdo_oci
|
||||
# DB_CONNECTION=oracle
|
||||
# DB_HOST=127.0.0.1
|
||||
# DB_PORT=1521
|
||||
# DB_DATABASE=rxthinkcmf.laravel13.elevue
|
||||
# DB_DATABASE=rxthinkcmf.laravel13.naivevue
|
||||
# DB_USERNAME=root
|
||||
# DB_PASSWORD=root
|
||||
```
|
||||
@@ -981,24 +981,25 @@ strict-ssl = false
|
||||
|
||||
### 前端依赖清单
|
||||
|
||||
进入前端仓库执行 `pnpm install` 后会安装以下核心依赖:
|
||||
进入 `ui/` 目录执行 `pnpm install` 后会安装以下核心依赖:
|
||||
|
||||
| 依赖 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| `vue` | ^3.4.27 | 核心框架 |
|
||||
| `element-plus` | ^2.7.4 | UI 组件库 |
|
||||
| `pinia` | ^2.1.7 | 状态管理 |
|
||||
| `vue-router` | ^4.3.2 | 路由管理 |
|
||||
| `axios` | ^0.27.2 | HTTP 请求 |
|
||||
| `vue` | ^3.5.1 | 核心框架 |
|
||||
| `naive-ui` | ^2.40.0 | UI 组件库 |
|
||||
| `pinia` | ^2.2.2 | 状态管理 |
|
||||
| `vue-router` | ^4.4.3 | 路由管理 |
|
||||
| `axios` | ^1.7.7 | HTTP 请求 |
|
||||
| `typescript` | ^4.9.5 | 类型系统 |
|
||||
| `vite` | ^3.2.10 | 构建工具 |
|
||||
| `vite` | ^5.4.3 | 构建工具 |
|
||||
| `tinymce` | 5.10.3 | 富文本编辑器 |
|
||||
| `echarts` | ^5.5.0 | 图表库 |
|
||||
| `tailwindcss` | ^3.4.3 | CSS 框架 |
|
||||
| `xlsx` | ^0.18.5 | Excel 处理 |
|
||||
| `@element-plus/icons-vue` | ^2.3.1 | Element Plus 图标 |
|
||||
| `dayjs` | ^1.11.11 | 日期处理 |
|
||||
| `lodash` | ^4.17.21 | 工具函数库 |
|
||||
| `@vueup/vue-quill` | 1.0.0-beta.8 | 富文本编辑器(Quill) |
|
||||
| `echarts` | ^5.5.1 | 图表库 |
|
||||
| `tailwindcss` | ^3.4.10 | CSS 框架 |
|
||||
| `xlsx` | ^0.17.5 | Excel 处理 |
|
||||
| `@vicons/antd` | ^0.10.0 | 图标库 |
|
||||
| `date-fns` | ^2.30.0 | 日期处理 |
|
||||
| `lodash-es` | ^4.17.21 | 工具函数库 |
|
||||
|
||||
## 开发工具推荐
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ A: 检查以下几点:
|
||||
|
||||
1. MySQL 服务是否启动:`systemctl status mysql`
|
||||
2. `.env` 中的 `DB_*` 配置是否正确(`DB_HOST`、`DB_PORT`、`DB_USERNAME`、`DB_PASSWORD`、`DB_DATABASE`)
|
||||
3. 数据库是否已创建并导入 `document/mysql/rxthinkcmf.laravel13.elevue.sql`(本项目 migrations 为空,**不会自动建表**)
|
||||
3. 数据库是否已创建并导入 `document/mysql/rxthinkcmf.laravel13.naivevue.sql`(本项目 migrations 为空,**不会自动建表**)
|
||||
4. `DB_PREFIX` 是否为 `laravel_`(漏配会报 `Table 'xxx.users' doesn't exist`)
|
||||
5. 原生测试连接:`mysql -h 127.0.0.1 -P 3306 -u root -p -e "SELECT 1;"`
|
||||
|
||||
@@ -88,7 +88,7 @@ pnpm install # 重新安装所有依赖
|
||||
|
||||
A: 检查以下几点:
|
||||
|
||||
1. 后端服务是否启动(`curl http://localhost:8000/api/captcha` 验证)
|
||||
1. 后端服务是否启动(`curl http://admin.laravel13.naivevue/api/captcha` 验证)
|
||||
2. Vite 代理配置是否正确(`vite.config.ts` 中的 `target`,改完重启 `pnpm dev`)
|
||||
3. API 路径是否正确(应以 `/api` 开头)
|
||||
|
||||
@@ -107,7 +107,7 @@ A: 打开浏览器控制台(F12)查看错误信息,常见原因:
|
||||
A: 正常现象。本项目 `database/migrations/` 为空,**建表以 SQL 脚本为准**,`migrate` 只初始化迁移记录表。请手动导入:
|
||||
|
||||
```bash
|
||||
mysql -uroot -proot rxthinkcmf.laravel13.elevue < document/mysql/rxthinkcmf.laravel13.elevue.sql
|
||||
mysql -uroot -proot rxthinkcmf.laravel13.naivevue < document/mysql/rxthinkcmf.laravel13.naivevue.sql
|
||||
```
|
||||
|
||||
详见 [2.5 数据库初始化](/zh/quickstart/database-init.html)。
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
```bash
|
||||
# GET 请求获取验证码(返回 Base64 编码的图片 + 验证码 key)
|
||||
curl http://localhost:8000/api/captcha
|
||||
curl http://admin.laravel13.naivevue/api/captcha
|
||||
```
|
||||
|
||||
响应示例:
|
||||
@@ -52,7 +52,7 @@ curl http://localhost:8000/api/captcha
|
||||
# password → 密码
|
||||
# key → 步骤一返回的验证码 key(与 captcha 响应字段命名一致)
|
||||
# code → 验证码图片上显示的字符
|
||||
curl -X POST http://localhost:8000/api/login \
|
||||
curl -X POST http://admin.laravel13.naivevue/api/login \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"username": "admin",
|
||||
@@ -100,7 +100,7 @@ curl -X POST http://localhost:8000/api/login \
|
||||
# -----------------------------------------------------------------------------
|
||||
# pageNo=1\&pageSize=10 → 分页参数(\& 是 bash 转义,防止 & 被解释为后台运行符)
|
||||
# -H "Authorization: Bearer <token>" → 在请求头中携带 JWT Token
|
||||
curl "http://localhost:8000/api/user/page?pageNo=1&pageSize=10" \
|
||||
curl "http://admin.laravel13.naivevue/api/user/page?pageNo=1&pageSize=10" \
|
||||
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
|
||||
```
|
||||
|
||||
@@ -136,33 +136,33 @@ curl "http://localhost:8000/api/user/page?pageNo=1&pageSize=10" \
|
||||
# -----------------------------------------------------------------------------
|
||||
# 获取当前登录用户信息
|
||||
# -----------------------------------------------------------------------------
|
||||
curl http://localhost:8000/api/index/getUser \
|
||||
curl http://admin.laravel13.naivevue/api/index/getUser \
|
||||
-H "Authorization: Bearer <your_token>"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 获取当前用户的菜单列表(用于前端动态路由)
|
||||
# -----------------------------------------------------------------------------
|
||||
curl http://localhost:8000/api/index/getMenus \
|
||||
curl http://admin.laravel13.naivevue/api/index/getMenus \
|
||||
-H "Authorization: Bearer <your_token>"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 获取字典项(gender = 性别字典的编码)
|
||||
# -----------------------------------------------------------------------------
|
||||
curl http://localhost:8000/api/dict/item/getDictItemList/gender \
|
||||
curl http://admin.laravel13.naivevue/api/dict/item/getDictItemList/gender \
|
||||
-H "Authorization: Bearer <your_token>"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 刷新 Token(access_token 过期后,用 refresh_token 换取新的令牌对)
|
||||
# -----------------------------------------------------------------------------
|
||||
# refresh 为公开接口(无需 access_token)
|
||||
curl -X POST http://localhost:8000/api/refresh \
|
||||
curl -X POST http://admin.laravel13.naivevue/api/refresh \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"refresh_token": "<your_refresh_token>"}'
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 登出(令牌即时失效,需携带 access_token)
|
||||
# -----------------------------------------------------------------------------
|
||||
curl -X POST http://localhost:8000/api/logout \
|
||||
curl -X POST http://admin.laravel13.naivevue/api/logout \
|
||||
-H "Authorization: Bearer <your_token>"
|
||||
```
|
||||
|
||||
@@ -224,7 +224,7 @@ HTTP 状态码为 200,前端据 body `code=401` 触发跳转登录。
|
||||
## ApiFox 配置建议
|
||||
|
||||
1. 创建环境,设置变量:
|
||||
- `base_url` = `http://localhost:8000`
|
||||
- `base_url` = `http://admin.laravel13.naivevue`
|
||||
- `token` = 登录后填入 access_token
|
||||
|
||||
2. 在请求头中使用变量:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 2.4 前端服务启动
|
||||
|
||||
:::tip 概述
|
||||
本章指导您启动前端开发服务器,包括依赖安装、环境配置和 Vite 开发服务器启动。前端为本仓库 `ui/` 目录内的 EleVue 管理后台(Vue3 + ElementPlus)。
|
||||
本章指导您启动前端开发服务器,包括依赖安装、环境配置和 Vite 开发服务器启动。前端为本仓库 `ui/` 目录内的 NaiveVue 管理后台(Vue3 + NaiveUI)。
|
||||
:::
|
||||
|
||||
## 步骤一:安装依赖
|
||||
@@ -48,7 +48,7 @@ VITE_PORT = 8001
|
||||
VITE_PUBLIC_PATH = /
|
||||
|
||||
# 代理配置(JSON 数组格式:[["前缀","目标地址"]])
|
||||
VITE_PROXY = [["/api","http://localhost:8000/api"]]
|
||||
VITE_PROXY = [["/api","http://admin.laravel13.naivevue/api"]]
|
||||
|
||||
# API 接口基础路径(留空,由代理处理)
|
||||
VITE_GLOB_API_URL =
|
||||
@@ -60,7 +60,7 @@ VITE_GLOB_API_URL_PREFIX = /api
|
||||
VITE_GLOB_UPLOAD_URL = /api/upload
|
||||
|
||||
# 图片访问地址(附件域名,对应后端 FILE_DOMAIN_URL)
|
||||
VITE_GLOB_IMG_URL = http://file.laravel13.elevue
|
||||
VITE_GLOB_IMG_URL = http://file.laravel13.naivevue
|
||||
|
||||
# 是否启用 Mock 数据(false = 使用真实后端 API)
|
||||
VITE_USE_MOCK = false
|
||||
@@ -127,7 +127,7 @@ server: {
|
||||
port: 8001, // 开发服务器端口(对应 VITE_PORT)
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:8000/api', // 后端服务地址(对应 VITE_PROXY)
|
||||
target: 'http://admin.laravel13.naivevue/api', // 后端服务地址(对应 VITE_PROXY)
|
||||
changeOrigin: true, // 开启跨域(修改请求头的 Origin)
|
||||
rewrite: (path) => path, // 保持路径不变(不做路径替换)
|
||||
},
|
||||
@@ -138,7 +138,7 @@ server: {
|
||||
后端使用虚拟域名时(见 [2.2 Laragon 环境搭建](/zh/quickstart/laragon.html)),target 改为对应地址:
|
||||
|
||||
```typescript
|
||||
target: 'http://admin.laravel13.elevue/api',
|
||||
target: 'http://admin.laravel13.naivevue/api',
|
||||
```
|
||||
|
||||
确保后端服务已启动(`php artisan serve`),然后访问 `http://localhost:8001`。
|
||||
@@ -151,7 +151,7 @@ target: 'http://admin.laravel13.elevue/api',
|
||||
4. 登录成功后进入控制台页面
|
||||
|
||||
:::tip 代理原理
|
||||
浏览器 → `http://localhost:8001/api/login` → Vite 代理 → `http://localhost:8000/api/login` → 后端处理
|
||||
浏览器 → `http://localhost:8001/api/login` → Vite 代理 → `http://admin.laravel13.naivevue/api/login` → 后端处理
|
||||
|
||||
代理方式下前端无需关心跨域;若改为直连后端(`VITE_GLOB_API_URL` 配置完整地址),则依赖后端 CORS 配置(`.env` 中 `CORS_ALLOW_ORIGIN`)。
|
||||
:::
|
||||
@@ -206,7 +206,7 @@ server: {
|
||||
|
||||
```bash
|
||||
# 确认后端在运行(直接请求后端验证码接口)
|
||||
curl http://localhost:8000/api/captcha
|
||||
curl http://admin.laravel13.naivevue/api/captcha
|
||||
# → {"code":0,...} 即后端正常
|
||||
```
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
D:\laragon\www\ # 站点根目录(Apache 主 DocumentRoot)
|
||||
D:\laragon\bin\apache\httpd-2.4.x-...\ # Apache 主目录(下称 $HTTPD_HOME)
|
||||
D:\laragon\bin\php\php-8.3.x-Win32-vs16-x64\ # PHP 8.3 目录(下称 $PHP_HOME)
|
||||
D:\laragon\www\RXThinkCMF_Laravel13_EleVue\ # 项目根目录(下称 $PROJECT)
|
||||
D:\laragon\www\RXThinkCMF_Laravel13_NaiveVue\ # 项目根目录(下称 $PROJECT)
|
||||
```
|
||||
|
||||
:::warning PATH 中的 php 版本陷阱
|
||||
@@ -55,13 +55,13 @@ $PHP_HOME\php.exe -i | findstr "extension_dir"
|
||||
编辑 `C:\Windows\System32\drivers\etc\hosts`(管理员权限):
|
||||
|
||||
```text
|
||||
127.0.0.1 admin.laravel13.elevue file.laravel13.elevue
|
||||
127.0.0.1 admin.laravel13.naivevue file.laravel13.naivevue
|
||||
```
|
||||
|
||||
| 域名 | 用途 |
|
||||
|------|------|
|
||||
| `admin.laravel13.elevue` | 应用入口(DocumentRoot 指向项目 `public/`) |
|
||||
| `file.laravel13.elevue` | 附件目录(DocumentRoot 指向项目 `uploads/`) |
|
||||
| `admin.laravel13.naivevue` | 应用入口(DocumentRoot 指向项目 `public/`) |
|
||||
| `file.laravel13.naivevue` | 附件目录(DocumentRoot 指向项目 `uploads/`) |
|
||||
|
||||
同系列项目域名格式为 `admin.<项目>.<前端品牌>`,如 `admin.laravel13.antdvue`、`admin.laravel13.naivevue`。
|
||||
|
||||
@@ -84,11 +84,11 @@ Include "conf/vhost/*.conf" # 手动配置
|
||||
# 项目应用本地虚拟主机配置
|
||||
<VirtualHost *:80>
|
||||
ServerAdmin rxthinkcmf@163.com
|
||||
ServerName admin.laravel13.elevue
|
||||
DocumentRoot "D:\laragon\www\RXThinkCMF_Laravel13_EleVue\public"
|
||||
ServerName admin.laravel13.naivevue
|
||||
DocumentRoot "D:\laragon\www\RXThinkCMF_Laravel13_NaiveVue\public"
|
||||
ErrorLog "logs/laravel13-error.log"
|
||||
CustomLog "logs/laravel13-access.log" common
|
||||
<Directory "D:\laragon\www\RXThinkCMF_Laravel13_EleVue\public">
|
||||
<Directory "D:\laragon\www\RXThinkCMF_Laravel13_NaiveVue\public">
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</Directory>
|
||||
@@ -96,11 +96,11 @@ Include "conf/vhost/*.conf" # 手动配置
|
||||
|
||||
# 项目附件目录本地虚拟主机配置
|
||||
<VirtualHost *:80>
|
||||
ServerName file.laravel13.elevue
|
||||
DocumentRoot "D:\laragon\www\RXThinkCMF_Laravel13_EleVue\uploads"
|
||||
ServerName file.laravel13.naivevue
|
||||
DocumentRoot "D:\laragon\www\RXThinkCMF_Laravel13_NaiveVue\uploads"
|
||||
ErrorLog "logs/laravel13-error.log"
|
||||
CustomLog "logs/laravel13-access.log" common
|
||||
<Directory "D:\laragon\www\RXThinkCMF_Laravel13_EleVue\uploads">
|
||||
<Directory "D:\laragon\www\RXThinkCMF_Laravel13_NaiveVue\uploads">
|
||||
AllowOverride All
|
||||
Require all granted
|
||||
</Directory>
|
||||
@@ -267,9 +267,9 @@ $PHP_HOME\php.exe artisan tinker --execute="try { \Illuminate\Support\Facades\Re
|
||||
□ $PHP_HOME\php.exe -m | findstr redis → redis
|
||||
□ httpd.exe -t → Syntax OK
|
||||
□ tasklist 查看 redis-server.exe → 进程存在,6379 LISTENING
|
||||
□ curl http://admin.laravel13.elevue/api/captcha
|
||||
□ curl http://admin.laravel13.naivevue/api/captcha
|
||||
→ {"code":0,"ok":true,"msg":"操作成功","data":{...}}
|
||||
□ curl -X POST http://admin.laravel13.elevue/api/login
|
||||
□ curl -X POST http://admin.laravel13.naivevue/api/login
|
||||
→ {"code":1,"ok":false,"msg":"参数验证失败","data":{...}} (路由已通)
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user