数据沉睡十年?交互驱动服务器智能开发新范式
|
去年7月,我蹲在测试机前等接口响应,竖着的显示器映出我后脑勺——工位那台27寸戴尔U2723DX,支架早被拧松了,一碰就晃。后端又改了返回结构,第三次。我盯着控制台报错:TypeError: Cannot read property 'items' of undefined —— 没加可选链,没加兜底,连个空数组都不给,直接undefined。我就把鼠标悬停在那段fetch后面,没点执行,光看它发红的括号。旁边会议室白板没擦干净,上一轮评审留下的“数据就绪”四个字糊在角落,底下被谁用马克笔潦草划掉,补了行小字:“但没权限”。 跟产品吵架那天,他端着杯子站了很久。不是站着讲,是真站——脚没挪过,水汽在杯壁凝成水珠滚下来,在T恤下摆洇开一小片深色。我说:“你让我设计一个‘智能推荐位’,但用户过去三年点击数据压根没进数仓。”他点头:“嗯,历史库有权限,但同步任务去年Q4就停了。”我问:“停了?”他说:“运维说‘暂不启用’。”我没接这句,顺手抄起桌上掉漆的空格键——键盘上那个键上周三就掉了,现在卡在右下角凹槽里,敲tab键会咔哒响两声。我把它推回原位,咔哒、咔哒。人背后走过,椅子被蹭歪,我伸手扶了一下,扶完才想起这把椅子不是我的。 碎片拼起来:7月12号下午,我改完中台页面的数据展示逻辑,提交记录是 d8f2a3c(git log --oneline | head -n 5 里倒数第二条),message写的是“修复空状态兜底,含服务端未返回时 fallback”。结果当天晚上部署失败,构建日志最后一行是 “error: ‘dashboard/data/v3’ not found in dist/ —— 但路径明明在v2下,后端刚发来新文档,PDF第7页写着“v2已弃用,v3为正式版”,而v3接口还没上线。第二天早上我切到 dev 分支重新拉,发现 design-token.ts 里 font-size-base 被改成14px,不是设计稿标注的16px;不是字体变小了,是整套中台字号体系崩了一角——但没人提这事,因为没人打开Figma比对。外卖到了,放门口三小时,塑料袋被空调风吹得贴在门框上,没人去拿。
文章配图,仅供参考 数据沉睡十年?呵。它根本没醒过。所谓“交互驱动服务器智能开发”,本质是让前端在UI层硬扛所有业务不确定性:首屏转圈、按钮点了没反应、控制台一片红、列表拉到底突然空白、筛选条件联动失效、搜索结果和输入框关键词对不上——这些全靠在useEffect里塞setTimeout兜底,在reducer里加try-catch捕获null,在API封装层手动mock默认值。我们不是在做交互设计,是在给后端甩过来的JSON尸体做临终关怀。去年7月之后,我再没点过F12的Network面板里的“Preserve log”,因为每次清掉,下一秒又是一堆404、502、timeout混在一起,像打翻的中药罐子,苦得发黑。 不觉得荒诞吗?我们对着Figma里那个带动效的「加载中」组件反复调贝塞尔曲线,同时后端同学正把生产环境的config.json手动物理删除;我们用CSS变量管理12种状态色,结果核心指标字段名在swagger.json里写成了user_name_zh(而DB里是user_nickname);我们花三天配好深色模式切换动画,但用户看到的第一屏是数据库连接超时的错误边界。交互不是驱动什么范式,是拖着服务器残躯往前蹭——一脚油门,一脚刹车,刹车片烧红了,还要被问“为啥没加防抖”。 冷眼看着吧。反正性能面板里那一行LCP时间已经烂得认不出原样,CLS跳变值高到无法截图,CLS面板左上角显示“⚠️ Layout shift detected”,但提示框被chrome自动折叠进三级菜单。我们早就习惯不点开它。就像没人再去擦白板,也没人去拿外卖。昨天又有个新需求来了,说要接入“AI意图识别服务”,接口文档还没发,设计稿先来了,标注写着“此处需实时响应”,而我在Chrome DevTools的Console里刚打出 console.warn('fallback to mock'); 然后按了回车。 下一步?我把d8f2a3c这个提交revert了,删掉所有兜底逻辑,把useDataFetch里的loading state干掉,直接return null。现在中台首页打开就是空白——纯白,无任何骨架、无logo、无loading、无报错,就一张白纸。等他们哪天把v3接口跑通、数仓同步恢复、权限策略写清楚、Swagger和实际返回一致了,我再补回来。不是赌气。是空白比假 loading 更诚实。至少它不骗人。 (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


