定位

pf-manage 是图模工坊的运营/管理入口——负责账号、角色、菜单、订单、合成审核、素材库治理、相册体系管理。

  • 基底:soybean-admin(Naive UI 风格的 Vue 3 后台模板)
  • UI:Naive UI 2.43
  • 构建:Vite + UnoCSS(uno.config.ts)
  • 端口:开发环境 9527
  • 鉴权:JWT(与 pf-editor 共账号体系)

模块全景

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
pf-manage
├── 系统管理
│ ├── 用户管理 ← /pf-manage/auth/* /pf-manage/users
│ ├── 角色管理
│ ├── 菜单管理 ← 动态路由
│ └── 字典 / 参数

├── 模板治理
│ ├── 模板列表 ← /pf-manage/templates (templateManageRoutes.ts)
│ ├── 模板分类
│ ├── 模板版本审核
│ └── 模板上下架

├── 相册体系
│ ├── 相册管理 ← /pf-manage/albums (albumManageRoutes.ts)
│ ├── 尺寸库
│ ├── P 数库
│ └── 相册-模板关联

├── 订单与合成
│ ├── 订单列表 ← /pf-manage/orders (orderRoutes.ts)
│ ├── 合成提交 ← /pf-manage/order-template-submissions
│ ├── 合成失败重试
│ └── 成品审核/驳回

└── 素材库
├── 背景库 ← /shared/background-library
├── 字体库 ← /shared/font-library
└── 文件存储管理 ← /shared/oss

后端路由对应

1
2
3
4
5
6
7
8
apps/pf-service/src/routes/projects/pf-manage/
├── authRoutes.ts # 登录/注销/refresh token
├── mockRoutes.ts # 开发期 mock
├── templateManageRoutes.ts # 模板审核/上下架/版本
├── albumManageRoutes.ts # 相册 / 尺寸 / P数 / 关联
├── orderRoutes.ts # 订单 CRUD
├── orderSubmissionRoutes.ts # 合成提交查询、重试、驳回
└── index.ts

关键操作

模板审核

templateManageRoutes.ts 提供:

  • 待审核模板列表
  • 详情(含 sceneJson 预览)
  • 通过:status = normal,对用户端可见
  • 驳回:写回 failReason,通知设计师

合成提交监控

orderSubmissionRoutes.ts 暴露的视图按 order_template_submissions.status 聚合:

  • pending — 待 Job 拾取
  • processing — Job 处理中(含开始时间)
  • completed — 全部成功
  • failed — 至少一张明细失败(可看 failReason

管理员可触发单条重试:把 item.status 改回 pending,下一轮 Job 自动重新合成。

相册体系管理

相册是”多对多”密度最高的模块:相册 × 尺寸 × P数 × 模板。pf-manage 把这套关系封装成可视化编辑(添加尺寸、添加 P 数、按页码挂模板)。后端在 albumManageRoutes.ts + apps/pf-service/src/routes/projects/shared/albumUtils.ts 中维护。

素材库审核

新上传的背景 / 字体默认为 disabled,需运营手动启用;同时支持设置 userId=0 上架到全局素材池。

PC 端体验取舍

PC Web 端足够覆盖日常治理,但对批量下载、本地归档、推送打印设备等场景,设计文档建议进一步扩展 PC 客户端(Quasar + Electron)。当前仓库中 PC 客户端仍在规划阶段,参见 路线图

二开提示

soybean-admin 自带:

  • 动态路由(菜单驱动)
  • 国际化(zh-CN / en-US)
  • 主题/暗色
  • 权限指令 v-permission
  • 请求拦截器(与 packages/axios 协同)

要新增一个管理模块:

  1. pf-manage/src/views/ 新建页面
  2. 在数据库 menus 表登记路由 + 权限码
  3. pf-service 写对应路由文件
  4. (可选)跑 bun gen-route 同步路由声明

下一步