2019 年上线 · 走过四个大版本
把每一场比赛,交到具体的人手上
非凡体育从一张手动维护的赛事表做起,今天把 126 个联赛收进「联赛—轮次—场次」三层结构里。你在手机上点开的那条比分,是有人在赛后拿官方结果对过、确认过,才放到导航上的。
最早可回溯至 2019 赛季
2019 · 起点
从一张赛事表开始
上线那年,赛程靠手动整理。几个人盯着各地赛事的公告,把对阵和时间一条条敲进表格,改一次就要重发一次。收录的联赛不到二十个,用户问得最多的一句是「下一轮什么时候」。那个时候没有导航,只有一张不断被覆盖的表。
到今天,这份表长成了 126 个联赛、约 4.8 万个赛季轮次的规模。每个联赛的轮次页面保留完整赛季归档,赛季踢完也不会被清掉,最早能一路翻回 2019 赛季。结构始终只有三层:先挑联赛,再看轮次,最后落到具体场次。路径没变过,是因为查找这件事本身就不该复杂。
- 126个联赛在架
- 4.8万个赛季轮次
- 2019最早可回溯赛季
32 人 · 四个小组
32 个人,分在四个小组里
团队不大,但分工很硬:比赛数据从哪来、谁来复核、手机上点起来顺不顺、弱网里会不会白屏,每一件都有人盯着。
-
赛事录入
跟着各地赛程把对阵、时间、场地落进三层结构。赛季密集期把更新频率提到每日三次,间歇期转去梳理旧的归档。
-
数据校对
拿官方公示的结果跟录入内容逐场对照,比分、主客顺序、加时与点球分开标注。所有比分和赛程都经过人工确认才会放出。
-
前端体验
管移动端的标签层级、首屏资源和加载表现。首屏以 1.2 秒内可交互为目标,首屏资源控制在 380KB 以内。
-
适配验证
在安卓与 iOS 机型上跑 43 项检查点,覆盖吉林地区不同的网络环境,把加载、触控、权限和机型兼容逐项过一遍。
终场哨之后
一场比赛踢完,比分要过四道手
你在页面上看到的那个数字,背后是一条固定的交接链。每一道都有明确的动作,出了异常会退回上一步。
-
STEP 01
结果落表
终场结果一出,录入组按赛事来源把比分、对阵双方和所在轮次填进对应场次,先保证这一场有位置。
-
STEP 02
官方结果比对
校对组拿官方公示的结果跟落表内容对照,主客顺序、加时与点球分别标注,对不上的回到上一步重填。
-
STEP 03
异常值复核
跟这支球队近期表现差得太远的数值会在数据链路里被标出来,回到来源再确认一次,没问题才解除标记。
-
STEP 04
随刷新上线
确认后的比分进入导航,刷新间隔 5 秒。刚更新的场次用信号橙标出,正在进行的用荧光青,已结束的回到纸白。
V1 → V4
四个大版本,每次只解决一个卡点
平均每年发布 6 次功能更新,攒够一批就上升一个大版本。四个版本留下的印记是这样叠起来的。
V1
- 联赛、轮次、场次三层落地,第一次能按轮次看完整个赛季的进度。
- 赛季结束不清档,归档结构从这一版定型,后来所有联赛都沿用同一套。
V2
- 进行中、刚刚更新、已结束三种状态固定下来,用颜色直接区分,扫一眼就知道该不该刷新。
- 比分不再是一行没有标签的字,页面上的数字开始自己说明自己处在什么阶段。
V3
- 分类标签压缩为三层,首屏能直接看到的联赛入口从 12 个精简到 6 个,手指不用来回找。
- 决赛比分点开就能展开对阵双方的近 5 场结果,按时间由近及远排列,少一次返回操作。
V4
- 赛后数据刷新间隔由 12 秒缩短到 5 秒,同一场比赛的分数变化更快落到页面上。
- 首页直达入口沿用 V4 视觉语言,老用户从首页一步就能跳到最近关注的联赛。
- 移动端首屏以 1.2 秒内可交互为目标,首屏资源控制在 380KB 以内,进入速度不再被图片拖住。
持续维护中
适配不是一次性的任务
系统一年一更新,机型一年一换,检查清单就得跟着走。43 项检查点按重点拆成四组,每季度复检一遍,跑不通的不放进发布流程。
- 17 网络加载
- 12 触控与字号
- 8 权限与存储
- 6 机型兼容
验证在吉林地区等 9 种网络环境下完成,弱网重连成功率维持在 99.2%。iOS 与安卓的系统大版本发布后 14 天内补充专项检查,避免新系统上线第一周出现空白页。你在信号差的地铁里打开页面,看到的是比分,而不是转圈。