Skip to content

快速开始

本章面向第一次取得源码的开发者。目标不是只看到登录页,而是完成一次可重复的启动,并确认认证、用户信息、菜单和预置业务数据四条链路都正常。

准备工作

获取源码

请使用交付的纯前端商业版源码目录:

text
art-design-pro-x/

不要把前后端商业版中的前端目录覆盖到本项目。两版界面和工程结构相近,但认证协议、API 文件和数据来源已经分别维护。

环境要求

text
Node.js >= 20.19.0
pnpm    >= 8.8.0

检查本机版本:

bash
node --version
pnpm --version

如果团队使用 nvm、fnm 或 Volta,建议在项目开始时统一 Node.js 版本,避免本地和 CI 构建结果不一致。

安装依赖

在项目根目录执行:

bash
pnpm install

首次安装后应保留 pnpm-lock.yaml。不要再执行 npm install 生成 package-lock.json

理解环境文件

项目只使用三组环境文件:

文件用途
.env所有模式共用的端口、基础路径、菜单来源和存储配置
.env.development本地开发代理目标
.env.production生产 API 地址、部署基础路径和构建行为

首次启动重点确认:

ini
# .env
VITE_PORT = 3000
VITE_BASE_URL = /
VITE_API_URL = /
VITE_MENU_SOURCE = local
VITE_WITH_CREDENTIALS = false

开发代理配置:

ini
# .env.development
VITE_API_URL = /
VITE_API_PROXY_URL = https://your-api.example.com

浏览器会请求 /api/...,Vite 再把 /api/uploads 转发到 VITE_API_PROXY_URL。这可以避免本地开发时直接跨域。

修改环境变量后需要重启开发服务

Vite 在启动时读取环境文件。修改 .env.env.development 后,请停止并重新运行 pnpm dev

准备最小后端

系统进入主界面至少需要三个接口:

text
POST /api/v1/auth/signin
POST /api/v1/auth/logout
GET  /api/v1/user/info

如果暂时没有后端,可以继续使用交付配置中的 Apifox Mock。默认体验账号以当前项目 README.md 为准:

text
用户名:Super
密码:123456

登录接口需要返回非空 accessToken,统一响应格式为:

json
{
  "code": 200,
  "msg": "登录成功",
  "data": {
    "accessToken": "your-access-token"
  }
}

当前用户接口至少提供:

json
{
  "code": 200,
  "msg": "获取成功",
  "data": {
    "id": 1,
    "username": "Super",
    "email": "super@example.com",
    "roles": ["R_SUPER"],
    "buttons": ["*"]
  }
}

rolesbuttons 必须是非空字符串组成的数组。如果使用通配按钮权限 *,它不能和其他权限码同时返回。

启动开发服务

bash
pnpm dev

默认会打开:

text
http://localhost:3000

终端启动信息会显示当前 API 地址、代理地址、版本号和构建标识。浏览器没有自动打开时,可以手动访问上面的地址。

第一次验证

1. 验证登录

在浏览器 Network 中确认:

  • POST /api/v1/auth/signin 返回 code: 200
  • 请求体是普通 JSON。
  • 响应 data.accessToken 是非空字符串。

2. 验证当前用户

登录后确认 GET /api/v1/user/info 成功,并返回 idusernameemailrolesbuttons

3. 验证菜单

默认 VITE_MENU_SOURCE=local,因此不应请求菜单接口。菜单来自 src/router/modules,再按用户 roles 过滤。

4. 验证业务页面

打开用户管理、内容管理或工作流等页面,列表应从 src/mock 正常加载。执行新增、编辑或删除时,页面应明确提示当前不会写入服务端。

5. 验证刷新恢复

在任意受保护页面刷新浏览器:

  • Access Token 应从 Pinia 持久化恢复。
  • 前端会重新请求 /api/v1/user/info
  • 菜单和动态路由重新生成。
  • Token 无效时应返回登录页,而不是停留在空白页面。

常用命令

命令用途
pnpm dev启动开发服务器并打开浏览器
pnpm buildTypeScript 检查并生成 dist/
pnpm serve本地预览生产构建
pnpm lint执行 ESLint 检查
pnpm fix自动修复可处理的 ESLint 问题
pnpm security:check执行前端安全基线检查
pnpm release:check完整发布检查

常见启动问题

登录接口 404

检查 .env.development 中的 VITE_API_PROXY_URL,并确认后端实际存在 /api/v1/auth/signin。修改后重启 Vite。

浏览器出现跨域错误

开发环境优先保持 VITE_API_URL=/,通过 Vite 代理访问后端。只有明确配置好 CORS 时才直接使用完整跨域地址。

登录成功后进入 500 页面

重点检查当前用户响应格式、rolesbuttons。如果启用了远程菜单,还要检查菜单结构是否通过校验。

页面刷新后重新登录

检查 Access Token 是否写入项目命名空间的 LocalStorage,以及 /api/v1/user/info 是否接受 Bearer Token。当前项目没有自动刷新令牌。

端口 3000 被占用

修改 .env

ini
VITE_PORT = 3001

然后重新运行 pnpm dev

下一步

首次启动完成后,建议阅读项目结构,然后根据目标选择:

根据 MIT 许可证发布