b) 添加 Sequelize 连接 SQLite 文件数据库,库文件存放在项目目录下 c) 添加简单的用户名密码登陆逻辑相关接口
时间: 2024-03-02 20:51:49 浏览: 18
好的,您的第一个问题是关于添加 Sequelize 连接 SQLite 文件数据库和简单的用户名密码登陆逻辑相关接口。是吗?好的,下面是我的回答:
首先,确保已经在项目中安装了 Sequelize 和 SQLite3 驱动程序。接着,我们需要创建一个 SQLite 数据库文件并设置连接。在项目根目录下,创建一个名为 database.sqlite 的文件,然后在 app.js 文件中添加以下代码:
```javascript
const Sequelize = require('sequelize');
const sequelize = new Sequelize({
dialect: 'sqlite',
storage: './database.sqlite'
});
sequelize.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
})
.catch(err => {
console.error('Unable to connect to the database:', err);
});
```
上述代码中,我们使用了 Sequelize 创建了一个 SQLite 连接,并在控制台输出连接成功与否的信息。
接下来,我们可以创建一个 User 模型来表示用户信息,包括用户名和密码。在 models 目录下创建一个名为 user.js 的文件,然后添加以下代码:
```javascript
const { Sequelize, DataTypes } = require('sequelize');
const sequelize = require('../database');
const User = sequelize.define('User', {
username: {
type: DataTypes.STRING,
allowNull: false
},
password: {
type: DataTypes.STRING,
allowNull: false
}
});
module.exports = User;
```
上述代码中,我们使用 Sequelize 创建了一个 User 模型,并定义了两个属性:username 和 password。接下来,我们需要在 app.js 文件中引入 User 模型并同步数据库,代码如下:
```javascript
const User = require('./models/user');
User.sync()
.then(() => {
console.log('User table created successfully.');
})
.catch(err => {
console.error('Unable to create User table:', err);
});
```
上述代码中,我们使用 User.sync() 方法来同步数据库,确保 User 表已经创建成功。
最后,我们需要编写用户登录接口。在 routes 目录下创建一个名为 auth.js 的文件,然后添加以下代码:
```javascript
const express = require('express');
const router = express.Router();
const User = require('../models/user');
router.post('/login', async (req, res) => {
const { username, password } = req.body;
const user = await User.findOne({ where: { username } });
if (user && user.password === password) {
res.json({ success: true });
} else {
res.status(401).json({ error: 'Invalid username or password.' });
}
});
module.exports = router;
```
上述代码中,我们使用了 Express 框架创建了一个登录接口。接口使用 POST 方法,接受两个参数:username 和 password。然后,我们使用 User.findOne() 方法从数据库中查找用户信息,如果用户名和密码匹配,则返回一个成功的响应,否则返回一个错误响应。
好了,以上是关于添加 Sequelize 连接 SQLite 文件数据库和简单的用户名密码登陆逻辑相关接口的回答。希望能够对您有所帮助。