Pine 5bad4f5c6c feat(任务): 运营端+园区端任务管理改独立页面(不弹窗) + 任务详情/发布/开标/选定
- 运营端 /tasks 列表改 Link(详情/编辑为独立页),去掉新增/编辑弹窗
- /tasks/new 与 /tasks/:id/edit = TaskEditor(编辑/发布表单, 多端配置) 独立页
- /tasks/:id = TaskDetail 任务详情页:基本信息 + 报名/接单情况(claims) + 竞标情况(bids) + 发布/下架 + 开标中标(winBid) + 指派
- 园区端 tasks-tab 加「发布任务」行内表单(不弹窗):标题/分类/方式/可见性/预算/名额/条件/公有等,经 createParkTask 发布
- tasksApi 增 getOne/bids/claims/winBid;parkApi 增 createParkTask
2026-08-27 20:19:55 +08:00

云超服 · 运营管理平台(admin-portal

React 18 + TypeScript + Vite 6 + Tailwind v4 + shadcn/uiradix-ui,严格遵循 design/installation.md)。面向云超服所有管理功能(运营/政务/企业/载体/服务商/投资人/OPC)。 前端接入 server-core/auth/admin/*),经统一身份与八端口 RBAC 隔离。

技术栈 / 规范

  • Vite 6、React 18、TypeScriptstrict
  • Tailwind v4@tailwindcss/vite+ shadcn 组件(components.jsonsrc/components/ui/*cn()
  • Radix UIradix-ui 单片)+ lucide 图标 + class-variance-authority
  • React Router 7;认证经 /auth/login + /auth/select-identity

启动

cd code/admin-portal
npm install
cp .env.example .env   # 如需覆盖后端地址
npm run dev            # 默认 http://localhost:5175/auth /admin 代理到 :8090
npm run build          # 类型检查 + 产物

目录

src/
  api/          client.ts(fetch+token) · auth.ts · resources.ts(业务模块)
  components/   ui/(shadcn) · generic/(DataTable/PageHeader/StatusBadge/useResource) · layout/AppShell
  lib/          utils.ts(cn) · auth.tsx(认证上下文) · rbac.tsx(八端口导航/权限)
  pages/        login · overview · users · courses · activities · bookings · tests · compute · park
  types.ts

身份与权限

  • 登录:账号密码 → 返回多端口身份 → 多身份时进入「选择身份」。
  • 路由按 identity.role 守卫(RoleRoute);侧边栏导航由 navForRole 过滤。
  • 需要 operator(部分 carrier)身份访问管理页。

与后端现状

部分 /admin/* 端点(课程/活动/报名/测评/园区)仍在 server-core 阶段2-3 建设中,本次前端已铺好 列表/详情/审核骨架并优雅降级(未实现时提示「暂未接入」,后端补齐即自动生效)。算力页 ping/provision 已在 server-core 阶段0-1 落地,可直接联调。

约定

  • 端点路径集中在 src/api/resources.ts;后端路径调整仅改该文件。
  • 前端 UI 基调沿用仓库主基调(shadcn + 云超服品牌 --mascot-accent)。
S
Description
云超服运营管理平台(React + shadcn/ui)
Readme 5.2 MiB
Languages
TypeScript 99.3%
CSS 0.6%