当前适用工程:
mobile-h5(uni-app 移动工作台)及mobile-oa-h5(OA 与市场 H5)。 历史 HTML 原型已清理,视觉约束以本规范为准,结构与交互参考下方实际页面和共享组件。规范与现有 Token 的差异见各应用 AGENTS,不能用实现现状自动覆盖规范。 客户端、供应商、配送员等旧业务章节仅在对应业务仍适用时参考,不构成当前工程新增这些业务的要求。
mobile-h5(HBuilderX uni-app Vue3 + @vant/weapp)。#10b981。375px 为主基线,兼容 414px。// 品牌主色
$brand-green: #0a9f6d;
$brand-green-dark: #087f57;
$brand-green-soft: #e9f9f2;
// 品牌辅助
$barley-yellow: #d6a343;
$barley-yellow-soft: #fff7e8;
// 中性色
$bg-page: #f5f8f7;
$surface: #ffffff;
$text-primary: #1f2a26;
$text-muted: #6b7b74;
$border: #dcebe4;
// 语义色
$danger: #d14343;
$warning: #cf8a19;
$success: #189b65;
-apple-system, BlinkMacSystemFont, "PingFang SC", sans-serif18px / 20px13px / 14px11px / 12px16px / 20px,建议半粗体以上(600/700)8 / 10 / 12 / 14 / 1612px / 14px / 16px18px / 22px14px / 17px / 20pxlinear-gradient(145deg, $brand-green-dark, $brand-green)$border)目的:统一三端商品图片展示口径,避免运营上传图片后在不同页面“变形/撑高/被截断”。
1:1(正方形)800×800 ~ 2000×2000 像素(JPG/PNG/WebP)aspectFill):非 1:1 的图片会被裁切到方形,主体请尽量居中4:3750px(例如 750×562)aspectFill):非 4:3 的图片会被裁切,主体请尽量居中750px)widthFix):图片按屏幕宽度铺满,高度随原图等比变化720p 以内,并尽量缩短时长以利加载warning:待处理(琥珀)success:进行中/完成(绿色系)danger:异常/风险(红色)44x44目的:让开发可直接按 Demo 结构迁移到
miniprogram/src/pages/**.vue,减少“重命名 + 重排”成本。
建议:优先保留 Demo class 名,若历史页面已存在 class,可做“旧类名 = 新类名别名”过渡。
pages/client/home/home.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 页面根容器 | phone |
client-home-page |
| 顶部头部 | top, top-row, search |
client-header, client-header-row, client-search |
| 一级分类分页容器 | first-level |
client-first-level |
| 一级分类分页项 | first-page |
client-first-page |
| 一级分类卡片 | first-chip |
client-first-chip |
| 一级分类滑块组 | first-level-indicator |
client-first-indicator |
| 一级分类滑块项 | indicator-dot |
client-first-indicator-dot |
| 分类主布局 | category-layout |
client-category-layout |
| 二级分类侧栏 | second-level, second-item |
client-second-level, client-second-item |
| 商品区 | goods-area, goods-list, goods-card |
client-goods-area, client-goods-list, client-goods-card |
| 底部结算条 | cart-bar, cart-inner, settle |
client-cart-bar, client-cart-inner, client-settle-btn |
pages/client/cart/cart.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 页面头部 | top, title, sub |
cart-header, cart-title, cart-sub |
| 店铺分组卡 | store, store-head, store-name |
cart-store-card, cart-store-head, cart-store-name |
| 商品行 | item, thumb, name, spec |
cart-item-row, cart-item-thumb, cart-item-name, cart-item-spec |
| 数量控制 | qty, qbtn, qnum |
cart-qty, cart-qty-btn, cart-qty-num |
| 底部结算 | bar, total, btn |
cart-footer, cart-total, cart-checkout-btn |
pages/client/order/order.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 顶部筛选 | tabs, tab |
order-tabs, order-tab-item |
| 订单卡 | order, head, no |
order-card, order-card-head, order-no |
| 状态标签 | status pending/delivering |
order-status status-pending/status-delivering |
| 订单商品摘要 | goods, img, meta |
order-goods-row, order-goods-thumb, order-goods-meta |
| 卡片底部动作 | ft, actions, btn |
order-footer, order-actions, order-action-btn |
pages/client/profile/profile.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 头部用户区 | header, user, avatar, name |
profile-header, profile-user, profile-avatar, profile-name |
| 统计区 | stats, s |
profile-stats, profile-stat-item |
| 功能列表 | card, row, left, arrow |
profile-menu-card, profile-menu-row, profile-menu-left, profile-menu-arrow |
| 退出按钮 | logout |
profile-logout-btn |
pages/supplier/home/home.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 头部 | header, topline, merchant |
supplier-header, supplier-header-top, supplier-merchant |
| 统计卡 | stats, stat |
supplier-stats, supplier-stat-item |
| 功能宫格 | tools, tool, icon |
supplier-tools, supplier-tool-item, supplier-tool-icon |
| 任务列表 | tasks, task |
supplier-task-list, supplier-task-card |
| 任务状态 | tag pending/stocking |
supplier-task-tag tag-pending/tag-stocking |
pages/deliverer/home/home.vue)| Demo 区块 | Demo class | 建议 uni-app class |
|---|---|---|
| 头部与统计 | 同供应商结构 | deliverer-header, deliverer-stats |
| Tab 区 | tabs, tab |
deliverer-tabs, deliverer-tab-item |
| 菜单宫格(在任务上方) | tools, tool |
deliverer-tools, deliverer-tool-item |
| 任务卡 | task, line1, status |
deliverer-task-card, deliverer-task-head, deliverer-task-status |
| 取货/配送信息块 | blk, phone-row, dial |
deliverer-info-block, deliverer-phone-row, deliverer-dial-btn |
src/styles 或公共组件。tag-* / status-*,减少后续维护成本。*-indicator-dot、*-checkout-btn,便于后续脚本绑定。