简单的用户名密码登陆逻辑相关接口js

添加 Sequelize 连接 SQLite 文件数据库,库文件存放在项目目录下
添加简单的用户名密码登陆逻辑相关接口,用midway装饰器,koa框架

sequelize + express + body-parser + nodejs实现,注意npm包的安装

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

// 创建 Sequelize 实例,连接 SQLite 文件数据库
const sequelize = new Sequelize({
  dialect: 'sqlite',
  storage: './database.sqlite'
});

// 定义 User 模型
const User = sequelize.define('user', {
  username: {
    type: Sequelize.STRING,
    allowNull: false,
    unique: true
  },
  password: {
    type: Sequelize.STRING,
    allowNull: false
  }
});

// 同步模型到数据库
sequelize.sync().then(() => {
  console.log('Database synced');
}).catch((err) => {
  console.error('Unable to sync database:', err);
});

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

// 解析请求体中的 JSON 数据
app.use(bodyParser.json());

// 处理登录请求
app.post('/login', async (req, res) => {
  const { username, password } = req.body;
  const user = await User.findOne({ where: { username } });
  if (!user) {
    res.status(401).send('Invalid username or password');
    return;
  }
  if (user.password !== password) {
    res.status(401).send('Invalid username or password');
    return;
  }
  res.send('Login successful');
});

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