鑫EN

Zeabur 控制台

将项目卡片改为状态摘要,项目详情改为独立页面;重建设计系统并上线浅色模式

时间
2024.04 – 2025.03
角色
设计工程师
由我主导的项目首页改版

Zeabur(发音 /ˈziːˌbər/)是一个帮助开发者一键部署前后端与数据库的 PaaS 平台。作为这支小型初创团队内唯一的设计师,我负责控制台与官网的界面、设计系统和品牌视觉,并直接编写前端代码交付组件与页面。

12

在职月数

552

控制台仓库的提交,不含合并提交

189

官网仓库的提交,不含合并提交

控制台首页

改版前,首页的项目卡片仅显示名称和八格服务图标,不足时以空格补齐,末尾附一个添加按钮。它更接近添加服务的入口,无法反映部署区域、运行状态和费用——用户必须逐一进入项目详情,才能确认服务运行状态与当期账单。

一张卡片的八格中,三格是服务,一格是添加按钮,其余为占位

我将卡片重新定义为项目状态的摘要,只保留部署区域、本期用量与服务状态三项信息。运行状态不单独成行,仅在服务崩溃或部署失败时于对应图标上显示红点;项目正常时,卡片上没有任何状态信息。

重播

首页改版的五处改动:新建入口移入工具栏,四列改为三列,卡片显示用量与区域,移除空格,仅在失败时显示红点

项目详情

项目详情原先是覆盖在首页上的抽屉面板,部署记录、环境变量、监控与网络设置依次纵向折叠。随着备份、存储卷、数据库管理等功能陆续加入,折叠分区越来越长,面板空间逐渐不足。

改版将项目详情拆为独立页面:左侧固定项目与服务导航,右侧以标签页切换当前服务的各个模块。我负责整体视觉、顶部导航栏与项目侧栏,并借此沉淀了第一批基础组件。

重播

项目详情改版的五处改动:面板改为独立页面,侧栏改为项目导航,服务信息收进一行标题,折叠分区改为标签页,概览拆成状态、部署、域名与工具四类卡片

服务器列表与详情

除共享集群外,用户也可以接入自有服务器或在 Zeabur 购买托管 VPS。我将服务器列表的卡片延续了首页「状态摘要」的思路,只展示服务商、IP、地区及 CPU 与内存占用,不必点开详情即可判断负载。

重播

服务器列表、详情弹窗,以及接入自有服务器与购买托管 VPS 的流程;数据均为示例

设计系统

控制台原先没有成体系的设计规范:颜色直接取自 Tailwind 原始色阶,空状态和错误页使用通用素材。我先后重建了色板与语义 token,整理出一组可复用的基础组件,并为控制台和官网设计了一套插画。

颜色与 Token

浅色模式是社群中反复提出的需求,而原有的暗色模式也存在对比度不足的问题。由于代码直接引用 Tailwind 原始色阶(如 purple-600),且旧色板仅为暗色设计、明暗跨度不均,单纯替换色板无法得到可用的浅色模式。我因此发起并负责了色彩系统的重建。

base

50
100
200
300
400
500
600
700
800
900
950

violet

50
100
200
300
400
500
600
700
800
900
950

orangered

50
100
200
300
400
500
600
700
800
900
950

旧色板:灰阶 base 仅为暗色设计,400 到 500 的亮度一次下降 0.17;紫色与橙红以 HSL 生成,橙红的 950 亮度仍有 0.54,深色一端几乎没有变暗

我在 OKLCH 色彩空间中借助 Huetone 逐阶选取了灰、紫、橙红三组新色板(关于 OKLCH 的原理,见这篇文章)。灰阶承担的层级最多,因此在标准色阶之间增加了 150、250、750、850 四个半阶,共 15 阶;写入代码时转换为 RGB 三元组存入 CSS 变量,以兼容 Tailwind 的透明度写法。

zGray

50
100
150
200
250
300
400
500
600
700
750
800
850
900
950

zViolet

50
100
200
300
400
500
600
700
800
900
950

zOrangered

50
100
200
300
400
500
600
700
800
900
950

色值取自控制台代码;灰阶在浅色与深色两端各有两个半阶。对比时,每组新色阶下方是它替换的旧色阶

高频出现的文字颜色抽象为 main、secondary、tertiary 三个语义 token,背景和边框只定义少量语义变量,其余场景继续使用原始色阶,以免语义层在快速迭代的产品中不断膨胀。完整对比见浅色模式更新日志。

控制台首页

text-main white

text-secondary 300

text-tertiary 500

border 800

background 950

布局与组件不变,只切换语义 token 指向的色阶

UI 组件

我引入 HeadlessUI v2 重写了 Button、Menu、Listbox、Input、Modal、Switch、Checkbox 与 Tooltip 等原子组件。结构参考 shadcn/ui,只封装基础交互与样式,不封装 ServiceCard 这类业务组件——在功能快速演进的阶段,过早抽象业务组件往往会带来高昂的维护成本。

Button
Input

Lowercase letters, numbers and hyphens.

Listbox
Menu
Switch
Checkbox
Tooltip
Provisioning...

按控制台代码中的样式与 token 重建,可直接操作;切换暗色与浅色时,组件只更换 token 的取值

视觉

404、502 和空状态页面原先使用通用素材。我结合工业设计背景,在 Rhino 中建模导出轮廓线后以 Lottie 制作动效,设计了一套等轴线框插画——由建模软件保证透视与线宽的一致,契合开发者工具的技术感。这一语言随后延伸至控制台弹窗与官网落地页。

404

502

服务器

下载

Pro 方案功能介绍弹窗
上传本地项目与加入社群

git push、识别框架、网站上线,功能区块以三个立方体的依次点亮,表示代码从推送、识别框架到网站上线的过程

落地页中的三种部署方式:共享集群、自有服务器与托管 VPS

结果

到我离职时,控制台的 184 个 TSX 文件中有 89 个引用了这些基础组件,新色阶与语义 token 也已覆盖大部分页面。

107

使用新色阶的文件

140

使用语义文字 token 的文件

89

引用基础组件的文件

合作者