用 WorkBuddy 30分钟搭了一个数据看板 Skill
自己搭一个数据看板——把所有关键数据汇总到一个页面,打开就能看全局。但问题是:我不是程序员,前端后端数据库一概不懂。
这篇文章记录我如何在 30 分钟内,用 WorkBuddy 从零搭出了一个带图表、可交互的房产数据监控看板。

一、需求分析:我要一个什么样的看板
先想清楚需求。我列了四个硬指标:
数据自动刷新:打开页面就能看到最新数据,不需要手动更新
多维度可视化:价格走势用折线图、竞品对比用柱状图、区域分布用饼图

响应式布局:电脑和手机都能看
漂亮:不能丑,毕竟要给老板看
对应的技术选型:
#FCcQarbMEsur text { white-space: pre; }#FCcQarbMEsur .fb0 { stroke: var(--N900-FG, 0.15); }#FCcQarbMEsur .fb0 {stroke: rgba(31,35,41, 0.15)}#FCcQarbMEsur .fx0 { stroke-miterlimit: 10; }#FCcQarbMEsur .fx0 {stroke-miterlimit: 10}#FCcQarbMEsur .fa1 { fill: rgb(187, 191, 196); }#FCcQarbMEsur .fa1 {fill: rgb(187, 191, 196)}#FCcQarbMEsur .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#FCcQarbMEsur .fx1 {font-style: normal}#FCcQarbMEsur .fx2 { text-anchor: middle; }#FCcQarbMEsur .fx2 {text-anchor: middle}#FCcQarbMEsur .fx3 { dominant-baseline: central; }#FCcQarbMEsur .fx3 {dominant-baseline: central}#FCcQarbMEsur .fx4 { stroke: none; }#FCcQarbMEsur .fx4 {stroke: none}#FCcQarbMEsur .fc0 { fill: var(--text-caption); }#FCcQarbMEsur .fc0 {fill: #646a73}#FCcQarbMEsur .fa2 { fill: var(--text-link-disabled); }#FCcQarbMEsur .fa2 {fill: rgb(187, 191, 196)}#FCcQarbMEsur .fa3 { fill: rgb(236, 226, 254); }#FCcQarbMEsur .fa3 {fill: rgb(236, 226, 254)}#FCcQarbMEsur .fx5 { font: 700 18px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#FCcQarbMEsur .fx5 {font-style: normal}#FCcQarbMEsur .fx6 { text-anchor: start; }#FCcQarbMEsur .fx6 {text-anchor: start}#FCcQarbMEsur .fx7 { dominant-baseline: alphabetic; }#FCcQarbMEsur .fx7 {dominant-baseline: alphabetic}#FCcQarbMEsur .fc1 { fill: rgb(103, 116, 137); }#FCcQarbMEsur .fc1 {fill: rgb(103, 116, 137)}#FCcQarbMEsur .fx8 { font: 700 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#FCcQarbMEsur .fx8 {font-style: normal}#FCcQarbMEsur .fc2 { fill: rgb(0, 0, 0); }#FCcQarbMEsur .fc2 {fill: rgb(0, 0, 0)}#FCcQarbMEsur .fb1 { fill: var(--N900-FG, 0.15); }#FCcQarbMEsur .fb1 {fill: rgba(31,35,41, 0.15)}#FCcQarbMEsur .fb2 { fill: rgb(225, 230, 240); }#FCcQarbMEsur .fb2 {fill: rgb(225, 230, 240)}#FCcQarbMEsur .fa4 { fill: var(--bg-body); }#FCcQarbMEsur .fa4 {fill: #fff}AB12345需求技术方案前端展示图表数据来源部署纯 HTML + CSS + JavaScriptChart.js(开源、轻量、好看)Python 脚本爬取 + 静态 JSON单文件,双击就能打开
WorkBuddy 负责写所有代码,我负责提需求和验收。
二、开局:一句话生成骨架
我的第一句话是:
代码块
Bash
帮我做一个房产数据监控看板,要求:
顶部是 KPI 卡片(在售楼盘数、本月均价、成交量、库存去化周期)
中间左侧是近 6 个月价格走势折线图
中间右侧是各区域楼盘数量饼图
底部是竞品项目对比柱状图
配色方案:深蓝色主色调,白色背景,卡片用浅灰底
数据先用模拟数据填充
51%
49%
WorkBuddy 思考了几秒,直接输出了一份完整的 HTML 文件:
打开一看——布局、配色、卡片样式全部到位。这就是 WorkBuddy 的可怕之处:它不是给你一个"大概的思路",而是直接给你可以运行的成品。
三、迭代优化:从能用到好用
骨架有了,但还不够。我开始了和 WorkBuddy 的"对话式开发"。
第一轮:让图表动起来
代码块
Bash
价格走势图加个动画效果,加载时从 0 慢慢涨到目标值。
还有,鼠标悬停时显示详细数据提示框。
WorkBuddy 在 Chart.js 配置里加了 animation 和 tooltips:
代码块
JavaScript
// 图表动画配置const chartConfig = {type: 'line',data: priceData,options: {animation: {duration: 1500,easing: 'easeOutQuart',onProgress: function(animation) {// 加载进度动画}},plugins: {tooltip: {callbacks: {label: function(context) {return context.dataset.label + ': ¥' + context.parsed.y.toLocaleString() + '/㎡';}}}},scales: {y: {ticks: {callback: function(value) {return '¥' + value.toLocaleString();}}}}}};
第二轮:KPI 卡片加上环比变化
代码块
Bash
KPI 卡片下面加一行环比变化:
- 涨了显示红色↑
- 跌了显示绿色↓
- 同时显示百分比
WorkBuddy 给每个卡片加了 .change 区域:
代码块
HTML
第三轮:响应式适配
代码块
Bash
手机上看的时候,KPI 卡片变成两列,图表变成一列堆叠。
字号也要跟着缩小。
WorkBuddy 加了一段 CSS 媒体查询:
代码块
CSS
@media (max-width: 768px) {.kpi-row { grid-template-columns: repeat(2, 1fr); }.chart-row { grid-template-columns: 1fr; }.kpi-card .value { font-size: 24px; }.header h1 { font-size: 18px; }.header { padding: 16px 20px; }.dashboard { padding: 12px; }}
三轮迭代下来,总共用了不到 15 分钟。如果我自己手写,光调 CSS 布局就够我折腾一上午。
四、接入真实数据
模拟数据好看,但没实际价值。下一步:接入真实数据。
数据源
房产网上有我们需要的核心数据:在售楼盘、均价、成交量。WorkBuddy 帮我写了一个 Python 爬虫脚本:
代码块
Python
import requests
from bs4 import BeautifulSoup
import json
import time
def fetch_fuzhou_housing_data():"""爬取房产网数据"""
url = "https://www.fzfdcw.com/new-house/list"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}
resp = requests.get(url, headers=headers, timeout=10)
soup = BeautifulSoup(resp.text, 'html.parser')# 解析楼盘列表
projects = []for item in soup.select('.house-item'):
前端同步改造——用 fetch() 读取 JSON:
代码块
JavaScript
// 加载真实数据async function loadData() {try {const response = await fetch('housing_data.json');const data = await response.json();updateKPI(data);updateCharts(data);
document.getElementById('update-time').textContent = data.update_time;} catch (e) {
有了这个脚本,每天跑一次就能更新看板数据。WorkBuddy 甚至帮我设了自动化提醒——每天上午 9 点自动执行爬虫。
五、锦上添花:数据导出 + 暗色模式
基础功能搞定了,我开始提一些"锦上添花"的需求。
数据导出按钮
代码块
Bash
在 KPI 区域右上角加一个"导出 Excel"按钮,
点击后把当前看板数据导出为 xlsx 文件。
WorkBuddy 引入了 SheetJS 库,加了一个导出函数:
代码块
JavaScript
function exportToExcel() {const data = [['指标', '数值'],['在售楼盘数', kpiData.totalProjects],['本月均价', '¥' + kpiData.avgPrice + '/㎡'],['本月成交量', kpiData.volume + '套'],['库存去化周期', kpiData.inventoryCycle + '个月']];const ws = XLSX.utils.aoa_to_sheet(data);const wb = XLSX.utils.book_new();XLSX.utils.book_append_sheet(wb, ws, '房产数据');XLSX.writeFile(wb, `房产数据_${new Date().toISOString().slice(0,10)}.xlsx`);}
暗色模式切换
代码块
Bash
加一个暗色模式开关,晚上看的时候不刺眼。
切换要平滑过渡。
WorkBuddy 做了两套 CSS 变量,通过给 body 加 .dark-mode 类来切换:
代码块
CSS
:root {--bg: #f0f2f5;--card-bg: #ffffff;--text: #333333;--text-secondary: #888888;--primary: #1a3a5c;}body.dark-mode {--bg: #1a1a2e;--card-bg: #16213e;--text: #e0e0e0;--text-secondary: #a0a0a0;--primary: #4a9eff;}
六、成果展示
最终完成的看板长这样:
代码块
Bash
房产数据监控看板
├── 顶部导航栏(标题 + 更新时间 + 暗色模式开关 + 导出按钮)
├── KPI 卡片行(4 个指标 + 环比变化)
├── 图表区
│ ├── 左侧:近 6 个月价格走势折线图
│ └── 右侧:各区域楼盘分布饼图
├── 底部:竞品项目对比柱状图
└── 页脚:数据来源说明
核心亮点:
如果我纯手写,350 行代码 + CSS 调试 + Chart.js 文档查阅,至少两天。用 WorkBuddy——30 分钟,包括喝茶时间。
七、方法论:怎么让 WorkBuddy 写出好代码
从这次建站经历里,我总结了几个关键原则:
需求要拆细,不要一把梭
❌ 错误做法:
代码块
Bash
帮我做一个数据看板
✅ 正确做法:
代码块
Bash
帮我做一个房产数据监控看板,要求:
顶部 KPI 卡片(4个指标:在售楼盘数、本月均价、成交量、库存周期)
左侧折线图(近6个月价格走势)
右侧饼图(各区域楼盘分布)
底部柱状图(竞品对比)
配色:深蓝主色,白色背景
数据先用模拟数据填充
需求越具体,WorkBuddy 的输出越精准。这和给设计师下 brief 是一个道理。
迭代式开发,不要一步到位
我的流程是:骨架 → 完善 → 美化 → 接入数据 → 加功能。每轮只改一个方向,WorkBuddy 能聚焦,我也能快速验收。
把 WorkBuddy 当搭档,不是工具
不要说"帮我写这段代码",要说"帮我实现这个功能"。WorkBuddy 会自己选择技术方案、写代码、调试、优化——像个真正的全栈搭档。
总结
如果你是做数据分析、市场调研、项目管理,或者任何需要"把数据展示出来"的工作——用 WorkBuddy 搭个看板,绝对是最值得投入的 30 分钟。
你不需要会写代码,不需要懂前端,不需要装任何开发环境。你只需要知道自己想要什么,WorkBuddy 负责把它做出来。
这就是 WorkBuddy 建站的核心价值——把"想"变成"有",中间不隔着任何技术门槛。