const express = require("express"); // 创建路由对象,用于拆分接口 const router = express.Router(); // 引入数据库连接对象 const db = require("../db/mysql"); const jwt = require("../utils/jwt"); // 注册登录接口 router.post("/login", (req, res) => { const { username, password } = req.body; const sql = ` SELECT * FROM chat_mysql.users WHERE username = ? AND password = ?; `; // 让 MySQL 执行一条 SQL 语句 // db.query( // sql, // ① 要执行的 SQL // [username, password], // ② 给 SQL 中 ? 提供的参数 // (error, results) => { // ③ 查询完成后的回调函数 // ... // } // ); // 执行 SQL 查询 db.query(sql, [username, password], (error, results) => { if (error) { console.error("数据库查询失败:", error); return res.status(500).json({ code: 500, message: "登录失败", }); } if (results.length > 0) { // 生成 JWT token const token = jwt.createToken({ userId: results[0].user_id, username: results[0].username, }); res.json({ code: 200, message: "登录成功", data: { token: "Bearer " + token, username: results[0].username, }, }); } else { res.json({ code: 401, message: "用户名或密码错误", data: null, }); } }); }); // 注册注册接口 router.post("/register", (req, res) => { const { username, password } = req.body; const sql = ` INSERT INTO users (username, password) VALUES (?, ?) `; db.query(sql, [username, password], (error, result) => { if (error) { console.error(error); return res.status(500).json({ code: 500, message: "注册失败", }); } res.json({ code: 200, message: "注册成功", data: { id: result.insertId, }, }); }); }); module.exports = router;