首页 > 编程语言 >2023-05-30 浅试nodejs实现登录接口业务(未完,待测试)

2023-05-30 浅试nodejs实现登录接口业务(未完,待测试)

时间:2023-05-30 14:13:59浏览次数:49  
标签:username body const 登录 05 app 30 nodejs password

const express = require('express');
const bodyParser = require('body-parser');
const mysql = require('mysql');

// 创建MySQL连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'mydb'
});

// 创建Express应用程序
const app = express();

// 配置body-parser中间件
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// 定义登录接口路由
app.post('/login', (req, res) => {
  const username = req.body.username;
  const password = req.body.password;

  // 查询用户信息
  pool.query(`SELECT * FROM users WHERE username='${username}' AND password='${password}'`, (error, results) => {
    if (error) throw error;
    
    // 如果查询到了用户信息,返回登录成功信息
    if (results.length > 0) {
      res.json({ success: true, message: 'Login successful.' });
    } else {
      res.json({ success: false, message: 'Invalid username or password.' });
    }
  });
});

// 启动服务器
app.listen(3000, () => console.log('Server started on port 3000.'));

上面的代码定义了一个名为/login的路由,当请求方法为POST时,它将获取请求体中的用户名和密码参数,并根据这些参数查询数据库中是否存在该用户。如果查询成功,则返回登录成功信息,否则返回错误信息。

需要注意的是,这只是一个简单的示例代码,实际应用中需要更加细致地处理错误和安全问题。例如,可以使用密码哈希算法对密码进行加密,并使用HTTPS等协议来保护敏感信息的传输。

标签:username,body,const,登录,05,app,30,nodejs,password
From: https://www.cnblogs.com/iuniko/p/17443053.html

相关文章

  • [ABC302F]MergeSet
    AGC010BBoxes这道题其实是一道01BFS求最短路的模型,但是建模比较难想。首先需要想到对于每个集合内的点两两连边,边权为\(1\),由于开始和结束时需要从起点到中转点和中转点到终点,而我们要求的其实是中转点的数量,如果我们直接求一遍最短路(这样的话用的是普通bfs),中准点之间是an......
  • linux Centos7 部署 nodejs服务
    nodejs服务要有nodejs环境。所以要先安装nodejs不会安装的可以看  Centos7安装npm学习 安装pm2cnpminstallpm2-g,查看pm2是否安装成功pm2-v,如果报错,升级node版本进入node项目目录,安装项目依赖 cnpminstall创建pm2任务 [root@localhostserver]#pm2sta......
  • 代码随想录算法训练营第二十一天|530. 二叉搜索树的最小绝对差、
    【参考链接】530.二叉搜索树的最小绝对差【注意】1.二叉搜索树采用中序遍历,其实就是一个有序数组。2.使用双指针,更快。【代码】1#Definitionforabinarytreenode.2#classTreeNode(object):3#def__init__(self,val=0,left=None,right=None):4#......
  • C/C++学生成绩管理系统[2023-05-30]
    C/C++学生成绩管理系统[2023-05-30]学生成绩管理系统设计----高级语言课程设计题目问题描述:设学生信息包括:学号、姓名、期末成绩、平时成绩,对学生的学习成绩信息进行管理。设计要求:实现学生信息的录入、修改、插入、删除、查询、计算总评成绩、根据总评成绩排序和划分等级、......
  • solidworks笔记20230530
    教程文件位置在帮助中用activeX打开文件,然后点另存为,对话框出现后,复制路径,取消关闭对话框。将复制的路径保存到文件浏览器中。比如我的教程文件的位置是:C:\Users\Public\Documents\SOLIDWORKS\SOLIDWORKS2022\samples\tutorial\步路模板步路模板,就是装配体模板,和修改装配体......
  • Nodejs版本控制
    Nodejs版本控制NVM全称node.jsversionmanagement,专门针对node版本进行管理的工具,通过它可以安装和切换不同版本的node.js下载地址:https://github.com/coreybutler/nvm-windows下载之后安装的时候注意不能有中文名字中文路径以及空格可以显示当前的node版本nvmlist......
  • 2023-05-30 前端h5页面如何实现调起微信支付功能(该回答来自chatgpt,实际效果未测试)
    前端H5页面调起微信支付功能需要结合微信JS-SDK和后端接口实现。以下是基本步骤和示例代码:1.获取微信公众号的appid和secret在微信公众平台上创建一个公众号,获取其对应的appid和secret。2.引入微信JS-SDK将微信JS-SDK的链接放入HTML文件的头部,例如:<scriptsrc="https://res.......
  • 代码随想录算法训练营第21天 | ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中
     第六章 二叉树part07今日内容    详细布置   530.二叉搜索树的最小绝对差  需要领悟一下二叉树遍历上双指针操作,优先掌握递归 题目链接/文章讲解:视频讲解:  501.二叉搜索树中的众数  和 530差不多双指针思路,不过 这里涉及到一个很巧妙的代码......
  • SSO2.0 10-20230529
                           ......
  • 总结20230529
    代码时间(包括上课)5h代码量(行):350行博客数量(篇):1篇相关事项:1、今天上午上的是工程数学,今天把实验报告写完了,然后老师也划了终点。2、今天下午进行的是软件工程,然后课上进行了极限测试。3、数据库原理后天考试,今天还没有开始复习,看来要开始加班了。努力吧!......