常见故障排查
alsotang edited this page Aug 20, 2019
·
3 revisions
- getSignature没有返回值
控制台报错示例:
以下是某个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
})
}
}
- 打开了 axios 全局的 withCredentials
控制台报错示例:
这种情况下,sdk带给云点播的请求会带上鉴权信息,使得云点播必须在cors响应头中返回具体的域名。
所以不建议更改任何 axios 的全局权限,否则其他第三方库也可能报错。应该使用 axios.create
创建业务单独的 axios 实例。
- 劫持了 axios 的 response 格式
控制台报错示例:
// 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 实例。
- webpack引入示例
https://github.com/tencentyun/vod-js-sdk-v6/tree/master/docs/import-demo