在网狐系列电玩平台中,大厅 “银行” 功能默认会强制校验手机号绑定。只要账号未绑定手机,点击银行就会弹出 “需要绑定手机才能使用银行功能” 的提示。在本地测试、无短信环境或纯功能调试时,这个校验会影响使用。下面从源码层面说明触发逻辑,并提供稳定安全的修改方案。

一、问题根源

拦截逻辑不在服务端,而是在大厅客户端的 lua 前端判断。未绑定时直接阻断银行入口,不会进入银行界面。

二、文件路径

资源包位置:/assets/base/res/client.zip

解压后找到:/client/src/plaza/views/ClientScene.lua

三、定位函数

打开文件找到银行入口函数:
lua
function ClientScene:addBankLayer()

四、原始逻辑说明

原版大致代码如下:
lua
function ClientScene:addBankLayer()
if not yl.CUSTOM_TEST 
   and (not GlobalUserItem.szBindMobile or GlobalUserItem.szBindMobile == "") then
    QueryDialog:create("您需要绑定手机,才能使用银行功能,点击“确定”进行绑定。", function(ok)
    end)
    return
end
  • yl.CUSTOM_TEST:区分测试 / 正式环境
  • GlobalUserItem.szBindMobile:是否绑定手机号
  • return:满足条件直接拦截,不进银行

五、常见错误改法(避坑)

很多人直接修改条件表达式,但 Lua 的 and/or 是取值逻辑,不是单纯布尔判断,乱改容易导致逻辑异常、银行进不去或反向拦截。不建议复杂改写条件。

六、稳定修改方案(推荐)

方案 1:直接注释拦截逻辑(最干净)

lua
function ClientScene:addBankLayer()
-- 关闭银行手机号绑定校验
-- if not yl.CUSTOM_TEST 
--    and (not GlobalUserItem.szBindMobile or GlobalUserItem.szBindMobile == "") then
--     QueryDialog:create("您需要绑定手机,才能使用银行功能,点击“确定”进行绑定。", function(ok)
--     end)
--     return
-- end

方案 2:if false 永久关闭(极简)

lua
function ClientScene:addBankLayer()
if false then
    QueryDialog:create("您需要绑定手机,才能使用银行功能,点击“确定”进行绑定。", function(ok)
    end)
    return
end
两种方式都不影响银行原有逻辑,无额外风险,后期维护也清晰。

七、修改后操作

  1. 重新压缩 client.zip 并覆盖原资源包
  2. 若项目有热更新、Lua 编译(.luac),按原流程重新生成
  3. 重启大厅或重新加载资源即可生效

八、适用场景

本地测试、内网调试、无短信验证码环境、功能演示、研究学习等。如需保留短信体系但关闭测试环境强制绑定,可在此基础上增加环境开关,思路一致。
历史上的今天
04月
15
    抱歉,历史上的今天作者很懒,什么都没写!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。