api.js:
const BASE_URL = 'https://stc.sealtech.com.cn/doc'
export const myRequest = (options) => {
return new Promise((resolve, reject) => {
uni.showLoading({
title: '数据加载中...'
})
uni.request({
url: BASE_URL + options.url,
method: options.method || 'GET',
data: options.data || {},
header: options.header|| {},
success: (res) => {
uni.hideLoading()
// console.log(res)
// if(res.data.code!== 200) {
// return uni.showToast({
// title:'获取数据失败',
// })
// }
resolve(res.data)
},
fail: (err) => {
uni.showToast({
title: '请求接口失败'
})
reject(err)
}
})
})
}
main.js全局引入myRequest:
import {myRequest} from './util/api.js'
Vue.prototype.$myRuquest = myRequest
// 请求拦截器
// myRequest.beforeRequest = function (options) {
// uni.showLoading({
// title:'数据加载中...'
// })
// }
// // 响应拦截器
// myRequest.afterRequest = function () {
// uni.hideLoading()
// }
// 封装弹框的方法
uni.$showMsg = function(title="请求数据失败", duration=2000, icon = 'none') {
uni.showToast({
title,
duration,
icon
})
}
index.vue页面请求接口:
// 获取轮播图片
async getSwipers() {
// var _ts = this;
// var atoken = 'Bearer ' + _ts.token;
const res = await this.$myRuquest({
url: '/api/Home/GetSwiperList',
//method: 'put', // 默认是get,如果接口方法是post或者put就要指定method
// 带参数的情况
// data: {
// page: this.currpagination,
// size: this.sizeCurr
// },
// 传token的情况
// header: {
// "Authorization": atoken
// },
})
this.Swipersdata = res.data
if (res.code !== 200) {
return uni.$showMsg()
}
},