框架onError事件不能监听到业务域名不合法错误吗
发布于 6 年前 作者 fliao 5827 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

框架onError事件不能监听到业务域名不合法错误吗

  • 预期表现

希望这种错误可以在onError监听事件中被监听到

  • 复现路径
  • 提供一个最简复现 Demo
2 回复

可以监听到的

'use strict'
var getToken = require('./store.js').getToken
const serverDomain = 'APIDomain'
 
function callAPI(url, data, callback) {
    let header = {
        'content-type': 'application/json',
    }
    let token = getToken()
    if (token) {
        header['X-auth-token'] = token
    }
    if (url.indexOf("//") === -1) {
        url = serverDomain + url
    }
    wx.request({
        url,
        data: data,
        method: 'POST',
        header,
        success: function(res) {
            if (res.statusCode === 200) {
                callback(null, res.data)
            } else {
                let error = new Error(res.statusCode + '\n抱歉,该页暂时无法访问\n技术人员正在抢修中\n :(')
                callback(error)
            }
        },
        fail: function(e) {
            console.log('request fail e', e)
            let message = e.errMsg
            message = getFriendlyErrorMessage(message)
            callback(new Error(message))
        }
    })
}
 
function getFriendlyErrorMessage(message) {
    //request:fail url not in domain list
    if (message.indexOf('url not in domain list') > -1) {
        return '访问的域名不在安全域名列表中\n请检查安全域名列表'
    } else if (message.indexOf('request:fail') > -1) {
        return '连接不到服务器\n下拉页面可重新加载'
    }
 
}
 
module.exports = callAPI

为什么没有人回答这个问题呢?

回到顶部