GUI:addOnClickEvent(inPut_btn1, function()
local inputMoney = GUI:TextInput_getString(inPut)
-- 不再在前端判断,直接发送给后端
-- 后端会验证金额是否有效
SL:SendLuaNetMsg(1017, 17, 1, inputMoney, "沙城捐献")
end)
怎么让后端发回的消息直接进入这一段代码
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-30 15:42:36 |
👁️ 阅读: 4
要让后端发回的消息直接进入这段代码,你需要使用SL:RegisterLuaNetMsg来注册消息回调。根据浮生梦老师前端课程内容,可以这样修改:
```lua
-- 先注册后端消息回调
SL:RegisterLuaNetMsg(1017, function(msgType, msgID, param1, param2, param3)
-- 这里处理后端返回的消息
if msgID == 17 then
local result = param1 -- 假设param1是后端返回的结果
local message = param2 or "" -- 假设param2是后端返回的消息
if result == 1 then
-- 成功处理
SL:ShowSystemTips("捐献成功!")
else
-- 失败处理
SL:ShowSystemTips(message or "捐献失败")
end
end
end)
-- 原来的点击事件
GUI:addOnClickEvent(inPut_btn1, function()
local inputMoney = GUI:TextInput_getString(inPut)
-- 发送给后端
SL:SendLuaNetMsg(1017, 17, 1, inputMoney, "沙城捐献")
end)
```
这样修改后:
1. **前端发送**:点击按钮时发送消息给后端
2. **后端处理**:验证金额并处理逻辑
3. **前端接收**:通过RegisterLuaNetMsg注册的回调函数接收后端返回的消息
4. **结果展示**:根据后端返回的结果显示相应的提示
注意:后端返回的消息格式需要与前端注册的回调函数参数对应。通常msgType是消息类型,msgID是消息子类型,param1-param3是自定义参数。
← 返回问答库