1.0.1 • Published 3 years ago
loging v1.0.1
登录注册
- 后端
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');