uniapp封装request请求
复制粘贴,稍微改改就能用,不多说直接上代码!!
request.js
请求头如需传token,就按照上面的方法。不需要的话传空也没事,碍眼可以删除。
// 全局请求封装
const token = '自己的token令牌,最好读取缓存中的'
// const token = uni.getStorage('token')
const apiUrl = 'https://v1.shopapi.tpfeps.com'
const baseRequest = (url,method,params) => {
return new Promise((resolve, reject) => {
uni.request({
url: apiUrl + url,
data:params,
method:method,
header: {
'token':token
}
}).then((response)=>{
let [error, res] = response;
resolve(res.data);
console.log(response[1].header.token) //获取请求头token
}).catch(error => {
let [err, res] = error;
reject(err)
})
});
}
export default {
baseRequest
}
api.js
// import baseRequest from './request.js'
import api from './request.js'
function base(params){
return api.baseRequest('/api/manager/classresource/cate/list','POST',{
jigouCode:params.jigouCode,
sourceType:params.sourceType
})
}
export default{
base
}
main.js
// 全局注册API方法
import api from './request/api.js'
Vue.prototype.$api = api
test.vue
<template>
<view class="content">
<button type="default" @click="fn">请求</button>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods:{
fn(){
let params ={
jigouCode:'jigou5f818d320c830',
sourceType:'video'
}
this.$api.base(params).then(res=>{
console.log(res)
}).catch(err=>{
console.log(err)
})
}
}
}
</script>
最后在控制台打印的效果
至此就已经完成基本的uni-app请求与拦截器封装。以上仅供参考,如果有错误或是需要完善的地方,也请大佬指出。