node.js初使用之使用express插件快速搭建登录注册

首先,介绍些express,express是基于node.js平台快速,开放,极简的web开发框架,express 便于我们快速的开发node api接口
得保证安装了node.js
在sd 这里插入图片描述下载好以后,新建server.js文件

//引入模块
const express = require('express');
//获取express对象
const url = require('url');
const fs = require('fs');
const path = require('path');
var bodyParser = require('body-parser')
const app = express();
app.use(bodyParser.urlencoded({extended:false}))
//解析post数据,仅限于 x-www-form-urlencode
app.use(bodyParser.json())
// 解析post 数据的json格式
// app.use(cors());
//get方法,第一个参数为url中的path,req请求对象,res响应对象  
/* app.get('/', (req, res) => {
    res.send('你好')
})
app.get('/login', (req, res) => {
    res.send('欢迎登陆')
}) */
// 注册
// 获取参数
// 保存数据
app.get('/home/reg', (req, res) => {
    console.log(req.query);//{ us: 'wangyi', ps: '123' }
    console.log(req.url);///home/reg?us=wangyi&ps=123
    // 解析url,获取,请求search的api

    let search=url.parse(req.url).search;
    fs.appendFile(path.join(__dirname,'./user.txt'),search,(err)=>{
        //下面不加return的会报错,res.send只能发送一次,也可以使用else。不让他重复发送就行了
        if(err){return res.send('注册失败')}
        res.send('注册成功')
    })
    /* console.log(search);//?us=wangyi&ps=123
    res.send('欢迎注册') */
})
/* 
    登陆逻辑
    获取用户内容
    读取文件内容
    对比
*/
    app.post('/home/login',(req,res)=>{
        // console.log('哈哈哈哈')
        //let query=url.parse(req.url).query;
        // 判断用户内容
        fs.readFile(path.join(__dirname,'./user.txt'),'utf8',(err,data)=>{
            if(err){return res.send({err:-1,msg:'登陆失败'})}
            //split表示以?号切割
            let array=data.split('?')
            // 判断用户内容是否存在
            console.log(array,query)
            if(array.indexOf(query)===-1){
                res.send({err:-2,msg:'用户名或者密码错误'})
                console.log(array.indexOf(query),query)
            }else{
                res.send({err:0,msg:'登陆成功'})
            }
        });
    })
    /* 
        api  接口返回数据的标准格式
        { 
            err:-1,//状态值    判断接口的状态
            msg:"信息",
            data:'数据'
        }
        post方法数据在消息体里 body   req.body
        get方法  数据在url           req.query
    */

    // post   数据接口
app.post('/home/test',(req,res)=>{
    console.log(req.body)
    res.send('ok')
})
app.listen(3000, () => {
     console.log("server start in port"+3000);   
})
//以上监听一个端口 开启一个服务器  主机是localhost  端口3000 后面跟path

猜你喜欢

转载自blog.csdn.net/Mr_Tianci/article/details/84638220