周六、周日
因为身边朋友很多论文都在进行中,所以周末在构思自己的论文结构,考虑需要写的内容与可写的内容,书写了目录部分并交给老师审阅,进行了部分修改。
主要完成了关于论文的事宜:目录编写、摘要编写以及开启绪论背景编写。
周一与周二
进行用户模块的代码设计优化,上周主要做了用户的注册登录代码实现,本周完善剩下的用户模块:主要是用户管理,实现的五大功能:新增管理员,查找所有用户,查找所有管理员、查找具体某一个用户、删除用户。
新增管理员
请求地址:/user
请求方式:POST
参数解释 | 参数名称 | 数据类型 | 限制 |
---|---|---|---|
管理员名称 | user_name | string | 50个字符以内 |
管理员级别 | user_type | int | 2.3中的一个 |
邮箱 | string | 邮箱 | |
登录电话号码 | phonenumber | string | 11位电话号码 |
登录密码 | password | string | 密码:8-16位 |
查找所有用户
请求地址:/user/find/user?pageSize=10&pageNum=1
请求方式:GET
以下参数为可选 默认从config、page中获取
参数解释 | 参数名称 | 数据类型 | 限制 |
---|---|---|---|
第几页 | pageNo | string | int |
一页显示几条 | pageSize | string | int |
查找所有管理员
请求地址:/user/find/manager?pageSize=10&pageNum=1
请求方式:GET
以下参数为可选默认从config.page中获取
参数解释 | 参数名称 | 数据类型 | 限制 |
---|---|---|---|
第几页 | pageNo | string /int | |
一页显示几条 | pageSize | string /int |
查找具体某一个用户
请求地址:/user/findOne/{user_id}
请求方式:Get
参数解释 | 参数名称 | 数据类型 | 限制 |
---|---|---|---|
id | user_id | int |
删除用户
请求地址:/user/delete
请求方式:Post
参数解释 | 参数名称 | 数据类型 | 限制 |
---|---|---|---|
id | user_id | int |
主要工作
1.设计用户数据库表格,
在navicat上面显示如图:
2.数据传输对象设计,创建user.dto.ts,这是为管理员设置的DTO。有CreateUserDto与DeleteUserDto两个类组成。定义了账号格式、用户类型(2:普通职员–管理员;3:高级职员–超级管理员)
import {
ApiProperty } from '@nestjs/swagger';
import {
IsIn,
IsNotEmpty,
IsNumber,
IsString,
Matches,
MaxLength,
MinLength,
} from 'class-validator';
/**
* 此DTO只为管理员
*/
export class CreateUserDto {
@ApiProperty({
example: 'admin' })
@MaxLength(30, {
message: '账户不能超过30个字符' })
@IsNotEmpty({
message: '账户不能为空' })
readonly user_name: string;
@ApiProperty({
example: 2 })
@IsNumber()
@IsIn([2, 3], {
message: '类型只能时2.3中的一个' })
readonly user_type: number;
@ApiProperty({
example: '123@qq.com' })
@MaxLength(50, {
message: '邮箱不能超过50个字符' })
@IsNotEmpty({
message: '邮箱不能为空' })
@Matches(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/, {
message: '请输入正确的邮箱账户',
})
readonly email: string;
@ApiProperty({
example: '18312341234' })
@MaxLength(11, {
message: '电话号码不能超过11个字符' })
@IsNotEmpty({
message: '手机号不能为空' })
@Matches(
/^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/,
{
message: '请输入正确的手机号',
},
)
readonly phonenumber: string;
@ApiProperty({
example: '12345678qwe' })
@MaxLength(16, {
message: '密码不能超过16个字符' })
@MinLength(8, {
message: '密码不能少于8位' })
@IsNotEmpty({
message: '密码不能为空'