今天后端同学我和提了一个bug,说 【实人认证时,回调官网这个/rpauthentication/verificationCallback.htm接口时,
除了ticketId,其他参数都不要传】,如图
我看了提交记录新增代码如下:
实人认证2.png
看到新增了一个静态方法和几个静态变量,直觉告诉我,应该是用完该static 类变量后,没有释放导致的,检测完代码后,发现确实是此, 于是根他说,这里不要使用静态变量,要改成成员变量。
他之所以不使用成员变量是因为该类是通过静态方法一层层判断封装后,最后通过构建者模式new 出来的 FragmentDialog 【如下图】(在该dialog中需要用到这些字段调接口用),改动静态方法一层层传递比较麻烦,所以用的这种方式,图省事。
实人认证3.png正常的思路只要,往静态方法里增加相应的Bean对象参数,然后一层层传到dialog中,赋值给该dialog的成员变量即可,
如果不改动静态方法的参数,还有没有比较省事的方法呢?
本质上,只要他能把参数传递到dialog的成员变量上就行,如果要传递到dialog中 ,就得有相应的容器来装载这些数据,并传递到 dialog中 ,此时我对他说,,那几个参数,你可以通过activity把它们设置到DecorView 中(setTag方法),,然后在dialog中 拿到activity再拿到DecorView,取出它身上的数据 ,然后在根据具体业务,判断调接口时要不要传递这些具体。
实人认证4.png关注我的github
https://github.com/fuyuguang
带你了解更多项目实践中的bug
网友评论