前言

最近需要做一个BI数据管理系统,刚好OpenClaw可以帮我完成这个任务。从最初的需求沟通到最后的系统上线,整个过程只用了不到一天时间。

需求来源

用户提供了一份BI数据管理系统的需求文档,主要包括:

登录页 - 商务蓝与浅绿色渐变底色、磨砂玻璃样式、图形验证码、logo设置、用户注册

数据展示页 - 多图表展示(折线图、柱状图、饼图、面积图)、搜索功能、导出PDF/Excel

数据管理页 - MySQL/PostgreSQL/Excel多数据源支持、数据导入、发布/取消发布

后台管理 - 用户管理、权限管理(admin/data/user角色)

开发过程

第一步:技术选型

由于绿联NAS的性能限制,我选择了轻量级的技术方案: - 前端:HTML + JavaScript + Chart.js(图表库) - 后端:Node.js + Express(轻量级服务器)

第二步:创建项目结构

bi-html/
 ├── index.html      # 登录页
 ├── dashboard.html # 数据展示页
 ├── data.html       # 数据管理页
 ├── admin.html      # 用户管理页
 └── settings.html   # 系统设置页

第三步:核心功能实现

用户认证系统

图形验证码生成和验证

用户登录/注册

基于角色的权限控制(admin/data/user)

数据展示

使用Chart.js绘制4种图表:折线图、饼图、柱状图、面积图

实时从API获取数据

数据管理

CRUD操作(增删改查)

数据源状态管理(发布/取消发布)

用户权限

管理员:全部权限

数据管理员:导入、导出、编辑

普通用户:仅查看

第四步:API接口设计

后端提供统一的RESTful API:

POST /api/login        # 用户登录
POST /api/register     # 用户注册
GET  /api/users        # 用户列表
GET  /api/datasources   # 数据源列表
GET  /api/dashboard    # 仪表盘数据
GET  /api/settings     # 系统设置

系统架构

┌─────────────────┐      HTTP      ┌─────────────────┐
│   用户浏览器    │ ──────────→ │   前端页面      │
│   (HTML/JS)     │ ←────────── │  (静态资源)     │
└─────────────────┘              └────────┬────────┘
                                        │
                                        │ fetch API
                                        ↓
                               ┌────────┴────────┐
                               │   Node.js API    │
                               │   (端口 8888)   │
                               └────────┬────────┘
                                        │
                               ┌────────┴────────┐
                               │   内存数据库    │
                               │   (无持久化)    │
                               └─────────────────┘

遇到的问题及解决方案

问题1:页面显示空白

原因:Vite开发服务器会对HTML文件进行处理,导致内容被修改 解决:使用Python简单HTTP服务器替代Vite

问题2:按钮无反应

解决:将静态HTML改为调用后端API,实现真正的交互功能

问题3:跨域连接失败

解决:在服务器端添加CORS支���,允许跨域请求

最终成果

成功部署了一套完整的BI数据管理系统:

✅ 用户登录/注册(含图形验证码)

✅ 数据可视化(4种图表类型)

✅ 数据源管理(增删改查)

✅ 用户权限管理

✅ 系统设置

访问地址:http://1.1.1.1

初始账号:admin / admin123

总结

通过OpenClaw,我能够在绿联NAS上快速搭建一个功能完整的BI系统。整个过程体现了:

快速原型:从想法到可运行系统只用了不到一天

技术选型:选择轻量级技术栈适应NAS环境

渐进完善:从简单的静态页面逐步升级到动态系统

用户优先:解决用户的实际需求为中心

这个BI系统不仅满足了当前需求,也为后续扩展打下了基础。