润致GEO v3.0 · 2026-06

三端统一设计与交互规范 — 运营平台端(PC Web)+ 合伙人端(小程序)+ 客户端(小程序)
本规范适用于润致GEO企业GEO服务分销系统的全部三个终端。所有终端共享同一套品牌色板、字体层级、间距体系和基础组件 Token。 终端特有布局和组件在各章节独立说明。
图标体系:统一使用 Element Plus Icons(通过 Iconify CDN 引入,ep: 前缀)。

共享一、品牌基础

1.1 品牌色板

主色系(Primary — 品牌蓝)

Primary Dark
#0D47A1
深色态 / 渐变起点 / active
Primary
#1565C0
主色 / 导航栏 / 主按钮 / 链接
Primary Light
#1E88E5
浅色态 / hover / 渐变终点
Primary BG
#E3F2FD
浅色背景 / 标签底色

强调色系(Accent — 活力橙)

Accent Text
#E65100
WCAG AA 标签文字色
Accent
#FF6F00
价格 / 支付按钮 / 关键操作
Accent Light
#FF8F00
渐变终点 / hover
Accent BG
#FFF3E0
浅色背景 / 标签底色

功能色系

Success
#2E7D32
成功 / 已完成 / 已认证
Danger
#E53935
错误 / 删除 / 已过期
Warning
#F57C00
警告 / 待处理
Info
#0288D1
信息提示 / 进行中
Purple
#7B1FA2
待核对 / 审核中

中性色系

Token用途
--bg-page#F5F6FA页面底色(三端统一)
--bg-card#FFFFFF卡片 / 列表项背景
--bg-input#FAFBFC输入框背景
--border-color#E0E4EA默认边框
--border-light#EEF0F4浅色边框 / 分割线
--text-primary#1F1F1F标题 / 正文
--text-secondary#777777描述 / 次要信息
--text-placeholder#999999占位符 / 空状态 / 禁用
--text-muted#B0B0B0更弱化的辅助文字
WCAG 2.1 AA 对比度:主色 #1565C0 在浅色背景 #E3F2FD 上对比度仅 4.08:1(不达标)。标签文字色使用深色变体 #0D47A1 以确保 ≥4.5:1。强调色同理使用 #E65100 替代 #FF6F00

1.2 排版层级

Token字号字重用途
--fs-display28px700大标题(登录页品牌名等)
--fs-title20px700页面标题 / 金额数字
--fs-subtitle16px600区块标题 / 弹窗标题
--fs-body14px400正文 / 表单标签
--fs-caption12px400辅助说明 / 表格表头
--fs-small11px400标签 / 时间戳

字重 Token--fw-regular: 400 · --fw-medium: 500 · --fw-semibold: 600 · --fw-bold: 700

字体族-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif

等宽字体"SF Mono", "Cascadia Code", "Consolas", monospace(用于编号/金额/代码)

1.3 间距体系(4px 基准)

Token用途
--spacing-xs4px极小间距 / 图标与文字
--spacing-sm8px紧凑间距 / 按钮组 gap
--spacing-md12px常规间距 / 表单项之间
--spacing-lg16px宽松间距 / 卡片内边距 / 页面边距
--spacing-xl24px大间距 / 区块之间 / 页面标题下方
--spacing-2xl32px超大间距 / 页面级分区

1.4 圆角层级

Token适用组件
--radius-sm4px标签 / Badge / 小按钮 / 分页器
--radius-md4px输入框 / 选择器 / 按钮(对齐 Element Plus)
--radius-lg8px卡片 / 面板 / 表格容器
--radius-xl12px弹窗 / 大卡片
--radius-2xl16px登录卡片 / 特殊场景
--radius-pill20px胶囊按钮 / 流程步骤
--phone-radius24px小程序手机框外框

1.5 阴影层级

Token适用场景
--shadow-sm0 1px 3px rgba(0,0,0,0.06)卡片 / 面板默认态
--shadow-md0 2px 8px rgba(0,0,0,0.08)卡片 hover / 下拉面板
--shadow-lg0 4px 20px rgba(0,0,0,0.12)弹窗 / 抽屉
--shadow-xl0 8px 40px rgba(0,0,0,0.16)模态框(PC 端)
--shadow-phone0 20px 60px rgba(0,0,0,0.3)小程序手机框外框

1.6 动效时长

Token适用场景
--transition-fast0.15shover 变色 / 按钮反馈
--transition-normal0.25s弹窗进出 / 侧栏折叠 / 菜单展开
--transition-slow0.35s页面过渡 / 复杂动画

1.7 图标体系

