Wujies 无界平台
多端前端PC 用户端

工程结构

plus-c/
├── index.html
├── vite.config.ts          端口 4230、/dev-api 代理
├── .env.development
├── .env.production
├── public/                 静态资源
├── dist/                   构建产物
└── src/
    ├── api/                接口,按业务域分(mall / member / social / im / exam / gallery / portal / openapi)
    ├── assets/
    ├── components/
    ├── config/
    ├── hooks/
    ├── layout/             顶部导航 / 页脚 / 用户菜单
    ├── plugins/            全局插件(auth / cache / modal / download)
    ├── router/             路由表与守卫
    ├── store/              Pinia
    ├── types/
    ├── utils/              request / auth / 格式化
    └── views/              页面(home / mall / member / social / im / exam / gallery / quote / enterprise / auth)

路由

  • 路由是前端静态路由,与后台的菜单驱动不同;
  • 需要登录的页面在 router 守卫里校验 token;
  • 页面标题、是否需要登录等元信息写在路由 meta 上。

新增页面时:

  1. src/views/<模块>/<页面>.vue;
  2. src/router/ 里登记路由;
  3. src/api/ 里补接口;
  4. 如果是新业务,确认后端已安装对应应用(接口由应用提供)。

接口层

src/api/ 按业务域拆开,最终都走 src/utils/request。C 端接口主要有三类:

前缀用途提供方
/open/**开放接口(商品、内容等)对应应用
/portal/**门户 / 用户侧接口对应应用
/auth/**、/system/**登录、字典等平台能力平台宿主
PC 用户端目录与接口关系(示意图占位)

PC 用户端目录与接口关系(示意图占位)

/images/docs/pc-structure.png

可画:views → api → request → /open、/portal;并标出「应用未安装则 404」。

与后台端的共享

  • 登录 token 的存储与请求头格式一致;
  • 字典、地区、上传等基础能力复用平台接口;
  • 但不要把后台端的页面或 store 直接复制过来:两边的用户体系、权限模型、菜单来源都不同。

部署

  • 纯静态站,Nginx 托管 dist/;
  • 需要 try_files $uri $uri/ /index.html 支持 history 路由;
  • 如果与后台端同域,注意 VITE_APP_CONTEXT_PATH 与 Nginx location 的对应关系。

目录