检查用户名和邮箱

前置内容

本文内容中未定义的方法和函数请先阅读:

  1. 【云剪切板——统一后端返回数据格式】:https://www.hyz.cool/articles/209
  2. 【Nodejs express 连接Mysql】:https://www.hyz.cool/articles/207

路由

  • UserController.js
const express = require("express")
const UserController = express.Router();
const UserService = require("../services/UserService")

/**
 * 检查用户名
 */
UserController.get("/check/username",UserService.checkUsername)

module.exports = UserController
js

数据库查询

  • UserDao.js
import {Query} from "../services/MysqlService";

/**
 * 获取用户
 * @param username
 * @returns {*}
 */
export function getUser(username) {
    return Query("SELECT * FROM `tb_user` WHERE `name` = ? OR `email` =  ? ",[username,username])
}
js

服务实现

  • UserService.js
/**
 * 检查用户名 
 */
export  const checkUsername = [
    validator.query("username","用户名或者邮箱不能为空").isLength({min:1}),
    (req,res,next)=>{
        //校验参数
        let validationResult = validator.validationResult(req);
        if (!validationResult.isEmpty()) return Result.result(res, Result.invalidParams(validationResult.array()))

        //拿到参数
        let {username} = req.query;
        UserDao.getUser(username).then(result=>{
            if(result.length>0) return Result.result(res,Result.failed("用户名或邮箱已存在"))
            return Result.result(res,Result.success("用户名或邮箱可以使用"))
        }).catch(err=>{
            console.log("Get User Error ...",err)
            Result.result(res,Result.failed("检查失败"))
        })
    }
]
js
打赏
  • 微信
  • 支付宝
评论
来发评论吧~
···

歌手: