1.0.1 • Published 3 years ago

loging v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

登录注册

  • 后端
const http = require('http');
const fs = require('fs');
const path = require('path');
const url = require('url');
const mime = require('mime');
let static = 'public';
http.createServer((req, res) => {
    let pathname = url.parse(req.url).pathname;
    res.setHeader('Content-type', mime.getType(path.join(static, pathname)));
    if (pathname === '/') {
        pathname = '/login.html';
    }
    if (path.extname(pathname)) {
        if (fs.existsSync(path.join(static, pathname))) {
            res.end(fs.readFileSync(path.join(static, pathname)));
        }
    } else {
        // if (req.method === 'GET' && pathname === '/api/list') {
        //     // GET请求
        //     let { username, password } = url.parse(req.url, true).query;
        //     if (username === 'name' && password === '123456') {
        //         res.end('1');
        //     } else {
        //         res.end('0');
        //     }
        // }
        if (req.method === 'POST' && pathname === '/api/list') {
            // POST请求
            let str = '';
            req.on('data', (chunk) => {
                str += chunk;
            })
            req.on('end', () => {
                let { username, password } = JSON.parse(str);
                let data = require('./public/user.json');
                let flag = data.some(item => item.username === username && item.password === password);
                if (flag) {
                    res.end(username);
                } else {
                    res.end('0');
                }
            })
        }
        if (req.method === 'POST' && pathname === '/api/register') {
            let data = JSON.parse(fs.readFileSync(path.join(static, 'user.json')));
            console.log(typeof data);
            let str = '';
            req.on('data', (chunk) => {
                str += chunk;
            })
            req.on('end', () => {
                let { username } = JSON.parse(str);
                let data = require('./public/user.json');
                let flag = data.some(item => item.username === username);
                if (flag) {
                    res.end('0');
                } else {
                    data.push(JSON.parse(str));
                    fs.writeFileSync('public/user.json', JSON.stringify(data));
                    res.end('1');
                }
            })
        }
    }
}).listen(8080, () => {
    console.log('http://localhost:8080')
})
  • 前端
- login.js
const $ = (selector, parent) => {
    parent = parent || document;
    return typeof selector === 'string' ? parent.querySelector(selector) : selector;
}
let user = $('.user');
let pwd = $('.pwd');
let storage = localStorage;

function login() {
    // GET请求
    // axios.get('/api/list', {
    //     params: {
    //         username: user.value,
    //         password: pwd.value
    //     }
    // }).then((result) => {
    //     if (result.data) {
    //         location.href = 'https://taobao.com';
    //     } else {
    //         alert('输入错误');
    //     }
    // })
    // POST请求
    axios.post('/api/list', {
        username: user.value,
        password: pwd.value
    }).then((result) => {
        if (result.data) {
            storage.setItem('data', `欢迎${result.data}!!!!`);
            location.href = 'home.html';
        } else {
            alert('输入错误');
        }
    });
}

function register() {
    axios.post('/api/register', {
        username: user.value,
        password: pwd.value
    }).then(({ data }) => {
        if (data) {
            alert('注册成功');
        } else {
            alert('注册失败');
        }
    })
}
$('.register').addEventListener('click', () => {
    register();
})
$('.loging').addEventListener('click', function() {
    login();
});
document.addEventListener('keyup', (e) => {
    if (e.key === 13) {
        login();
    }
})

-home.html
const $ = (selector, parent) => {
            parent = parent || document;
            return typeof selector === 'string' ? parent.querySelector(selector) : selector;
        }
        const storage = localStorage;
        $('h1').innerHTML = storage.getItem('data');