位置/api/index.js
置入我们想要的控制场景,比如loading 以及error场景。公用的请求header也可以在这里加上
axios.defaults.headers.post['Content-Type'] =
'application/x-www-form-urlencoded'
// 请求拦截器
axios.interceptors.request.use(
function(config) {
/* 开发环境设置头部 */
if (process.env.NODE_ENV === 'development') {
config.headers['x-httpd-moments'] = 'Qbtv7y9xCbQ1rwH5PHbcpnLZ8zNxqQ38'
/* uid可以随意设置 */
config.headers['x-tif-uid'] = 'domy'
}
if (config.needToast) {
// needToast:是否需要toast,true:需要,默认不需要
loading = Vue.$toast({
type: 'loading',
message: '请稍候...',
duration: 0
})
}
return config
},
function(error) {
loading && loading.close()
return Promise.reject(error)
}
)
// 响应拦截器
axios.interceptors.response.use(
function(response) {
loading && loading.close()
return response
},
function(error) {
loading && loading.close()
return Promise.reject(error)
}
)
/* 公用的api方法 */
/**
* 获取关注的tweet,按照时间线倒序
* @param lasttweetId 最后一条tweet的id
* @param offset 偏移量,取多少条
*/
export function getFollowtweet(lasttweetId = '', offset = 20) {
return axios.get(
`/tweet/get/follow?last_tweetid=${lasttweetId}&offset=${offset}`
)
}