common/behavior/common/moduleInit钩子导致极验验证码出问题的bug

问题描述

点击登录,请求http://xxx.com/addons/geet/index/check 进行验证码验证时报以下错:

image.png

查看源码发现,geet/index/check方法中手动重新初始化app并发送请求:

image.png

我猜测是App:run()操作导致 application/common/behavior/Common/moduleInit 这个钩子被执行了两次,所以moduleInit 这个方法中的class_alias('fast\\Form', 'Form'); 这句代码被执行了两次。因此报第一张的错误。。

image.png

奇怪的是我其他项目同样用了极验验证码都没有出现这个问题。。

PS:我用xdebug调试了一下,发现application/common/behavior/Common/moduleInit钩子确实被执行了两次

FastAdmin版本

1.0.0.20180618_beta


我证实了问题是common/behavior/common/moduleInit这个钩子执行了两次导致的。我查看了我当前项目的代码和老版本fastadmin代码,发现common/behavior/common/moduleInit这个钩子代码不一样:

老版本:image.png

新版本:image.png

对比发现新版本多了一行:class_alias('fast\\Form', 'Form');,旧版本没有(我其他项目用的是旧版本fa)。新版这句代码被执行了两次,所以极验验证码报错

查看更多

关注者
0
被浏览
856
9 个回答
在熬粥
在熬粥 2018-08-23
这家伙很懒,什么也没写!

我还以为你是官方人员...

君君要上天
君君要上天 2018-08-23
这家伙很懒,什么也没写!

我长得像吗

在熬粥
在熬粥 2018-08-23
这家伙很懒,什么也没写!

@毕竟排名第二的回复..我依稀记得群里说的他们就一个维护一个商务两个人...

君君要上天
君君要上天 2018-08-23
这家伙很懒,什么也没写!

帮助别人解决问题可以让自己对fastadmin更了解。。我没事干就逛社区解决问题。

在熬粥
在熬粥 2018-08-23
这家伙很懒,什么也没写!

@君君要上天 机智哦..我现在主要用他的界面..功能都还没怎么研究..

F4NNIU
F4NNIU 认证专家 2018-08-23
我知道的一定回复,如果觉得我的回答还不错,欢迎给我点赞。

不,FastAdmin 后台很强大的,有很多小伙伴在维护着。
image.png

hyanchun520
hyanchun520 2018-10-15
这家伙很懒,什么也没写!

@君君要上天 解决方案就是删除掉吗

hyanchun520
hyanchun520 2018-10-15
这家伙很懒,什么也没写!

@F4NNIU 这个问题是要删除class_alias('fast\Form', 'Form');这个吗

F4NNIU
F4NNIU 认证专家 2018-11-07
我知道的一定回复,如果觉得我的回答还不错,欢迎给我点赞。

【管理员】Karson-深圳(请勿@)
image.png

新版中有加入判断。
【管理员】Karson-深圳(请勿@) 2018/11/7 9:05:42
你注释了就用不了FormBuilder生成器了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览