把一个旧足球社区 App,重建成可演示的移动端与后端链路。

寻球围绕足球社群、球队管理、约赛日程、动态内容和短视频发布展开。当前链路保留旧版 App 与旧后端的对应关系, 同时让 64 位新版客户端接入 Spring Boot 3 新后端、托管 PostgreSQL 和 Cloudflare R2 上传存储。

夜场足球训练场景
Legacy App to Modern Service 旧客户端、64 位新客户端和现代后端分流运行,核心体验可以独立验收。
旧版链路
保留

旧版客户端继续对应旧后端,避免影响历史包和旧接口调用。

新版客户端
64 位

新 Android 客户端以配置化 Host 接入现代后端,保留核心业务体验。

新后端
Spring

Spring Boot 3 + Java 17 + PostgreSQL + Flyway,重建核心接口。

对象存储
R2

图片、视频、封面文件进入 Cloudflare R2,服务端只保存对象记录。

旧版 App:不是一个页面项目,而是一个多年堆叠的业务系统。

旧版 `Xun/` 覆盖登录、动态、球队、日程、赛事、球场、队费、短视频、商城、IM、推送和支付。迁移前先做技术债拆解,而不是盲目升级。

构建和 ABI 债务

旧版使用老 Android 构建栈、旧 Support 库、MultiDex 和 32 位 ABI。直接升级会同时触发构建、native、三方 SDK 和全量回归风险。

AGP 3.xtargetSdk 2732-bit ABI

网络请求分散

旧版以 Volley 请求队列为主,同时存在多套历史网络写法。迁移重点是把接口收敛到统一 API 层,减少页面直接拼 URL。

VolleyRequestQueueURL 归一化

视频链路复杂

旧版涉及 MediaRecorder、FFmpeg、IjkVideoView、短视频发布和集锦编辑。问题定位必须跨文件、上传、静态资源和播放器。

MediaRecorderFFmpegIjk

新旧分流:旧版对旧服务,新版对新服务。

新版 `xunqiu-android64/` 是单模块轻量客户端,重点不是搬运旧工程,而是用现代后端恢复登录、动态、视频、球队、约赛和球场等核心路径。

登录和会话

新后端兼容旧客户端登录返回格式,继续使用 userId/token 承接后续接口调用。

动态和社区

接入动态列表、详情、点赞、评论、文字和图片动态发布,上传文件进入 R2。

日程和球队

重建球队、成员、约赛日程、报名状态和球场列表,让客户端核心页面不空白。

短视频和验证

短视频接口支持上传、封面、播放记录、评论和点赞;第三方能力先以安全 stub 收口。

现代后端:重建核心接口,而不是修补不可用旧服务。

原数据库、上传目录和第三方能力已经不可依赖,因此新后端从数据模型、接口兼容和部署方式重新建立最小可用闭环。

兼容客户端接口

服务挂载在统一路径下,登录保持旧格式返回,列表接口继续提供 status、msg、data、datas、total 等字段。

EnvelopeTokenApiClient

托管数据和迁移

PostgreSQL 由 Render 托管,Flyway 自动创建核心表和演示数据,便于部署后快速验收。

PostgreSQLFlywaySeed

文件存储外置

上传通过服务端接收 multipart,再写入 Cloudflare R2;数据库记录 key、公开 URL、大小和 MIME。

R2S3 APIMultipart

上传链路从本地文件,走到对象存储。

视频问题不能只看 UI。新版链路会检查客户端文件、multipart 字段、服务端保存记录、R2 对象和回流 URL,避免“上传成功但播放失败”。

足球短视频封面 球队训练短视频封面

链路化排查

客户端输入 检查用户选择的视频文件大小、时长、可读性和封面生成结果。
上传和服务端 确认 multipart 字段、服务端记录、对象存储 key、公开 URL、MIME 和文件大小。
客户端兜底 选择、提交、API 层三道校验,拦截小于 32 KB 或无法读取时长的视频。
播放体验 按真实视频宽高适配竖屏和横屏,评论抽屉化,点赞局部刷新,减少整页重建。

技术文档:把迁移过程、后端重建和验证证据沉淀下来。

文档聚焦工程事实:旧版技术债、64 位重建策略、视频链路、现代后端、R2 上传和 Cloudflare Pages 静态部署。

APK 下载尚未开放

64 位客户端阶段包保留在本地归档中。正式 release 签名、SHA-256、扫描与回归证据、版本说明、回滚说明和维护者批准完成前,展示站不托管 APK 文件。

APK 待正式发布 看部署说明 后端验证文档
下载状态等待正式 release 审核
构建方向Android 64 位兼容客户端
新后端Spring Boot 3 / PostgreSQL / R2
部署方式产品页 Cloudflare Pages,后端 Render