uniapp封装request
-----config.js
let url_config = ""
if (process.env.NODE_ENV === 'development') {
// 开发环境
url_config = ''
} else {
// 生产环境
url_config = ''
}
export default url_config
-----request.js
import axios from 'axios'
import urlConfig from './config.js'
import store from '@/store'
import {
getToken
} from '@/utils/auth.js'
const request = {}
const headers = {}
request.globalRequest = (url, method, data) => {
if (!data) {
data = {}
}
if (getToken()) {
headers['Authorization'] = 'Bearer ' + getToken() || ''
}
console.log(data);
return new Promise((resolve, reject) => {
uni.request({
url: urlConfig + url,
method: method,
data: data,
sslVerify: false,
dataType: 'json',
header: headers,
timeout: 5 * 1000
}).then(res => {
console.log("当前接口调用==: " + urlConfig + url);
const new_data = res[1].data
console.log(new_data)
if (new_data.code && new_data.code == 200) {
resolve(new_data)
} else {
uni.showToast({
title: new_data.msg,
icon: 'none',
duration: 3 * 1000
})
reject(new_data.msg || '请求失败,请重新尝试')
}
}).catch(res => {
uni.showModal({
title: '提示',
content: '请求失败,请重新尝试',
showCancel: false
})
reject(res.msg || '请求失败,请重新尝试')
})
})
}
export default request
封装接口 api
-----api/login.js
import request from '@/utils/request.js'
/**
* 手机号登录
*/
export function login(params) {
return request.globalRequest(`/login`, 'POST', params)
}
实际调用
import { login } from '@/api/login.js'
login(params).then(res => {
// 调用成功执行操作
}).catch((error) => {
// 调用失败执行操作
})