
【星球项目】API 开放平台项目拓展
#API开放平台# 哈喽,大家好,我是YukeSeko。在做完API开放平台后,觉得这个是个非常好的项目,于是就进行了一点小小的改造和扩展,整个项目的扩展前后端都是自己开发的,前前后后大概花了一个月左右的时间,改bug花了挺多时间的,React也是第一次用,就跟着文档自学了一下。
项目上线地址为:http://122.9.148.119/
(因为我买的服务器的内存是4G,要部署几个微服项目以及Nacos、Rabbit Mq ,可能会出现某些服务宕机挂掉的可能,太难了~555)
Github地址:https://github.com/YukeSeko/YukeSeko-Interface
后端主要扩展技术和功能:
1、新增用户登录后返回token、以及token拦截器
2、重构用户表:将ak、sk单独放在表Auth中,且用户表中新增手机号mobile字段
3、新增用户通过手机号、发送手机验证码方式进行登录,使用令牌桶算法对发送短信接口进行限制
4、新增用户注册、忘记密码功能和页面,重构用户注册功能(需要使用手机号进行验证)。
5、新增在网关层中使用Sentinel来实现限流、降级等操作。
6、修改SDK请求基本路径,interface服务使用基本请求路径中携带的headers,通过反射技术实现只通过一个main接口动态调用API接口。
7、新增框架Spring Security 框架的使用(具有两种鉴权模式,可以选择使用Spring Security,也可以使用拦截器来实现)
8、新增Rabbit Mq 的使用,用于发送短信验证码和实现订单过期释放库存等功能,主要涉及到消息可靠性保证等功能实现(主要用于订单流程)
9、新增Feign来实现远程调用
10、新增接口购买功能(通过支付宝沙箱功能来实现付款功能)
11、新增第三方登录功能(Gitee、GitHub),微信公众号登录需要备案等其他原因,不再实现~
12、新增分布式锁的使用,解决在分布式环境中多个实例的相同定时任务在同一时间点重复执行的问题。
写作最后:
1、其中,发送短信功能每个手机号存在每日发送次数上限。
2、后续打算再在这个项目上添加鱼搜索的功能(服务器再装一个ES可能就炸了~哈哈哈...)
3、项目本地环境测试的时候暂时没有出现bug,如果线上环境出现bug的话,欢迎大家给我留言或者私信。
4、项目中还有许多不足之出,欢迎大佬们指点,有幸能被鱼皮哥看到的话,也期待鱼皮哥提提改进优化的建议或者想法。
