chore(config): 更新端口配置从3001到3010

- 将 .env.example 中的 PORT 从 3001 更改为 3010
- 将 CORS_ORIGIN 从 http://localhost:5173 更改为 http://localhost:5180
- 更新 compose.yaml 中的服务端口和健康检查端口为 3010
- 修改 Dockerfile 中暴露的端口为 3010
- 更新文档中的 API 端口引用从 3001 到 3010
- 在 Vite 配置中设置开发服务器端口为 5180
- 更新 Vite 代理目标地址为 http://localhost:3010
This commit is contained in:
yuzhe
2026-07-21 17:13:08 +08:00
parent b0c498fbb6
commit b42f46c182
8 changed files with 21 additions and 21 deletions

View File

@@ -1,6 +1,6 @@
PORT=3001
PORT=3010
NODE_ENV=development
CORS_ORIGIN=http://localhost:5173
CORS_ORIGIN=http://localhost:5180
# 正式环境必须填写;本地 SQLite 模式可暂时留空。
DATABASE_URL=postgresql://delivery_desk:local_delivery_desk@127.0.0.1:5432/delivery_desk

View File

@@ -16,5 +16,5 @@ COPY --from=build /app/api ./api
COPY --from=build /app/shared ./shared
COPY --from=build /app/db ./db
COPY --from=build /app/dist ./dist
EXPOSE 3001
EXPOSE 3010
CMD ["pnpm", "server:prod"]

View File

@@ -32,9 +32,9 @@ pnpm install
pnpm dev
```
- 前端:`http://localhost:5173`
- API`http://localhost:3001`
- 健康检查:`http://localhost:3001/api/health`
- 前端:`http://localhost:5180`
- API`http://localhost:3010`
- 健康检查:`http://localhost:3010/api/health`
未配置 `DATABASE_URL` 时使用 `data/app.db`;本地图片保存在 `uploads/`。这两个目录包含运行数据、账号信息或用户文件,已排除在 Git 之外。
@@ -75,7 +75,7 @@ pnpm db:postgres:migrate -- --replace
docker compose up -d --build
```
应用通过 `http://服务器地址:3001` 同时提供前端与 API。公网环境应在前面配置 HTTPS 反向代理;生产 Cookie 会自动添加 `Secure`
应用通过 `http://服务器地址:3010` 同时提供前端与 API。公网环境应在前面配置 HTTPS 反向代理;生产 Cookie 会自动添加 `Secure`
## 文档与检查

View File

@@ -7,7 +7,7 @@ import { closeDatabase } from './database.js';
/**
* start server with port
*/
const PORT = process.env.PORT || 3001;
const PORT = process.env.PORT || 3010;
const server = app.listen(PORT, () => {
console.log(`Server ready on port ${PORT}`);

View File

@@ -7,7 +7,7 @@ services:
condition: service_healthy
environment:
NODE_ENV: production
PORT: 3001
PORT: 3010
DATABASE_URL: postgresql://delivery_desk:${POSTGRES_PASSWORD}@postgres:5432/delivery_desk
PGSSL: disable
COS_CONFIG_ENCRYPTION_KEY: ${COS_CONFIG_ENCRYPTION_KEY:?COS_CONFIG_ENCRYPTION_KEY is required}
@@ -15,9 +15,9 @@ services:
INITIAL_ADMIN_USERNAME: ${INITIAL_ADMIN_USERNAME:-admin}
INITIAL_ADMIN_DISPLAY_NAME: ${INITIAL_ADMIN_DISPLAY_NAME:-平台管理员}
ports:
- "3001:3001"
- "3010:3010"
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3001/api/health').then(r=>{if(!r.ok)process.exit(1)})"]
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:3010/api/health').then(r=>{if(!r.ok)process.exit(1)})"]
interval: 10s
timeout: 5s
retries: 10

View File

@@ -35,7 +35,7 @@ API Key 明文只在创建时返回一次,数据库仅保存 SHA-256 哈希。
平台级 API Key 可以指定目标运营组。项目级 Key 不能创建项目。
```bash
curl -X POST http://localhost:3001/api/projects \
curl -X POST http://localhost:3010/api/projects \
-H "Authorization: Bearer $DELIVERY_DESK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"7 月内容计划","slug":"july-content","groupId":1,"client_description":"客户可见说明"}'
@@ -46,7 +46,7 @@ curl -X POST http://localhost:3001/api/projects \
## 创建作品交付集
```bash
curl -X POST http://localhost:3001/api/projects/1/collections \
curl -X POST http://localhost:3010/api/projects/1/collections \
-H "Authorization: Bearer $DELIVERY_DESK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"2026 年 7 月交付","client_description":"本月交付内容"}'
@@ -57,7 +57,7 @@ curl -X POST http://localhost:3001/api/projects/1/collections \
作品上传使用 `multipart/form-data`,至少一张、最多 30 张图片,单图最大 20 MB。图片数组顺序就是初始展示顺序第一张为封面。
```bash
curl -X POST http://localhost:3001/api/notes \
curl -X POST http://localhost:3010/api/notes \
-H "Authorization: Bearer $DELIVERY_DESK_API_KEY" \
-F "collectionId=1" \
-F "title=作品标题" \
@@ -72,7 +72,7 @@ curl -X POST http://localhost:3001/api/notes \
## 创建新版本
```bash
curl -X POST http://localhost:3001/api/notes/12/versions \
curl -X POST http://localhost:3010/api/notes/12/versions \
-H "Authorization: Bearer $DELIVERY_DESK_API_KEY" \
-F "title=修改后的标题" \
-F "description=修改后的正文" \
@@ -91,4 +91,3 @@ curl -X POST http://localhost:3001/api/notes/12/versions \
```
常见状态码:`400` 输入无效、`401` 未认证、`403` 越权、`404` 资源不存在、`409` 唯一性或状态冲突、`500` 服务端错误。

View File

@@ -5,7 +5,7 @@
| 变量 | 必需 | 说明 |
|---|---|---|
| `NODE_ENV` | 是 | 正式环境设为 `production` |
| `PORT` | 否 | API 与生产静态站端口,默认 `3001` |
| `PORT` | 否 | API 与生产静态站端口,默认 `3010` |
| `DATABASE_URL` | 正式环境 | PostgreSQL 连接串;缺省时使用 SQLite |
| `PGSSL` | 否 | 内网 PostgreSQL 可设为 `disable` |
| `PG_POOL_MAX` | 否 | 连接池上限,默认 `10` |
@@ -31,7 +31,7 @@ docker compose up -d --build
## 冒烟检查
```bash
curl http://127.0.0.1:3001/api/health
curl http://127.0.0.1:3010/api/health
docker compose ps
docker compose logs --tail=100 app
```
@@ -67,4 +67,3 @@ pnpm test:postgres-runtime
```
正式切换前还应验证管理员首次改密、客户访问门禁、COS 上传、客户批注与验收、数据库备份及 HTTPS Cookie。

View File

@@ -15,9 +15,11 @@ export default defineConfig({
tsconfigPaths(),
],
server: {
port: 5180,
strictPort: true,
proxy: {
'/api': {
target: 'http://localhost:3001',
target: 'http://localhost:3010',
changeOrigin: true,
secure: false,
configure: (proxy) => {
@@ -33,7 +35,7 @@ export default defineConfig({
},
},
'/uploads': {
target: 'http://localhost:3001',
target: 'http://localhost:3010',
changeOrigin: true,
secure: false,
}