当前位置:Gxlcms > PHP教程 > javascript-微信,收货地址共享,疑似bug?

javascript-微信,收货地址共享,疑似bug?

时间:2021-07-01 10:21:17 帮助过:5人阅读

我尝试通过wxjsbridge方式调用editAddress接口。在ios设备上遇到了一个疑似bug。代码如下:

WeixinJSBridge.invoke('editAddress', {
            appId: "******",
            scope: "jsapi_address",
            signType: "sha1",
            addrSign: "*******",
            timeStamp: "1457939672",
            nonceStr: "123456"
        }, function (res) {
            alert('123');
            alert(res.err_msg);
//若res 中所带的返回值不为空,则表示用户选择该返回值作为收货地址。
//否则若返回空,则表示用户取消了这一次编辑收货地址。
            document.form1.address1.value = res.proviceFirstStageName;
            document.form1.address2.value = res.addressCitySecondStageName;
            document.form1.address3.value = res.addressCountiesThirdStageName;
            document.form1.detail.value = res.addressDetailInfo;
            document.form1.phone.value = res.telNumber;
        });

代码执行无问题。问题出现在,在打开微信收货地址页面后,若不点击[确定]或者[返回]任意一个,而是使用iphone的左滑手势操作,会返回至公众号页面,此时返回事件无法被js代码所捕获。并且再次刷新页面时,再也无法通过invoke那一句代码进入微信的收货地址选择页面。


补充:实验得出这个问题的修复行为是:

  1. 强制重启微信

  2. 手动进入微信的[我的收货地址]菜单,执行一次左滑返回手势操作,这时再进入页面,收货地址又可以调出了。


目前对于这个行为不是很理解,是有某个事件我没监听,还是微信收货地址共享本身存在这个bug?

回复内容:

我尝试通过wxjsbridge方式调用editAddress接口。在ios设备上遇到了一个疑似bug。代码如下:

WeixinJSBridge.invoke('editAddress', {
            appId: "******",
            scope: "jsapi_address",
            signType: "sha1",
            addrSign: "*******",
            timeStamp: "1457939672",
            nonceStr: "123456"
        }, function (res) {
            alert('123');
            alert(res.err_msg);
//若res 中所带的返回值不为空,则表示用户选择该返回值作为收货地址。
//否则若返回空,则表示用户取消了这一次编辑收货地址。
            document.form1.address1.value = res.proviceFirstStageName;
            document.form1.address2.value = res.addressCitySecondStageName;
            document.form1.address3.value = res.addressCountiesThirdStageName;
            document.form1.detail.value = res.addressDetailInfo;
            document.form1.phone.value = res.telNumber;
        });

代码执行无问题。问题出现在,在打开微信收货地址页面后,若不点击[确定]或者[返回]任意一个,而是使用iphone的左滑手势操作,会返回至公众号页面,此时返回事件无法被js代码所捕获。并且再次刷新页面时,再也无法通过invoke那一句代码进入微信的收货地址选择页面。


补充:实验得出这个问题的修复行为是:

  1. 强制重启微信

  2. 手动进入微信的[我的收货地址]菜单,执行一次左滑返回手势操作,这时再进入页面,收货地址又可以调出了。


目前对于这个行为不是很理解,是有某个事件我没监听,还是微信收货地址共享本身存在这个bug?

人气教程排行