· - - 按照“缘分值”进行匹配,将“缘分值”最高的用户展现出来
· 按照“缘分值”进行推荐,由后台的推荐系统计算得出,展现出来
· 显示最近来看“我”的用户
探花 说明:左划喜欢,右划不喜欢,每天限量不超过100个,开通会员可增加限额。双方互相喜欢则配对成功 数据来源推荐系统计算后的结果。 搜附近 根据用户当前所在的位置进行查询,并且在10km的范围内进行查询,可以通过筛选按钮进行条件筛选。 桃花传音 功能类似QQ中的漂流瓶,用户可以发送和接收语音消息,陌生人就会接收到消息 测灵魂 测试题用于对用户进行分类,每次提交答案后更新用户属性 测试题在后台进行维护 测试题测试完后产生结果页可以进行分享 测试题为顺序回答,回答完初级题解锁下一级问题 点击锁定问题 显示提示 请先回答上一级问题 圈子 推荐频道为根据问卷及喜好推荐相似用户动态 显示内容为用户头像、用户昵称、用户性别、用户年龄、用户标签和用户发布动态 图片最多不超过6张或发布一个小视频 动态下方显示发布时间距离当时时间,例如10分钟前、3小时前、2天前,显示时间进行取整 动态下方显示距离为发布动态地与本地距离 显示用户浏览量 显示点赞数、评论数 转发数 消息 消息包含通知类的消息和好友消息。 小视频 用户可以上传小视频,也可以查看小视频列表,并且可以进行点赞操作。 我的 显示关注数、喜欢数、粉丝数、我的动态等信息。 开发方式 探花交友项目采用前后端分离的方式开发,就是前端由前端团队负责开发,后端负责接口的开发 好处 扬长避短,每个团队做自己擅长的事情 - 前后端并行开发,需要事先约定好接口地址以及各种参数、响应数据结构等对于接口的定义我们采用YApi进行管理,YApi是一个开源的接口定义、管理、提供mock数据的管理平台 多线程技术 好友时间线表通过异步执行,使用了spring的@Async注解实现异步执行,底层就是通过启动独立线程来执行,从而可以异步执行通过返回的CompletableFuture来判断是否执行成功以及是否存在异常。同时需要在启动类中添加@EnableAsync 开启异步的支持。 reids存储 用户的验证码,五分钟有效,登陆成功直接进行删除 get请求重复逻辑进行缓存 每次符合拦截的请求会先查缓存是否 有该数据,有的话直接返回,没的话则查数据库,将数据库查到的数据存入 缓存并响应给前端 通过ResponseBodyAdvice进行对响应的拦截,可以将数据缓存到Redis中 不能对于所有的请求都一刀切,所以需要创建@Cache注解进行标记,只有标记的Controller才进行缓存处理。 缓存的处理中,仅针对GET请求处理,其他的请求均不做处理 点赞数,是否点赞采用hash存储这样的好处就在于一条动态的点赞、喜欢等数据都会集中的存储到一起,从而减少了Redis中数据条数。 用户的关注列表,保存到redis中,方便后续的查询 请求到的Token 验证码登录功能 采用技术单点登录 以前实现的登录和注册是在同一个tomcat内部完成,我们现在的系统架构是每一个系统都是由一个团队进行维护,每个系统都是单独部署运行一个单独的tomcat,所以,不能将用户的登录信息保存到session中(多个tomcat的session是不能共享的),所以我们需要一个单独的系统来维护用户的登录信息。· 客户端需要通过SSO系统才能获取到token