001441505c
- event-detail:扫码(scene)进入、审核中活动不可报名、专属信息展示、报名成功页按审核方式区分、输入框文字防折叠 - my-bookings:去除签到/爽约申诉逻辑,新增审核通过后专属信息卡 - event-edit:新增报名审核方式设置(自动通过/人工审核) - 我的/首页:审核中的活动不进倒计时,报名计数按审核通过口径展示 - 文案与请求头微调
OPC 培训站(website)
📍 现位于
code/training/website/(业务 Web 前端,原code/opc-training/website/)。课程内容见materials/培训计划/;关联小程序code/training/miniprogram/;后端为code/server-core(/api/*由 server-coredispatcher.py统一分发,/api旧培训端点走app/training/,其余走平台应用)。
课程体系 0.1 的对外展示与内部运营站。React + Vite SPA,暗色粒子品牌语言。
运行方式
npm install
npm run dev # 开发:全部 API 走真实后端(.env.development → 本地 server-core)
npm run build # 构建 dist(.env.production → https://opc.pinesound.cn)
npm run preview # 预览构建产物
node server/start.mjs # 纯静态托管 dist(默认 8091,演示用;API 由真实后端提供)
API 基址(真实后端,无任何模拟接口)
| 环境 | VITE_API_BASE | 说明 |
|---|---|---|
| 开发 | http://127.0.0.1:8090(.env.development) |
本地 server-core(uv run uvicorn dispatcher:app --port 8090) |
| 生产 | https://opc.pinesound.cn(.env.production) |
server-core dispatcher 单入口 |
- 代码兜底:
src/services/base.js,未注入VITE_API_BASE时默认https://opc.pinesound.cn。 - 请求前缀分工(由 server-core
dispatcher.py分发):/api/*(events/bookings/tests/ops/survey/policy/plan/upload/park 等旧培训端点)→app/training//auth/*/opc/*/hall/*/admin/*→ 平台应用app.main
- 项目内不包含任何 mock / 模拟接口实现;
server/仅剩纯静态托管。
路由与权限
| 路由 | 内容 | 权限 |
|---|---|---|
#/ |
首页营销落地页 | 公开 |
#/opc-test |
OPC 创业基因测评 | 公开 |
#/pine 及 #/pine/* |
内部工具(课程体系/结构/课程表/卡片/工具) | 需登录 |
内部工具登录:访问 #/pine/* 时路由守卫触发登录门,走真实后端 /auth/login(平台账号体系)。
内部工具不进公开导航,仅通过 URL 直达;公开导航只含「首页 / OPC测评」。
目录速览
server/ 纯静态托管服务(无任何模拟 API)
src/data/ 内容数据(home/system/structures/schedule/cards/timetable/opcTest/site)
src/components/ 原子/分子/组织/模板组件
src/services/ API 服务(统一走 API_BASE → 真实后端)
.env.development dev 的 VITE_API_BASE(本地 server-core)
.env.production 生产构建的 VITE_API_BASE