Java for You Java基础教程 零后端实战(一):为什么用飞书多维表格当数据库

零后端实战(一):为什么用飞书多维表格当数据库

绿色代码雨

引子

我有一个很朴素的需求:记账式地管理自己的股票仓位——建仓、加仓、止盈、止损,每笔操作留痕,再实时算出当前持仓和浮动盈亏。

这种小工具,最省事的做法不是去租一台云服务器、装数据库、写一套后端 CRUD,而是……直接用飞书多维表格当数据库

本系列就讲我是怎么用「一个前端 + 一张飞书表」把这个系统做出来的:零后端、零数据库、数据存在飞书(几乎人人都有),还能免备案上线。

核心思路:飞书多维表格 = 云端数据库

飞书多维表格(Bitable)本质是一张带类型约束的在线表格:日期、单选、多选、数字、文本……这些正好覆盖一个交易记录需要的字段类型。它提供开放的 REST API,前端只要能调通 API,就等于拥有了一个「免运维的云端数据库」。

浏览器因为 CORS 不能直接调飞书 API,所以我们在前端和飞书之间放一个极薄的代理(开发时用 Vite 中间件,生产时用常驻 Node 进程)。这个代理只做「转发 + 换 token」,不存任何业务数据,也不落盘密钥。

整体架构

flowchart TB
    A[浏览器 / 使用者]
    A -->|https 访问| B[Cloudflare Tunnel 公网 HTTPS 免备案免端口]
    B -->|出站回环| C[nginx 仅本机]
    C -->|/stock/* 静态资源| D[dist 前端 JS CSS 模板 base]
    C -->|/api/feishu/* 代理转发| E[feishu-proxy 飞书 API 代理 仅本机]
    E -->|X-Feishu-Credentials 头 内存解码后转发| F[飞书多维表格 open.feishu.cn 云端数据库]

    style A fill:#eff6ff,stroke:#2563eb,color:#0f172a
    style B fill:#eff6ff,stroke:#2563eb,color:#0f172a
    style C fill:#eff6ff,stroke:#2563eb,color:#0f172a
    style D fill:#ffffff,stroke:#64748b,color:#0f172a
    style E fill:#fffbeb,stroke:#d97706,color:#0f172a
    style F fill:#ecfdf5,stroke:#10b981,color:#0f172a

关键安全说明:浏览器绝不直连飞书(被 CORS 拦截);凭据经 X-Feishu-Credentials 头由代理内存解码后转发,服务器不落盘。其中 nginx 仅本机监听 8888,feishu-proxy 仅本机监听 8787,公网入口由 Cloudflare Tunnel 建立,本机端口不暴露给公网。

三个页面

  • 股票基本信息:持仓股票数、浮动盈亏、各股持仓卡(持仓中 / 已清仓)。注意:这页不读飞书任何独立表,是完全由操作记录前端聚合出来的派生视图。
  • 股票操作记录:买入 / 卖出流水,支持筛选、新增 / 编辑 / 删除,含「未卖出手数」列(FIFO 口径)。
  • 飞书设置:配置 App 凭据、多维表格、连通测试与写权限探测。

本系列路线

  1. 开篇与架构(本篇)
  2. 前端工程:深色玻璃拟态 UI 怎么搭
  3. 核心:把飞书多维表格当数据库读写(含 CORS 绕过)
  4. 部署上线:免端口免备案
  5. 调试实录:三个真实的调试决策
  6. 复盘、对比与展望

小结

「零后端」不是偷懒,而是把「数据库 + 运维」这件事外包给了飞书。下一篇我们搭前端。


本文首发于 java4u.cn,转载请注明出处。

本文由 java4u.cn 发布,可自由转载、引用,但需署名作者且注明文章出处(作者:白色蜗牛,出处:java4u.cn)。如转载至微信公众号,请在文末添加作者公众号二维码。 https://java4u.cn/java_base/2413.html

作者: 蜗牛

零后端实战(一):为什么用飞书多维表格当数据库

联系我们

联系我们

公众号:蜗牛互联网

在线咨询: QQ交谈

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部