统一方案:三端均使用 Element Plus Icons,通过 Iconify CDN 引入。
引入方式:<script src="https://cdn.jsdelivr.net/npm/iconify-icon@2.1.0/dist/iconify-icon.min.js"></script>
使用方式:<iconify-icon icon="ep:图标名"></iconify-icon>
图标自动渲染为内联 SVG,支持 CSS color 继承和 width/height 控制。

常用图标映射表

功能Iconify 图标名尺寸
首页ep:home-filled16-24px
数据看板ep:data-board16-24px
用户 / 个人ep:user16-24px
企业 / 建筑ep:office-building16-24px
订单 / 文档ep:document16-24px
分润 / 金额ep:money16-24px
产品 / 套餐ep:goods16-24px
发票 / 票据ep:tickets16-24px
商学院 / 阅读ep:reading16-24px
资讯 / 笔记本ep:notebook16-24px
系统设置ep:setting16-24px
通知铃铛ep:bell14-18px
搜索ep:search14-18px
关闭ep:close14-20px
折叠/展开ep:expand / ep:fold16-20px
电话ep:phone16-24px
日历ep:calendar16-24px
刷新ep:refresh16-24px
相机/拍照ep:camera20-24px
ep:lock14-20px
趋势/图表ep:trend-charts24px
星/推荐ep:star-filled16-24px
信用卡ep:credit-card16-24px
消息/聊天ep:chat-dot-square16-24px
上传ep:upload16-24px
编辑ep:edit14-18px
加号ep:plus14-20px
警告(实心)ep:warning-filled20-24px
信息(实心)ep:info-filled20-24px
成功(实心)ep:circle-check-filled20-24px
失败(实心)ep:circle-close-filled20-24px
时钟ep:clock16-20px
指南针ep:compass16-24px
名片ep:postcard16-24px
电灯泡ep:lightbulb16-24px
链接ep:connection16-24px

1.8 通用组件:按钮

PC 端按钮变体(对齐 Element Plus)
主按钮 强调按钮 成功按钮 危险按钮 描边按钮 幽灵按钮 朴素按钮
类名背景文字色边框圆角高度字号
.btn-primaryvar(--color-primary)#fff同背景4px32px13px
.btn-outlinevar(--bg-card)var(--text-secondary)var(--border-color)4px32px13px
.btn-ghosttransparentvar(--color-primary)transparent4px32px13px
.btn-plainvar(--bg-card)var(--color-primary)var(--color-primary)4px32px13px
.btn-dangervar(--color-danger)#fff同背景4px32px13px
.btn-sm小尺寸变体:高度 28px、padding 0 10px、字号 12px
.btn-lg大尺寸变体:高度 40px、padding 0 24px、字号 15px
小程序端按钮变体:除以上外,新增 .btn-float(浮动胶囊按钮,渐变橙背景 + 24px 圆角)和 .btn-weaken(弱化按钮,透明背景 + 白色半透明边框,用于深色导航栏上)。

1.9 通用组件:标签 / 徽标

6 种状态标签(三端统一,WCAG AA 对比度达标)
进行中 待审核 已完成 已拒绝 已取消 待核对
类名背景色文字色(深色变体,满足 AA)圆角padding字号
.tag-blue#E3F2FD#0D47A14px2px 8px12px
.tag-orange#FFF3E0#E651004px2px 8px12px
.tag-green#E8F5E9#1B5E204px2px 8px12px
.tag-red#FFEBEE#B71C1C4px2px 8px12px
.tag-gray#F0F0F0#8884px2px 8px12px
.tag-purple#F3E5F5#7B1FA24px2px 8px12px

PC二、运营平台端(1280px+)

2.1 布局框架

区域尺寸背景说明
侧栏230px 宽(折叠 64px)#1A2332深色主题,品牌 icon + 菜单 + 用户信息
顶栏52px 高#FFFFFF底边框 2px 品牌蓝,含折叠按钮 + 面包屑 + 通知 + 时间
内容区自适应(max 1400/1600px)#F5F6FAiframe 加载子页面,右侧可选 PRD 面板 380px
子页面布局page-wrap 居中页头(标题+操作)+ 面包屑 + 内容区

侧栏色板

Token用途
--sidebar-bg#1A2332侧栏底色
--sidebar-hover#232D3E菜单项 hover
--sidebar-active#1E3A5F菜单项激活
--sidebar-text#A0AEC0菜单文字默认
--sidebar-text-active#FFFFFF菜单文字激活

2.2 数据表格

属性说明
表头背景#FAFBFC--bg-table-header
表头字号/字重13px / 500对齐 Element Plus medium
表头底边1px solid var(--border-light)1px 替代原 2px
单元格 padding12px--table-cell-padding-y/x
行 hover#F5F7FA--bg-table-hover
等宽字体列.text-mono编号/金额使用等宽字体
操作列.col-narrowwhite-space: nowrap; width: 1%

