Node学习笔记之第六课实现一个简单的登录注册接口

笔记

首先定义接口 

接口名称: /user 

请求参数:act=reg&username=aaa&pass=123456 

     act的值区分是注册还是登录

     username是用户名

     pass是密码

返回值 {'ok':false,'msg':'原因'}

 

 

需求是这样的

先说注册

1.输入用户名跟密码提交注册时后台判断该用户名是否已经存在,如果已经存在就提示用户该用户名已经存在,否则注册成功

登录

1.输入用户名跟密码提交登录时判断该用户名是否已经注册,没有注册提示用户先去注册,如果已经注册判断输入的密码是否与注册时的密码一致,不一致时提醒用户名账号或者密码输入错误,一致时直接是登录成功

 

 

 

 

html代码





    
    
    
    POST发送表单
    
       




    

注册

用户名: 密码:

登录

用户名: 密码:

 

server.js代码

const http = require("http");
const fs = require("fs");
const querystring = require("querystring");
const URL = require("url");

var users = {};

http
  .createServer(function(req, res) {
    var postStr = "";

    req.on("data", function(data) {
      postStr += data;
    });

    req.on("end", function() {
      var obj = URL.parse(req.url, true);
      console.log(obj)
      const url = obj.pathname;
      const get = obj.query;
      const post = querystring.parse(postStr);

     console.log(url)
      // 判断是否是接口
      if (url == "/user") {
        //注册
        if (get.act =="reg") {
          if (users[get.name]) {
            res.write('{"ok":false,"msg":"该用户已经存在,可以直接登录"}');
          } else {
            users[get.name] = get.pass;
            res.write('{"ok":true,"msg":"注册成功"}');
          }
          //登录
        } else if (get.act == "login") {
          if (!users[get.name]) {
            res.write('{"ok":false,"msg":"该用户还没注册"}');
          } else if (users[get.name] != get.pass) {
            res.write('{"ok":false,"msg":"密码错误"}');
          } else {
            res.write('{"ok":true,"msg":"登录成功"}');
          }
        } else {
            res.write('{"ok":false,"msg":"没有该类型的文件"}');
        }

        res.end();
      } else {
        var file_name = './' + req.url;
        fs.readFile(file_name, function (err, data) {
            if (err) {
                res.write('404');
            } else {
                res.write(data.toString());
                
            }
            res.end();
        })
      }
    });

    // res.end();
  })
  .listen(8888);

 

你可能感兴趣的:(Node学习)