架构:
我们这个项目是由Maven搭建的项目,前后端分离,使用的springcloud微服务架构,结合了springboot搭建。前台页面使用了VUE,持久层用的是Mybatis框架,图片上传使用的fastDFS,静态页面使用了Thymeleaf[taim li:f]
,并且使用Nginx代理静态页面。搜索用的是Elasticsearch,缓存用到了redis主要做了单点登录,使用RabbitMQ做消息中间件,支付接口调用了微信支付的第三方接口。
注册模块: 注册用户:
注册这块呢,为了让用户更加便捷的注册、登录,可以在注册页面直接填写手机号码,通过手机号码获取短信验证码;后台会根据手机号进行正则校验,判断手机号码是否合法,如果手机号码不合法则返回错误信息;如果手机号码合法,则通过Math.random()方法生成随机的6位数,以手机号为key,验证码为value存入redis中;我们采用的阿里云短息,因为阿里云平台比较稳定,到达率高;
首先呢需要企业注册一个阿里云,里面找到短信微信服务,申请自己的模板和签名等信息;下载短信服务提供的SDK,通过SDK提供的工具类,和自己对应的参数配置,访问短信服务商网关,进行短信发送
因为短信服务与系统业务联系不高,所以–我们单独开发了一*个短息微服务,通过RabbitMQ进行消息通讯,这样既与系统进行了解耦,也提高了短信服务的复用率;
当用户点击获取验证码的时候,通过RabbitMQ向短信服务发送消息,短信服务会将配置的模板id,手机号自动向用户发