211442e76d
设计系统(明暗双模 token): - tokens.css 重写:portrait 语义色(浅灰#f7f7f7/藏青#08304c/霓虹彩虹渐变)+ [data-theme=dark] 覆盖 - 自托管 5 套字体(Switzer/BasierCircle/OpenRunde/JetBrainsMono/Junicode),public/fonts/ 来自镜像 - global.css 主题参数化:玻璃胶囊导航/彩虹CTA/软阴影卡片/fluid标题/主题背景(替换WebGL粒子) - organisms:Header 加明暗切换按钮(+theme.js),ParticleField 改纯CSS背景,SiteFooter 改多栏 - App.jsx 首载 initTheme(pine_theme/prefers-color-scheme) 首页完全重建(portrait 叙事结构,保留全部内容/功能,红线不展示付费价格): - Hero(流体标题+终点彩虹渐变词+数据带) / 便捷入口四卡 / 前旧后新对比 / 三档免费产品 - 「手艺变产品」高亮带(新增) / 三步上手(新增) / 近期场次倒计时 / 测评+调研带 / FAQ手风琴(新增) / 报名CTA / 多栏页脚(新增) 其余页面(Content/Events/OPCTest/Login/forms/pine) 待单独批次同款重构
OPC 培训站(website)
📍 现位于
code/training/website/(业务 Web 前端,原code/opc-training/website/)。课程内容见materials/培训计划/;关联小程序code/training/miniprogram/;后端已并入code/server-core/app/training/(/api/*由 server-coredispatcher.py对外提供)。
课程体系 0.1 的对外展示与内部运营站。React + Vite SPA,暗色粒子品牌语言。
运行方式
npm install
npm run dev # 开发(含 /api 模拟认证)
npm run build # 构建 dist
npm run preview # 预览构建产物(含 /api 模拟认证)
node server/start.mjs # 独立服务:托管 dist + /api(默认 8091,生产/演示用)
路由与权限
| 路由 | 内容 | 权限 |
|---|---|---|
#/ |
首页营销落地页 | 公开 |
#/opc-test |
OPC 创业基因测评 | 公开 |
#/pine 及 #/pine/* |
内部工具(课程体系/结构/课程表/卡片/工具) | 需登录 |
内部工具登录:访问 #/pine/* 时路由守卫触发登录门。账号 pine / 密码 123456(模拟,见下)。
内部工具不进公开导航,仅通过 URL 直达;公开导航只含「首页 / OPC测评」。
模拟认证与迁移
- 模拟接口:
server/mock-api.mjs(POST /api/auth/login、POST /api/auth/logout、GET /api/auth/verify),账号密码暂时写死pine/123456。 - 已挂载到 Vite dev / preview / 独立服务三处。
- 迁移为真实 API:只需改
src/services/auth.js顶部的API_BASE指向真实后端,并替换server/下的 mock 实现即可;SPA 其余代码无需改动。
目录速览
server/ 模拟认证 API + 独立启动服务
src/pages/ 页面(Home/OPCTest 公开;System/Structures/Schedule/Cards/Tools 内部)
src/data/ 内容数据(home/system/structures/schedule/cards/timetable/opcTest/site)
src/components/ 原子/分子/组织/模板组件
src/services/ auth 认证服务