Frontend Static Build · v1

供需匹配智能体 · 前端静态页面

依据《产品方案》《UI 设计规范》《页面设计稿》实现。纯 HTML + CSS + 原生 JS,零依赖、零构建,双击任意页面即可打开; 移动端优先,≥768px 两列,≥1024px 重排为桌面端(左侧筛选栏 / 右侧固定操作卡)。

状态调试器:四态可演示

每个页面右下角都有「四态调试」按钮,可即时切换:

  • 加载中 — 骨架屏(aria-busy + aria-live),筛选栏保留
  • 有数据 — 正常列表 / 详情 / 表单
  • 空态 — 分场景文案(广场还区分「筛选无结果」与「全站无需求」)
  • 错误 — 整区错误 + 「重新加载」,列表页底部另有底部错误条 + 「点击重试」
  • 未登录 — 收藏 / 建联 / 发布时唤起登录拦截半屏弹窗

页面级专有开关:详情页联系方式三态建联额度用尽 / 需求已关闭;发布页提交成功 / 失败 / AI 不可用;收藏与我的发布空态;匹配推荐无兴趣标签 / 今日无匹配

布局与配色

  • 主色 --brand-700 #0F766E(深青)+ 强调色 --accent #F59E0B(琥珀,仅收藏激活态)
  • 中性色 9 阶;正文 --n-700,辅助 --n-500--n-400 只允许出现在 placeholder 与禁用态
  • 分类色板 8 色一色一分类,且始终「颜色 + 文字」双通道,不靠颜色单独传达信息
  • 间距 4px 基准(4/8/12/16/20/24/32/40),无 13px、17px 等非标值
  • 圆角 / 阴影 --r-xs…--r-xl / --r-full--sh-xs…--sh-lg,同层级不混用两种阴影
  • 断点 320–767 单列 → ≥768 两列 → ≥1024 桌面侧栏(240px)→ ≥1440 三列
  • 热区 所有可点元素 ≥44×44px(收藏图标视觉 22px,热区用 padding 撑到 44px)
  • 动效 120 / 200 / 280 / 400ms,只动 transform 与 opacity,并整体尊重 prefers-reduced-motion

文件结构

frontend/ ├─ index.html 本页(页面导航与规范速查) ├─ pages/ P1–P6 六个页面 │ ├─ square.html detail.html publish.html │ └─ favorites.html my-demands.html match.html ├─ styles/ │ ├─ tokens.css 设计 Token(唯一事实来源,无硬编码色值) │ ├─ base.css reset + 全局排版 + 滚动条 + 无障碍工具类 │ ├─ components.css 组件库(按钮 / 表单 / Chip / Badge / 卡片 / 弹层 / 骨架 / 空错态) │ └─ pages.css 页面级布局与响应式重排 └─ js/ ├─ data.js 演示数据 + 图标 + 状态枚举(与后端枚举一致) ├─ ui.js 组件渲染器 + Toast / 抽屉 / 弹窗 / 登录拦截 ├─ app.js 应用外壳(导航 / TabBar / FAB / 筛选栏 / 调试器)+ 广场页 └─ pages2.js 详情 / 发布 / 收藏 / 我的发布 / 匹配推荐 preview/ 资源内联的评审版(由 frontend/ 生成,可单文件双击打开)

开发与联调请用 pages/ 下的模块化页面(共用 styles/js/); 需要单独发给他人预览时用 preview/ 下的内联版。

组件复用要点

DemandCard 用同一套结构承载四种场景,靠 variant 开关差异,避免后期视觉碎片化:

  • square 广场:标签最多 3 个 + 收藏按钮 + 时间与收藏数
  • fav 收藏:隐藏标签行与收藏按钮,新增备注块与「加备注 / 获取联系方式」按钮组
  • mine 我的发布:底部时间换成浏览 / 收藏 / 被匹配三项数据 + 编辑 / 刷新 / 关闭按钮组
  • match 匹配推荐:理由条与卡片拼接为一体,底部换「不感兴趣 / 查看并联系」

状态徽章、分类角标、收藏按钮同样是跨页复用组件,颜色与文案一一固定映射,不自增不轮换。

仍未确认的问题(沿用设计文档标注,未自行假设)

  • Q1 品牌色:现用深青 #0F766E,替换 tokens.css--brand-* 十个变量即可全局生效
  • Q2 一级分类清单:现用 8 个通用分类占位,需替换为真实分类
  • Q3 标签机制:按「预设词库 + 允许自定义」实现,需确认
  • Q4 建联额度:按「每日免费 3 次、超出置灰并说明原因」实现
  • Q5 游客权限:按「可浏览列表与详情,收藏与建联时拦截登录」实现
  • Q6 运营后台:未纳入本次范围
  • Q15 技术栈:本次交付为标准 H5 静态页;若最终为微信小程序,顶部导航与安全区需按小程序规范二次适配