94 lines
1.9 KiB
JavaScript
94 lines
1.9 KiB
JavaScript
const express = require('express')
|
|
const db = require('./db/mysql')
|
|
|
|
const app = express()
|
|
|
|
// 解析 JSON 请求体
|
|
app.use(express.json())
|
|
|
|
app.get('/api/test-db', (req, res) => {
|
|
db.query('SELECT 1 + 1 AS result', (error, results) => {
|
|
if (error) {
|
|
console.error('数据库查询失败:', error)
|
|
|
|
return res.status(500).json({
|
|
code: 500,
|
|
message: '数据库查询失败'
|
|
})
|
|
}
|
|
|
|
res.json({
|
|
code: 200,
|
|
message: '数据库连接成功',
|
|
data: results
|
|
})
|
|
})
|
|
})
|
|
|
|
app.post('/api/login', (req, res) => {
|
|
const { username, password } = req.body
|
|
|
|
const sql = `
|
|
SELECT * FROM chat_mysql.users
|
|
WHERE username = ? AND password = ?;
|
|
`
|
|
db.query(sql, [username, password], (error, results) => {
|
|
if (error) {
|
|
console.error('数据库查询失败:', error)
|
|
|
|
return res.status(500).json({
|
|
code: 500,
|
|
message: '登录失败'
|
|
})
|
|
}
|
|
|
|
if (results.length > 0) {
|
|
res.json({
|
|
code: 200,
|
|
message: '登录成功',
|
|
data: {
|
|
token: 'this_is_a_mock_token',
|
|
username: results[0].username
|
|
}
|
|
})
|
|
} else {
|
|
res.json({
|
|
code: 401,
|
|
message: '用户名或密码错误',
|
|
data: null
|
|
})
|
|
}
|
|
})
|
|
})
|
|
|
|
app.post('/api/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
|
|
}
|
|
})
|
|
})
|
|
})
|
|
|
|
app.listen(3000, () => {
|
|
console.log('服务器启动成功:http://localhost:3000')
|
|
}) |