2.3 弹窗(Modal)

尺寸max-width用途
.modal-sm420px确认弹窗 / 简单表单
.modal(默认)640px标准弹窗 / 编辑表单
.modal-lg860px详情查看 / 复杂表单
.modal-xl1020px大型表单 / 多列布局

动画:打开 fade(overlay 0→1 opacity)+ scale(modal 0.95→1),关闭反向。关闭按钮使用 ep:close 图标。确认弹窗使用 showConfirm() 函数(index.html 全局可用)。

2.4 分页器

元素样式
页码按钮32×32px、边框 var(--border-color)、圆角 4px、hover 变蓝
激活页背景 var(--color-primary)、文字 #fff
信息文字"共 N 条记录,第 X/Y 页"(字号 13px、色 var(--text-secondary))

2.5 步骤条

5 步流程示例(生成→核对→推送→结算→完成)
系统生成 平台核对 3财务结算 4完成
状态编号背景文字色
.done(已完成)var(--color-success)var(--color-success)
.active(进行中)var(--color-primary)var(--color-primary)
默认(待处理)#E0E0E0var(--text-placeholder)

2.6 全局反馈

组件说明
.toast顶部居中通知,4 种类型:success(绿)/ error(红)/ warning(橙)/ info(蓝)。自动 2s 消失,带 fadeInDown 动画
.skeleton骨架屏加载占位,脉冲动画。提供 .skeleton-text(短/中/长)、.skeleton-title、.skeleton-avatar、.skeleton-card、.skeleton-table-row 变体
.loading-spinner旋转加载指示器,20px 默认 / 36px .lg 大尺寸
.empty-state空数据状态,居中布局,图标 + 提示文字
:focus-visible全局键盘焦点环(2px 品牌蓝 outline),满足 WCAG 2.4.7

2.7 页面模板

页面类型结构
列表页面包屑 → 页头(标题+操作按钮)→ 筛选栏 → 表格 → 分页器
仪表盘面包屑 → 统计卡片行(3列)→ 快捷入口(4列)→ 图表+待办+动态
详情弹窗modal-lg → detail-grid(2列)→ 操作日志列表

小程序三、小程序端(合伙人 + 客户端 · 375×812)

3.1 布局框架

9:41
页面标题
首页
资讯
我的
区域尺寸背景说明
手机框375×812px#F5F6FA圆角 --phone-radius: 24px,阴影 --shadow-phone
状态栏44px 高#1565C0品牌蓝底白色文字,时间左 + 图标右
导航栏44px 高#1565C0品牌蓝底,标题居中(17px 粗体),返回箭头左
内容区flex: 1 可滚动#F5F6FA隐藏滚动条,iOS 平滑滚动
TabBar50px 高#FFFFFF顶边框,3-4 个 Tab,激活态品牌蓝
底部安全区34pxiOS Home Indicator 占位
导航栏颜色:三端统一使用品牌蓝 #1565C0(非微信绿)。

3.2 卡片与列表

组件圆角内边距阴影用途
.card16px16px--shadow-sm通用卡片、详情卡片
.list-card12px14px 16px--shadow-sm列表项、菜单项
.list-card:active点击反馈:opacity 0.8 或轻微背景变灰

3.3 底部弹窗(ActionSheet)

属性
遮罩rgba(0,0,0,0.5),点击关闭
面板白色背景、顶部圆角 16px、slideUp 动画
宽度100%,max-width: 375px
关闭按钮ep:close 图标,右上角

3.4 标签切换(Tabs)

属性
容器flex 横向、白色背景、底边框 1px
标签项flex: 1 等分、字号 14px、padding 12px 0
激活态品牌蓝文字 + 底边框 2px 品牌蓝 + 字重 600
类名.tab-switch / .tabs(两种命名均支持)

3.5 搜索栏

属性
容器flex 横向、白色背景、padding 10px 16px、gap 8px
输入框flex: 1、高度 36px、圆角 18px(胶囊形)、浅灰背景

3.6 空状态 / 加载

组件样式
.empty-state居中、padding 40px 20px、文字色 placeholder
.loading-spinner20px 旋转圆环、品牌蓝 top-border

3.7 页面模板

页面类型结构
列表页搜索栏(可选)→ 标签切换(可选)→ 卡片列表 → 底部操作(可选)
首页Hero 区(品牌蓝渐变)→ 统计卡片 → 快捷入口 → 底部浮按钮
详情页导航栏(标题+返回)→ 状态横幅 → 信息卡片 → 操作日志
个人中心用户信息卡片 → 菜单列表(图标+文字+箭头+右侧值)→ 退出按钮

3.8 PRD 面板(原型阶段专用)

