7***@qq.com
7***@qq.com
  • 发布:2020-11-23 11:16
  • 更新:2020-11-23 16:09
  • 阅读:894

【报Bug】app开发打开调试代码执行,不开调试有代码没执行

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.4

HBuilderX类型: 正式

HBuilderX版本号: 2.9.3

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone8

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

ajax方法:
'''
// 请求封装
export const ajax = (url, data, f = true) => {
if (f) {
uni.showLoading({
title: '加载中...'
});
}
return uni.request({
method: 'GET',
url,
data,
header: {
"Content-Type": "application/x-www-form-urlencoded"
},
timeout: 30000,
}).then(result => {
uni.hideLoading();
if (Array.isArray(result) && result[1]) {
let data = result[1].data || {};
if (data.err_code == 0) {
return Promise.resolve(data);
} else {
if (data.err_code == 2001) {
// #ifdef APP-PLUS
wx.reLaunch({
url: '/pages/sms/smsverification'
})
// #endif
// #ifdef MP-WEIXIN
wx.reLaunch({
url: '/pages/index/index?login=2'
})
// #endif

            } else {  
                //注释掉的原因是后台删除了某个设备组时请求数据会返回30001 权限不够  
                // let title = errorList[data.err_code];  
                // layer.toptip(title)  
            }  
        }  
    } else {  
        layer.fail('数据解析错误')  
    }  
}).catch((err) => {  
    uni.hideLoading();  
    return Promise.reject(err);  
});  

}
'''

getWxSession方法
'''
//原生平台使用wx获取session
export const getWxSession = (userInfo) => {
var info = JSON.parse(userInfo);
console.log("---11---",info);
return ajax("**", info).then(res => {
console.log("---222---",res.data);
Object.assign(AppConfig, res.data);
console.log("------",AppConfig);
if (AppConfig.session != '' && AppConfig.session != null) {
uni.switchTab({
url: "/pages/index/index"
})
}
return res.data.userinfo;
});
}
'''

vue调用:
'''
uni.getProvider({
service: 'oauth',
success: function(res) {
if (~res.provider.indexOf('weixin')) {

                            uni.login({  

                                provider: 'weixin',  

                                success: function(loginRes) {  

                                    uni.getUserInfo({  
                                        success: (res) => {  
                                            var info = JSON.stringify(res.userInfo);  

                                            console.log("---------"+info);  
                                            getWxSession(info).then(userInfoRes => {  
                                                _other.saveTheLocal(userInfoRes,"weixin");  

                                            })  
                                        }  
                                    })  

                                },  

                                fail: function(res) {  

                                    // return Promise.resolve(res || {})  

                                }  
                            })  
                        }  
                    },  
                    fail: (res) => {  
                        console.log("---拉取第三方授权失败----", res);  
                    }  

                });  

'''

操作步骤:

不开调试一直有

预期结果:

没有执行console.log("---222---",res.data)及以下语句

实际结果:

输出console.log("---222---",res.data)

bug描述:

在使用苹果手机系统大于等于14版本的手机测试时,在没有打开调试的时候有段代码没执行;在打开调试的时候一切正常。请问这个什么原因?

问题出现在getWxSession方法中请求后,console.log("---222---",res.data)及以下没有执行,打开调试的时候都有执行。

2020-11-23 11:16 负责人:无 分享
已邀请:
7***@qq.com

7***@qq.com (作者)

已解决

  • m***@163.com

    您好 请问是怎么解决的?我们也遇到这样的问题了

    2021-04-09 13:44

该问题目前已经被锁定, 无法添加新回复