游搭App 架构:serverless + rn + nextjs,云函数,云数据库
登录:双token无感刷新,前后端路由守卫,前端封装组件,后端中间件
过滤:用户精确筛选
用户管理:个人信息编辑,退出登录,修改密码,注销
聊天:
- websocket即时通讯
- websocket断线重连,找回丢失信息,替代客户端心跳检测
- 滚动优化:初始化消息记录,通过防抖检测内容是否渲染完毕,加载完后再滚动到底部
- 键盘弹出时,动态调整列表容器的高度,然后滚动到底部
- 接或发消息的时候,也要等消息渲染完毕再滚动到底部
- 历史聊天记录,每次重新进来只加载十条,整一个的用户体验,都是自己去考虑的
- 时间算法,对着微信的功能,自己写出来
- 后面考虑做语音通话,也是通过websocket监听设备的录音,转换成二进制的数据实时发到对方的客户端
首屏优化:
- 优先请求必要接口,不并发请求多个数据,让首屏最快的加载出来
- 云函数定时预热,loading提示,后续准备做骨架屏
- 列表懒加载和分页,初始化,刷新,加载,复用一个接口,自己封装的分页器和Tag标签展示
- 适配不同机型,tabBar高度全面屏和非全面屏,算法不一样,通过算设备宽高比得出是否全面屏,多台真机测试,平板上也没问题
数据库的分表
- 活动和评论
- 过滤信息