PRD 面板仅在原型开发阶段使用,生产环境不显示。CSS 已提取到各端 common.css 中统一管理,无需逐页复制。
面板结构:flex 侧面板(max-width 700px)→ 标题栏(dot + 页面名 + 关闭)→ 内容区(概述/字段表/业务规则/状态流转)

四、CSS 变量速查表(可直接复制)

以下为三端完整 CSS 变量定义。各端 common.css 应根据自身需要引入全部或子集。
:root {
  /* ══ 品牌色 ══ */
  --color-primary: #1565C0;
  --color-primary-light: #1E88E5;
  --color-primary-dark: #0D47A1;
  --color-primary-bg: #E3F2FD;
  --color-accent: #FF6F00;
  --color-accent-light: #FF8F00;
  --color-accent-bg: #FFF3E0;

  /* 渐变色端点 */
  --color-primary-gradient-end: #42A5F5;
  --color-accent-gradient-end: #FF8F00;

  /* ══ 功能色 ══ */
  --color-success: #2E7D32;
  --color-success-bg: #E8F5E9;
  --color-danger: #E53935;
  --color-danger-bg: #FFEBEE;
  --color-warning: #F57C00;
  --color-warning-bg: #FFF3E0;
  --color-info: #0288D1;
  --color-info-bg: #E1F5FE;

  /* 标签扩展色 */
  --color-purple: #7B1FA2;
  --color-purple-bg: #F3E5F5;

  /* WCAG AA 标签文字色(浅底深字) */
  --color-primary-text-on-bg: #0D47A1;
  --color-accent-text-on-bg: #E65100;
  --color-success-text-on-bg: #1B5E20;
  --color-danger-text-on-bg: #B71C1C;

  /* Alert 文字色 */
  --color-info-text: #01579B;
  --color-warning-text: #E65100;
  --color-success-text: #1B5E20;
  --color-danger-text: #B71C1C;

  /* ══ 中性色 ══ */
  --bg-page: #F5F6FA;
  --bg-card: #FFFFFF;
  --bg-input: #FAFBFC;
  --border-color: #E0E4EA;
  --border-light: #EEF0F4;
  --text-primary: #1F1F1F;
  --text-secondary: #777777;
  --text-placeholder: #999999;
  --text-muted: #B0B0B0;

  /* ══ 侧边栏(PC端) ══ */
  --sidebar-bg: #1A2332;
  --sidebar-hover: #232D3E;
  --sidebar-active: #1E3A5F;
  --sidebar-text: #A0AEC0;
  --sidebar-text-active: #FFFFFF;

  /* ══ 尺寸 ══ */
  --sidebar-width: 230px;
  --header-height: 52px;

  /* ══ 圆角 ══ */
  --radius-sm: 4px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-pill: 20px;
  --phone-radius: 24px;

  /* ══ 阴影 ══ */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-lg: 0 4px 20px rgba(0,0,0,0.12);
  --shadow-xl: 0 8px 40px rgba(0,0,0,0.16);
  --shadow-phone: 0 20px 60px rgba(0,0,0,0.3);

  /* ══ 字体 ══ */
  --font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  --font-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;

  /* 排版层级 */
  --fs-display: 28px;
  --fs-title: 20px;
  --fs-subtitle: 16px;
  --fs-body: 14px;
  --fs-caption: 12px;
  --fs-small: 11px;

  /* 字重 */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ══ 间距 ══ */
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --spacing-2xl: 32px;

  /* ══ 动效 ══ */
  --transition-fast: 0.15s;
  --transition-normal: 0.25s;
  --transition-slow: 0.35s;

  /* ══ 图标尺寸 ══ */
  --icon-sm: 14px;
  --icon-md: 16px;
  --icon-lg: 20px;
  --icon-xl: 24px;

  /* ══ 内容宽度(PC端) ══ */
  --content-max-width: 1400px;
  --content-max-width-wide: 1600px;

  /* ══ 表格(PC端) ══ */
  --bg-table-header: #FAFBFC;
  --bg-table-hover: #F5F7FA;
  --table-cell-padding-y: 12px;
  --table-cell-padding-x: 12px;

  /* ══ 组件背景(PC端) ══ */
  --bg-progress: #E8ECF1;
  --bg-step-num: #E0E0E0;
  --bg-toggle-off: #CCC;
  --bg-modal: #FFFFFF;
  --bg-card-footer: #FAFBFC;
  --color-breadcrumb-sep: #CCC;

  /* ══ 布局(小程序端) ══ */
  --phone-width: 375px;
  --phone-height: 812px;
  --nav-height: 44px;
  --tabbar-height: 50px;
}
润致GEO 三端统一设计与交互规范 v3.0 · 最后更新 2026-06-28