i***@hotmail.com
i***@hotmail.com
  • 发布:2020-06-01 15:43
  • 更新:2020-06-05 17:16
  • 阅读:785

【报Bug】开启摇树优化报错

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

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

浏览器平台: Chrome

浏览器版本: 83.0.4103.61

项目创建方式: CLI

CLI版本号: 2.0.0-26920200403001

操作步骤:

hx h5设置开启摇树优化

预期结果:

hx h5设置开启摇树优化

实际结果:

hx h5设置开启摇树优化

bug描述:

2020-06-01 15:43 负责人:DCloud_uni-ad_HDX 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

什么错误?

  • i***@hotmail.com (作者)

    [system] API request is not yet implemented


    [system] API showLoading is not yet implemented

    2020-06-01 16:44

i***@hotmail.com

i***@hotmail.com (作者)

[system] API `request` is not yet implemented  

[system] API `showLoading` is not yet implemented
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

项目中如何引入的 request?

i***@hotmail.com

i***@hotmail.com (作者)

return new Promise((resolve, reject) => {  
            options.complete = (response) => {  
                // 请求返回后,隐藏loading(如果请求返回快的话,可能会没有loading)  
                uni.hideLoading();  
                // 清除定时器,如果请求回来了,就无需loading  
                clearTimeout(this.config.timer);  
                // 判断用户对拦截返回数据的要求,如果originalData为true,返回所有的数据(response)到拦截器,否则只返回response.data  
                if(this.config.originalData) {  
                    // 判断是否存在拦截器  
                    if (this.interceptor.response && typeof this.interceptor.response === 'function') {  
                        let resInterceptors = this.interceptor.response(response);  
                        // 如果拦截器不返回false,就将拦截器返回的内容给this.$u.post的then回调  
                        if (resInterceptors !== false) {  
                            resolve(resInterceptors);  
                        } else {  
                            // 如果拦截器返回false,意味着拦截器定义者认为返回有问题,直接接入catch回调  
                            reject(response);  
                        }  
                    } else {  
                        // 如果要求返回原始数据,就算没有拦截器,也返回最原始的数据  
                        resolve(response);  
                    }  
                } else {  
                    if (response.statusCode == 200) {  
                        if (this.interceptor.response && typeof this.interceptor.response === 'function') {  
                            let resInterceptors = this.interceptor.response(response.data);  
                            if (resInterceptors !== false) {  
                                resolve(resInterceptors);  
                            } else {  
                                reject(response);  
                            }  
                        } else {  
                            // 如果不是返回原始数据(originalData=false),且没有拦截器的情况下,返回纯数据给then回调  
                            resolve(response.data);  
                        }  
                    } else {  
                        // 不返回原始数据的情况下,服务器状态码不为200,modal弹框提示  
                        if(response.errMsg) {  
                            uni.showModal({  
                                title: response.errMsg  
                            });  
                        }  
                        reject(response)  
                    }  
                }  
            }  

            // 判断用户传递的URL是否/开头,如果不是,加上/  
            options.url = Request.isHttp(options.url) ? options.url : (this.config.baseUrl + (options.url.indexOf('/') == 0 ?  
                options.url : '/' + options.url));  

            // 是否显示loading  
            // 加一个是否已有timer定时器的判断,否则有两个同时请求的时候,后者会清除前者的定时器id  
            // 而没有清除前者的定时器,导致前者超时,一直显示loading  
            if(this.config.showLoading && !this.config.timer) {  
                this.config.timer = setTimeout(() => {  
                    uni.showLoading({  
                        title: this.config.loadingText,  
                        mask: this.config.loadingMask  
                    })  
                    this.config.timer = null;  
                }, this.config.loadingTime);  
            }  
            uni.request(options);  
        }).catch(e => {})
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

这段代码无法复现问题,请提供简单工程

1***@163.com

1***@163.com

什么是摇钱树优化(・。・)

  • 1***@163.com

    不好意思,看错了,告辞...

    2020-06-05 17:17

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