[开源] 把自用的 Flutter 3.x 项目底座抽离开源了: Flutter Easy Starter(已处理国内隐私合规守卫 / Token 并发无感刷新 / GoRouter 多栈路由 / 14+ 预置页面)

1 天前
 reedtang666

平时自己做独立开发和客户端交付时,每次新建 Flutter 工程,最耗精力的往往不是写业务页面,而是立项前两周反复折腾那套基建:

为了省去每次新开项目从零搭架子的体力活,我把这套打磨好的工程底座整理开源了:Flutter Easy Starter。

🔗 项目地址

GitHub: https://github.com/reedtang666/flutter-easy-starter ( MIT 协议开源,如果刚好能帮你省下搭基建的时间,求顺手点个 Star ⭐ 支持一下!)


🛠️ 重点解决了哪些“脏活累活”?

  1. 国内应用市场隐私合规守卫(防审核被拒) 完整封装了 启动页 -> 隐私政策弹窗 -> 首次引导页 -> 登录检查 -> 首页 的状态流转,严格保证在用户点击“同意隐私政策”之后,才去初始化设备信息与敏感 SDK 。
  2. Dio + QueuedInterceptorsWrapper Token 无感续期 基于队列拦截器实现了并发锁无感刷新 Token ,多个请求同时过期时自动排队等待新 Token 并重放请求;刷新失败自动清理态并跳回登录页。
  3. GoRouter (StatefulShellRoute) 路由守卫 底部多分支独立路由栈(切 Tab 不丢状态),支持 Deep Link ,并且把隐私同意态、首次引导态、登录态全部收敛在全局路由 redirect 守卫里,不用在业务代码里到处写 Navigator.push 判断。
  4. Riverpod (Notifier) + 本地状态恢复 采用 Feature-first 的 Clean Architecture 分层结构,使用现代 Notifier 范式管理状态,配合本地持久化,冷启动自动恢复用户态与主题配置。
  5. WebSocket 实时通信底座 内置了带心跳检测、指数退避断线自动重连的 WebSocket 封装。

📱 不是只有 Counter 的空壳,直接内置了 14+ 预置页面

为了方便直接改造成社交、内容或工具类 App ,模板里用亮/暗双主题 + 毛玻璃( Glassmorphism )+ Shimmer 骨架屏预置了一套完整的页面:


🚀 快速跑起来体验

环境要求 Flutter 3.0+ / Dart 3.0+,无需配置后端即可直接跑通完整 UI 与交互流:

git clone https://github.com/reedtang666/flutter-easy-starter.git
cd flutter-easy-starter
flutter pub get
flutter run

如果你正好准备用 Flutter 起一个新项目,或者想找一个结构清晰的 Riverpod + GoRouter + Dio 实战参考模板,欢迎直接拿去用,有任何问题或建议欢迎提 Issue 交流!

563 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1252023

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX