Нет описания

zhangyan ac9086957f 初始化官网重构前端工程 1 месяц назад
public ac9086957f 初始化官网重构前端工程 1 месяц назад
src ac9086957f 初始化官网重构前端工程 1 месяц назад
.gitignore ac9086957f 初始化官网重构前端工程 1 месяц назад
AGENTS.md ac9086957f 初始化官网重构前端工程 1 месяц назад
CLAUDE.md ac9086957f 初始化官网重构前端工程 1 месяц назад
README.md ac9086957f 初始化官网重构前端工程 1 месяц назад
eslint.config.mjs ac9086957f 初始化官网重构前端工程 1 месяц назад
next.config.ts ac9086957f 初始化官网重构前端工程 1 месяц назад
package-lock.json ac9086957f 初始化官网重构前端工程 1 месяц назад
package.json ac9086957f 初始化官网重构前端工程 1 месяц назад
postcss.config.mjs ac9086957f 初始化官网重构前端工程 1 месяц назад
tsconfig.json ac9086957f 初始化官网重构前端工程 1 месяц назад

README.md

ColorMapRun Website Demo

www/ 是官网重构的独立前端工程。当前版本先实现“公开活动前台 + DEMO 样板间 + 商务承接页”的第一版骨架,不尝试在浏览器里复刻正式比赛客户端。

路由范围

  • /
  • /events
  • /events/[eventId]
  • /demo
  • /demo/[eventId]
  • /map-experience
  • /host-event
  • /partner
  • /help

数据来源

站点优先读取 backend 的公开摘要接口:

  • GET /home
  • GET /cards
  • GET /events/{eventPublicID}

如果没有配置 backend 地址,生产构建会回退到内置 DEMO 数据,保证静态构建和前端联调都能继续进行。 开发环境默认会直连 http://127.0.0.1:18090,网站前端默认跑在 http://127.0.0.1:3001

环境变量

CMR_SITE_BACKEND_BASE_URL=http://localhost:8080
CMR_SITE_CHANNEL_CODE=mini-demo
CMR_SITE_CHANNEL_TYPE=wechat_mini
CMR_SITE_TENANT_CODE=
CMR_SITE_LEADS_ENDPOINT=
CMR_SITE_LEADS_BEARER_TOKEN=
NEXT_PUBLIC_SITE_URL=https://colormaprun.com

CMR_SITE_CHANNEL_CODE / CMR_SITE_CHANNEL_TYPE 当前默认会走 mini-demo / wechat_mini,后续如果 backend 增加 website-demo 这类入口 channel,可以直接切过去。

线索页相关变量说明:

  • CMR_SITE_LEADS_ENDPOINT: 显式指定线索接口地址。配置后,/api/leads 会优先转发到这个地址。
  • CMR_SITE_LEADS_BEARER_TOKEN: 如果线索接口需要鉴权,会以 Authorization: Bearer ... 的形式附带。
  • 如果没有配置显式线索接口,站点会尝试转发到 ${CMR_SITE_BACKEND_BASE_URL}/site/leads
  • 如果转发目标不存在或暂时不可用,站点会回退到本地 JSONL 落盘:www/.local-data/site-leads.jsonl

仓库里也提供了一个示例文件:.env.example

本地运行

First, run the development server:

npm run dev

Open http://localhost:3001.

验证

npm run lint
npm run build

当前实现边界

  • 网站地图只做只读预览,不做正式 GPS / 打点 / session。
  • DEMO 页是活动样板间,不是另一个客户端。
  • 商务页已经具备真实留资能力,当前通过 POST /api/leads 进入线索池。
  • 当 backend 或 CRM 还没接好时,线索会先落到 www/.local-data/site-leads.jsonl,保证前台联调不被阻塞。
  • backend 后续补齐 POST /site/leads 后,不需要改页面结构,只需要切环境变量或直接沿默认转发链路接入。

后续建议

  • 接 backend 的正式 website-demo channel。
  • 增加公开活动筛选、专题页和案例页。
  • 在 backend 补站点线索表单接口后,把 api/leads 的转发目标切到正式服务,并增加线索管理或 CRM 对接。
  • 如果需要更强的地图预览,可继续沿“低级别瓦片 + overlay”方案增强。