node+express+mongo制作用户注册接口

node+express+mongo制作用户注册接口

用户表配置

连接数据库并启动服务

  1. 在当前项目文件中/server/config/index.js 文件中修改数据库配置,代码如下
 var mongodb = {
  db_user: "admin", // 自己服务器数据库账号
  db_pwd: "admin", // 自己服务器数据库密码
  db_host: "127.0.0.1",
  db_port: 27017,
  db_name: "elment-plus"
}
 if(process.env.server == "local"){
	mongodb = {
	  db_user: "",
	  db_pwd: "",
	  db_host: "127.0.0.1",
	  db_port: 27017,
	  db_name: "element-plus"
	}
 }
exports.mongodb = mongodb
exports.Config = {
  outTime:1200 // 登录超时时间
}

exports.isCrossDomain = true // 是否支持跨域

第一行的数据库配置是服务器的数据库配置信息,打包上线之后服务器的数据库地址与账号密码与本地是不一样的,所以这里分两块配置。
本地安装完mongodb数据库之后,一般端口是27017,账号密码一般为空。所以这里只需要修改db_name值即可,也就是当前项目的数据库名称。
没有代码的可去 https://gitee.com/guiplan/element-plus-vite.git下载。

  1. 启动后端接口:本地启动项目命令为node ./server.js local 表示启动的是本地项目。数据库也会连接本地的数据库。也可以用nodemon ./server local 启动 这样修改接口就无需每次都重启了

配置用户表

  1. 在guiplan中数据库配置中配置用户表
    在这里插入图片描述
    参数里面输入表字段,下方会自动生成字段的相关属性。我们只需要手动点击即可修改属性。
    比如用户名称必须唯一,只需要勾选“是否唯一”复选框即可。
    再比如新注册的用户,用户昵称自动设置为‘匿名用户’,只需要在上面文本框设置写内容值即可。
    还有字段类型也只需要点击下拉框即可选择数据类型。
    表名称为user2因为之前已经配置了一个user表了,为了演示不冲突这里新建一个user2表
  2. 生成代码
    点击生成代码按钮即可自动生成数据库配置代码在这里插入图片描述
    在这里插入图片描述
  3. 插入代码到配置文件中
    确认生成的代码无误之后点击插入到文件,即可自动将数据库配置信息插入到配置中
  4. 查看数据库配置文件
    点击“插入到文件”下方的文件目录地址,即可打开该文件,附上该文件的数据库配置代码
var shortid = require('shortid')
var tableConfig = {

  dfTable: {
    _id: {
      type: String,
      unique: true,
      default: shortid.generate
    }
  }
  // addCode
			// user2 Start
		,user2:{
        _id: {
          type: String,
          unique: true,
          default: shortid.generate
        },
        userId: String,
        createTime: {
          type: Date,
          default: new Date()
        },
        updateTime: {
          type: Date,
          default: new Date()
        },
          username:{ // 用户名称
            type:String,
            default:'',
            unique: true
            },
          password:String, // 用户密码
          userid:{ // 用户唯一id
            type:String,
            default:'',
            unique: true
            },
          access:{ // 用户权限
            type:Array,
            default:['user']
            },
          avatar:String, // 用户图标
          token:String, // 登录token值
          name:{ // 用户昵称
            type:String,
            default:'匿名用户'
            }
          
        }
		// user2 end

这样一个用户表就配置好了

注册接口配置

自动生成新增接口

  1. 自动生成接口
    选择user2数据库,点击“新增”按钮会自动生成一个新增数据的接口,自动生成的接口会根据字段的配置,自动做出相关的判断,如为空判断以及是否输入的信息唯一判断等等。
    在这里插入图片描述
  2. 修改配置
    用户注册接口虽然也是新增数据接口,但一些特殊性以及相关的安全性,我们还需要手动去修改配置。
    我们将接口名称改为用户注册,接口地址改为user2/register,登录检验方式改为无需登录。注册接口是不需要登录判断的。
    如下图
    在这里插入图片描述
    再将自定义条件代码添加以下代码
   where.userid = shortid.generate() // 自动生成唯一用户id
    if(username == 'guiplan'){
      where.access = ['admin','user'] // 如果注册的用户为guiplan则给与admin后台管理权限
    }

意思是每注册一个用户会自动生成一个唯一userid值。
当注册的用户为名guiplan时,给它一个admin权限。当然这个用户名你也可以改为admin来进行判断,总之需要一个超级管理员权限的账号,因为要有一个有权限的用户去登录后台。
在这里插入图片描述
最后再将插入添加进行一下筛选,userid用户唯一id、access用户权限、token登录校验 这几个字段不允许前端传值来添加。
在这里插入图片描述
这里还需要图像验证码的判断,我们再添加一个code字段
在这里插入图片描述
条件里勾选这个字段,表示这个字段会从前端获取
在这里插入图片描述
最后在自定义条件下方输入验证码校验判断代码,这里还要注意验证码用完一次要记得清空掉req.session.imageCode = null,否则的话,前端用户输入一次验证码之后就可以反复注册多次的问题。

if(!req.session.imageCode||req.session.imageCode != code){
      send(res, false,"验证码不正确,请重新输入")
      return
 }else{
 	req.session.imageCode = null
 }
  1. 生成代码并保存文件
    点击生成代码,右边可以看到接口代码
    在这里插入图片描述
    点击“插入到文件”即可自动将生成之后的接口代码保存起来,重启服务即可使用接口。如果时用nodemon启动的,则无需重启服务。

总结

通过guiplan的数据库与接口配置可以快速的创建数据库,快速创建接口。手写代码几乎只占了10%不到,90%代码都由软件自动生成,大大提高开发效率。这块注册选中的是post请求方式,不能通过浏览器直接演示接口。下一章将配合注册页面来调用注册接口,完成整个注册功能。喜欢的朋友记得点关注哟。有什么建议或意见也欢迎大家留言反馈哟,毕竟每个人的思路不一样,存在一些漏洞也很正常。

猜你喜欢

转载自blog.csdn.net/guige8888811/article/details/112604365