uniapp的request.js请求封装
request.js
const baseUrl = getApp().globalData.baseURL
import utils from './utils.js'
export const request = (options) => {
// const token = uni.getStorageSync('token');
const token ='你的token'
const { method, url, data,baseUrl, timeout = 30000, header = { } } = options
let params = data
let contentType = 'application/json'
if (token) {
header['Authorization'] = token
}
header['content-type'] = contentType
uni.showLoading({
title: '加载中',
})
return new Promise((resolve, reject) => {
uni.request({
header: header,
method: method,
timeout: timeout,
url: baseUrl + url,
data: data,
success: (response) => {
const res = response.data
console.log(baseUrl + url, params, res)
const { status, data, message } = res
if (url === '/user/user/login') {
uni.setStorageSync('token', data.token)
} else {
// if (status === 403) {
// setTimeout(() => {
// utils.navTo({
// url: '/pages/login/login',
// type: 'reLaunch'
// })
// }, 2000)
// }
}
if (status === 500) {
uni.showToast({
title: message,
duration: 2000,
icon: 'none',
})
return
}
resolve(res)
},
fail: (err) => {
reject(err)
console.log(err)
},
complete: () => {
uni.hideLoading()
uni.stopPullDownRefresh()
},
})
})
}
APP.vue
<script>
export default {
onLaunch: function() {
console.log('App Launch');
},
onShow: function() {
console.log('App Show');
},
onHide: function() {
console.log('App Hide');
},
globalData: {
baseURL: 'http://tyapi.sctysp.com:9401',//基本路径
loginUser: { },//用户信息
},
};
</script>
<style lang="scss">
/* #ifdef MP-TOUTIAO */
@font-face {
font-family: uniicons;
src: url('/static/uni.ttf');
}
/* #endif */
</style>
api / index.js
封装get,post,delete请求
import { request} from '../utils/request.js'
export function getAction(url, params, config) {
return request({
url: url,
method: 'GET',
data: params,
header: config
})
}
export function postAction(url, params,config,baseUrl) {
return request({
url: url,
method: 'POST',
data: params,
header: config,
baseUrl
})
}
export function deleteAction(url, params) {
return request({
url: url + '/' + params,
method: 'DELETE'
})
}
import {
postAction
} from './manage.js'
//主题列表
const marketingList = (params) => postAction('/marketing/marketing/list', params,'代理的url')
export {
marketingList
}
还没有评论,来说两句吧...