Files
pmrx-gm/server/src/routes/role.routes.js

53 lines
1.9 KiB
JavaScript
Raw Normal View History

const express = require("express");
const bodyParser = require("body-parser"); // 添加 body-parser 中间件
const { getConnection, query } = require("../utils/db.util");
const axios = require("axios");
const router = express.Router();
// 添加 body-parser 中间件
router.use(bodyParser.json());
// 获取角色列表
router.get("/roles", async (req, res) => {
try {
const { search = "" } = req.query;
const connection = await getConnection();
const results = await query(`SELECT * FROM role where name like '%${search}%'`, [], connection);
res.json(results);
} catch (error) {
console.error("获取角色数据失败:", error);
res.status(500).json({ error: "获取角色数据失败" });
}
});
router.post("/item/send", async (req, res) => {
try {
const { roleName, itemId, itemNum = 1 } = req.body;
if (!roleName || !itemId) res.json({ code: 1, msg: "缺少必要参数" });
const roleId = await query(`SELECT id FROM role where name = '${roleName}' limit 1`);
if (roleId?.length != 1) res.json({ code: 1, msg: "没有找到角色" });
const role = roleId[0].id;
const result = await axios.post("http://192.168.25.110:19000/center/gm", { role, item: [itemId, itemNum] });
console.log("物品[%s]发送给[%s]结果:%s", itemId, roleName, result.data);
res.json({ code: 0, msg: "发送成功!" });
} catch (error) {
console.error("获取角色数据失败:", error);
res.status(500).json({ error: "获取角色数据失败" });
}
});
// 获取充值列表
router.get("/recharges", async (req, res) => {
try {
const connection = await getConnection();
const results = await query("SELECT * FROM recharge", [], connection);
res.json(results);
} catch (error) {
console.error("获取充值列表失败:", error);
res.status(500).json({ error: "获取充值列表失败" });
}
});
module.exports = router;