Prototype Foundation

选号虾 · 原型组件库

所有高保真原型的起点。tokens.css 复刻 variables.scss 全集 Design Token, components.css 封装通用控件(按钮/弹窗/Banner/进度条/Avatar/Popover…), base.js 提供 Popover/Modal/Toast 交互底座。

<!-- 任何新原型头部按顺序引入即可 --> <link rel="stylesheet" href="../_shared/tokens.css"> <link rel="stylesheet" href="../_shared/components.css"> <script src="../_shared/base.js"></script>

色板

OKLCH 感知均匀色阶 · 粉色 primary 仅作点缀 · Berry action 承担所有 CTA。

--ql-primary
#E84C88 · 粉
--ql-action
#6B3A5D · Berry CTA
--ql-success
绿 / oklch 145°
--ql-warning
黄 / oklch 80°
--ql-error
红 / oklch 25°
--ql-text
Zinc 暗 · 正文
--ql-text-muted
Zinc 灰 · 辅文
--ql-border
边框
--ql-app-bg
#EDEDF0 · 应用底板
--ql-glass-bg
rgba(255,255,255,0.72) · 玻璃

字体 · 字号

Inter(英文/数字)+ MiSans(中文)自动按 unicode-range 路由。

font-3xl筛选达人 Beauty Creators
font-2xl今日额度 Today's Quota
font-xl大字号 Large Heading 18px
font-lg中字号 Medium 16-18px
font-base正文 Body 14px · 用于卡片主文
font-sm副文 Small 13px · 辅助说明
font-xs微字 XS 12px · Label / caption
font-mono128w 粉丝 · tabular-nums 对齐

间距

4/8/12/16/24/48 六档 · 所有组件内外间距只能引用 token。

4xs
8sm
12md
16lg
24xl
48xxl

圆角

macOS 26 圆角梯度 · 小件 → 控件 → 面板 → 表面 → 胶囊。

xs · 8
sm · 12
control · 14
panel · 20
surface · 24
xl · 28
pill · ∞

阴影 · 材质

Liquid Glass 三层材料(轻/中/重)+ 阴影层级。

glass-light
rgba(.5) + blur(12)
glass (中)
rgba(.72) + blur(20) + sat
glass-heavy
rgba(.85) + blur(16)
shadow-xs
shadow
shadow-card
shadow-float
shadow-elevated

按钮

主 CTA 用 Berry --ql-action,绝不使用粉色 primary 当 CTA。

<button class="ql-btn ql-btn--primary">联系商务</button>
<button class="ql-btn ql-btn--secondary">取消</button>
<button class="ql-btn ql-btn--ghost ql-btn--sm">查看详情</button>

徽章 / 身份标识

身份用 Badge,状态用颜色。VIP 自带渐变 + 白点。

普通 VIP 接近上限 已达上限
<span class="ql-badge ql-badge--vip">VIP</span>

头像

两种风格:达人卡片头像(粉+灰渐变 + 粉色首字 + 抖音角标)、用户 LeftFooter 头像(粉底 + 白字)。

.cand-avatar
footer 24×24
VIP ring
LG 48×48
/* 达人头像 · 1:1 复刻 CandidateRow .cr-avatar */
<div class="cand-avatar"></div>  /* ::after 自动渲染抖音角标 */

进度条

四档状态:默认(粉) · warning(橙) · danger(红) · unlimited(VIP Berry shimmer)。

默认 · 34%
warning · 88%
danger · 100%
unlimited

卡片

默认卡片(白底 + 边框 + 阴影)· glass 变体(玻璃态)。

卡片标题

普通卡片适合主内容区。白底 + 1px 边框 + 24px 圆角 + 轻阴影。

玻璃卡片

Liquid Glass 变体 · 适合浮在彩色背景上的面板(sidebar/popover)。

Popover · 下拉面板

玻璃 + 重模糊 · 上下任何方向弹出都适用。通过 QL.Popover.bind() 驱动。

QL.Popover.bind(
  document.getElementById('trigger'),
  document.getElementById('popover'),
  { placement: 'bottom-end', offset: 8 }
);

Tag / Label

内联小标签 · 用于达人分类、条件 chip 等。

美妆 上海 女性 高互动 FIELD_LABEL 辅助说明文字(caption)

新建原型

把底座 copy 进去就行。三步完事。

# 1. 新建原型目录
mkdir docs/prototypes/my-feature
cd docs/prototypes/my-feature

# 2. 创建三文件(HTML + CSS + JS)
touch index.html my-feature.css my-feature.js

# 3. 在 index.html 头部引入底座
<link rel="stylesheet" href="../_shared/tokens.css">
<link rel="stylesheet" href="../_shared/components.css">
<link rel="stylesheet" href="./my-feature.css">
<!-- body 末尾 -->
<script src="../_shared/base.js"></script>
<script src="./my-feature.js"></script>

已有参考:quota-system / 商业化配额原型

示例弹窗
通用 Modal · 继承底座样式

点击遮罩 / 右上角 × / 按 Esc 可关闭。用于联系商务、提交确认、重要提示等场景。