uniapp 网络请求封装(axios封装)
- request.js
const Tips = (title, icon = 'success') => {
uni.showToast({
title,
icon: icon
})
}
// const baseURL = process.env.NODE_ENV === 'development' ? "/dev-api" : "https://www.xxx.cn";
export default async function request(params) {
return new Promise((reslove, reject) => {
if (params.loading) uni.showLoading();
uni.request({
url: params.url,
method: params.method,
header: {
'Content-Type': 'application/json',
'Authorization': "Bearer " + uni.getStorageSync('token'),
'userid': uni.getStorageSync('user_id')
},
data: params.data,
complete: () => {
if (params.loading) uni.hideLoading();
},
success: (res) => {
if (res.statusCode == 200) {
if (res.data.code == 200) {
reslove(res.data);
} else if (res.data.code == 401 || res.data.code == 144) {
uni.clearStorageSync()
return uni.showToast({
title: res.data.msg,
icon: 'none',
success() {
// uni.navigateTo({
// url: "/pages/rk/index"
// })
}
})
} else {
return Tips(res.data.msg, 'error');
}
} else {
return Tips('网络异常,请稍后再试!', 'error');
}
},
fail: (err) => {
reject(err)
return Tips('连接失败,请稍后再试!', 'error');
}
})
})
}
- api.js
import request from './request.js'
//############### 登录 ###############
export function login(params) {
return request({
url: '/api/login',
method: 'post',
data: params,
loading: true, //是否开启loading动画
})
}