用户中心

空~2022年11月8日大约 2 分钟

用户中心

前端项目初始化

保证 npm, yarn 等包依赖管理器和 node.js 相应路径对应

查看 npm 配置

npm config ls

修改安装路径

npm config set prefix "D:\node.js\node_global"

修改缓存路径

npm config set cache "D:\node.js\node_cache"

初始化项目

npm i @ant-design/pro-cli -g
pro create my-app

umi-ui

tyarn add @umijs/preset-ui -D

后端项目初始化

创建一个 SpringBoot 项目, 添加相关依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.2</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>
</dependencies>

关于 @RunWith(SpringRunner.class) 注解:

该测试类是 junit 的注解, 使用 junit 测试 springboot 类除了 @SpringBootTest 外还需要上该注解.

springboot 默认使用的是:

import org.junit.jupiter.api.Test;

数据库设计

三个必备字段

createTime 创建时间(数据插入时间)datetimemap

updateTime 更新时间(数据更新时间)datetimemap

datetime 属性不允许重复, 所以使用 datetimemap, 另外, 2022 版 idea 会自动把 datetime 转成 datetimemap

image-20221102184802336

isDelete 是否删除 0 1(逻辑删除)tinyint

其他字段

用户表:

id(主键)bigint

username 昵称 varchar

userAccount 登录账号

avatarUrl 头像 varchar

gender 性别 tinyint

userPassword 密码 varchar

phone 电话 varchar

email 邮箱 varchar

userStatus 用户状态 int 0 - 正常

提示

尽量避开 MySQL 的关键字

注册逻辑

  1. 用户在前端输入账户和密码、以及校验码(todo)
  2. 校验用户的账户、密码、校验密码,是否符合要求
    1. 非空
    2. 账户长度 不小于 4 位
    3. 密码就 不小于 8 位
    4. 账户不能重复
    5. 账户不包含特殊字符
    6. 密码和校验密码相同
  3. 对密码进行加密(密码千万不要直接以明文存储到数据库中)
  4. 向数据库插入用户数据