发表于: 2019-10-28 22:06:43

0 941


今天完成的事情:

1,学习用nodejs写一个后台

const http = require('http');

const url = require('url');

const querystring = require('querystring');

const fs = require('fs');

let users = {

  blue:123456

};

let server = http.createServer((req, res) => {

  //GET

  let {

    pathname,

    query

  } = url.parse(req.url, true);

  //POST

  let str = "";

  req.on('data', data => {

    str += data;

  });

  req.on('end', () => {

    let post = querystring.parse(str);

    console.log(pathname, query, post);

  });

let {user,pass} =query;

  switch (pathname) {

    case '/reg': //注册

      if (!user) {

        res.write('{"err":1,"msg":"user is required"}');

      } else if (!pass) {

        res.write('{"err":1,"msg":"pass is required"}');

      } else if (!/^\w{8,32}$/.test(user)) {

        res.write('{"err":1,"msg":"invalid username"}');

      } else if (/^['|"]$/.test(pass)) { //  /['|"]/

        res.write('{"err":1,"msg":"invalid password"}');

      } else if (users[user]) {

        res.write('{"err":1,"msg":"username already exists"}');

      } else {

        users[user] = pass;

        res.write('{"err":0,"msg":"success"}');

      }

      res.end();

      break;

    case '/login': //登录

    if (!user) {

      res.write('{"err":1,"msg":"user is required"}');

    } else if (!pass) {

      res.write('{"err":1,"msg":"pass is required"}');

    } else if (!/^\w{8,32}$/.test(user)) {

      res.write('{"err":1,"msg":"invalid username"}');

    } else if (/^['|"]$/.test(pass)) {

      res.write('{"err":1,"msg":"invalid password"}');

    } else if (!users[user]) {

      res.write('{"err":1,"msg":"no this user"}');

    } else if (users[user]!=pass) {

      res.write('{"err":1,"msg":"username or password is incorrect"}');

    } else {

      res.write('{"err":0,"msg":"success"}');

    }

    res.end();

      break;

    default: //文件

      fs.readFile(`www${pathname}`, (err, data) => {

        if (err) {

          res.writeHeader(404);

          res.write('Not Found');

        } else {

          res.write(data);

        }

        res.end();

      })

  };

});

server.listen(8080);

明天要做的事情:

继续学习nodejs

遇到的问题:暂无

收获:学到了数据交互相关的知识


返回列表 返回列表
评论

    分享到