Skip to content

常见故障排查

alsotang edited this page Aug 20, 2019 · 3 revisions
  1. getSignature没有返回值

控制台报错示例: image

以下是某个vue用户的错误示例:

methods: {
  // 获取签名
  getSignature: function () {
    this.$axios.get('/config/tcloud-signature')
      .then(res => {
        return res.data.datas.signature
      })
  }
}

这里的问题是,getSignature 作为一个 Promise,并没有返回值。正确的做法是:

methods: {
  // 获取签名
  getSignature: function () {
    return this.$axios.get('/config/tcloud-signature')
      .then(res => {
        return res.data.datas.signature
      })
  }
}
  1. 打开了 axios 全局的 withCredentials

控制台报错示例: QQ20190319-182733@2x

这种情况下,sdk带给云点播的请求会带上鉴权信息,使得云点播必须在cors响应头中返回具体的域名。

所以不建议更改任何 axios 的全局权限,否则其他第三方库也可能报错。应该使用 axios.create 创建业务单独的 axios 实例。

  1. 劫持了 axios 的 response 格式

控制台报错示例: image

// Add a response interceptor
axios.interceptors.response.use(function (response) {
    // Do something with response data
    return response.data;
  }, function (error) {
    // Do something with response error
    return Promise.reject(error);
  });

这种情况下,axios 的返回值被篡改了,导致 sdk 拿不到正确的值。

所以不建议更改任何 axios 的全局权限,否则其他第三方库也可能报错。应该使用 axios.create 创建业务单独的 axios 实例。

  1. webpack引入示例

https://github.com/tencentyun/vod-js-sdk-v6/tree/master/docs/import-demo

Clone this wiki locally