feat(server): 添加 GM 操作台物品发送功能
- 在 server 端添加了 /item/send 接口,用于发送物品到指定角色 - 在前端 HomeView 中增加了 GM 操作台功能,可以选定玩家角色名、物品和数量进行发送 - 引入了 body-parser 中间件用于解析请求体 - 优化了表单布局,增加了表单验证
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
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 {
|
||||
@@ -16,6 +21,22 @@ router.get("/roles", async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user