轻电商项目的介绍和环境搭建

本文介绍了以社交平台为核心的轻电商项目,重点讲解了短信登录功能的实现,包括基于Session和Redis的登录过程。通过Redis解决多台Tomcat集群的Session共享问题,实现线程安全的登录状态校验。详细阐述了从发送短信验证码到登录状态校验的整个流程,并给出了关键代码片段。
摘要由CSDN通过智能技术生成

1.项目介绍&环境搭建

一个以社交平台为核心的轻电商项目,功能如下:

短信登录、商户查询缓存、优惠券秒杀、达人探店、好友关注、附近的商户、用户签到、UV统计

1.1项目架构

1.2项目环境搭建

1.2.1后端项目搭建

mysql的版本采用5.7及以上版本

(1)首先创建数据库,需要创建的表有:

  • tb_user:用户表
  • tb_user_info:用户详情表
  • tb_shop:商品信息表
  • tb_shop_type:商品类型表
  • tb_blog:用户日记表(达人探店日记)
  • tb_follow:用户关注表
  • tb_voucher:优惠券表
  • tb_voucher_order:优惠券的订单表

(2)导入项目依赖

 
<dependencies>
<!--SpringBoot整合的redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--数据库连接池-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!--web-starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.47</version>
</dependency>
<!--Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--springboot-test-starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--mybatisplus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<!--hutool-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.17</version>
</dependency>
</dependencies>

(3)application.yml配置文件

 
server:
port: 8081
spring:
application:
name: hmdp
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/hmdp?useSSL=false&serverTimezone=UTC
username: root
password: 123456
redis:
host: 192.168.1.3
port: 6379
password: 123456
lettuce:
pool:
max-active: 10
max-idle: 10
min-idle: 1
time-between-eviction-runs: 10s
jackson:
default-property-inclusion: non_null # JSON处理时忽略非空字段
mybatis-plus:
type-aliases-package: com.hmdp.entity # 别名扫描包
logging:
level:
com.hmdp: debug

1.2.2部署前端项目

这里部署已经实现好的前端项目

(1)解压文件:

(2)使用CMD窗口启动 nginx.exe:

(3)打开谷歌浏览器---右键页面,点击“检查”--地址栏访问 127.0.0.1:8080,即可看到页面:

(4)若要退出Nginx服务,只需在目录下运行命令 nginx -s quit

参考:Nginx关闭方法

2.功能01-短信登录

2.1基于Session实现登录

2.1.1思路分析

2.1.2代码实现

2.1.2.1发送短信验证码

发送短信验证码:

发送验证码的接口为:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手机号>

请求方式:POST

请求路径:/user/code

请求参数:phone,电话号码

返回值:无

部分代码

(1)User类、UserDTO类(DTO类主要是为了存储非敏感数据)

 
package com.hmdp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* 用户实体类
*
* @author 李
* @version 1.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
//chain = true,则对应字段的setter方法调用后,会返回当前对象
@Accessors(chain = true)
@TableName("tb_user")
public class
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值