js创建服务器,以及对接口的理解和创建

2024-01-02 20:40:01

// 创建服务
const app = http.createServer((req, res)=>{
? ? // 设置给前端返回信息的字符编码

? ? res.setHeader('content-type', 'text/html; charset=utf-8')?? ?
? ? let address = req.url.split('?')[0]
? ? //首先创建一个数组,后面把它的数据放在JSON文件
? ? let user = [{id: 1, username: 'user1', password: '123'}]
? ? //拿到query,它是一个对象,里面有ID,usermane,password
? ? let objParams = url.parse(req.url, true).query
console.log(url.parse(req.url, true))
? ? // 使用switch进行匹配
? ? switch(address){
? ? ? ? // 页面的静态托管
? ? ? ? case '/index.html':
? ? ? ? ? ? fs.readFile('./index.html', 'utf-8', (err, data)=>{
? ? ? ? ? ? ? ? res.end(data)
? ? ? ? ? ? })
? ? ? ? ? ? break
? ? ? ? case '/login.html':
? ? ? ? ? ? fs.readFile('./login.html', 'utf-8', (err, data)=>{
? ? ? ? ? ? ? ? res.end(data)
? ? ? ? ? ? ?}) ??
? ? ? ? ? ? ?break
? ? ? ?
? ? ? ? case '/user/login':
? ? ? ? ? ? // res.end(JSON.stringify({code: 1, message: '登录成功'}))
? ? ? ? ? ? // 把传递过来的参数和db数据库里面的参数进行对比
? ? ? ? ? ? fs.readFile('./db/register.json', 'utf-8', (err, data)=>{
? ? ? ? ? ? ? ? let {username, password} = objParams
? ? ? ? ? ? ? ?// ?console.log(username, password)
? ? ? ? ? ? ? ? let result = JSON.parse(data).find(item=>{
? ? ? ? ? ? ? ? ? ? return item.username === username && item.password === password?
? ? ? ? ? ? ? ? })
? ? ? ? ? ? ? ? if(!result){
? ? ? ? ? ? ? ? ? ? // 注意点:如果验证不通过,必须返回的是用户名或者密码错误,这样可以增加安全性
? ? ? ? ? ? ? ? ? ? res.end(JSON.stringify({code: 0, message: '用户名或者密码错误'}))
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? res.end(JSON.stringify({code: 1, message: '登录成功'}))
?? ??? ??? ??? ??? ?
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }) ??
? ? ? ? ? ? break
? ? ? ? case '/shopping/list':
? ? ? ? ? ? fs.readFile('./db/goods.json', 'utf-8', (err, data)=>{
? ? ? ? ? ? ? ? res.end(data)
? ? ? ? ? ? }) ??
? ? ? ? case '/user/register':
? ? ? ? ? ? // fs.writeFile('./db/register.json', JSON.stringify(user), ()=>{
? ? ? ? ? ? // ? ? res.end(JSON.stringify({code: 1, message: '注册成功'}))
? ? ? ? ? ? // })
? ? ? ? ? ? // 先读,再写
? ? ? ? ? ? fs.readFile('./db/register.json', 'utf-8', (err,data)=>{
? ? ? ? ? ? ? ? user.push(objParams)
?? ??? ?console.log(data)
? ? ? ? ? ? ? ? fs.writeFile('./db/register.json', JSON.stringify(user), ()=>{
?? ??? ??? ?
? ? ? ? ? ? ? ? ? ? res.end(JSON.stringify({code: 1, message: '注册成功'}))
?? ??? ??? ??? ??? ?
? ? ? ? ? ? ? ? })
? ? ? ? ? ? })
? ? ? ? ? ? break
? ? ? ? default:
? ? ? ? ? ? res.end('<h1>404,你的页面走丢了!</h1>')?
? ? }

})

// 监听端口号
app.listen(2307, ()=>{
? ? console.log('你的服务器已经开启了,快来玩啊!http://localhost:2307')
})

文章来源:https://blog.csdn.net/qq_52840130/article/details/135347958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。