1.创建request.js文件
export default {config: {baseUrl: "http://192.168.1.1:0000", // 示例header: {'Content-Type': 'application/json;charset=UTF-8'// 'Content-Type': 'application/x-www-form-urlencoded', },data: {},method: "GET",dataType: "json",responseType: "text",success() {},fail() {},complete() {}},// 请求拦截器interceptor: {request: null,response: null},request(options) {if (!options) {options = {}}options.baseUrl = options.baseUrl || this.config.baseUrloptions.dataType = options.dataType || this.config.dataTypeoptions.url = options.baseUrl + options.urloptions.data = options.data || {}options.method = options.method || this.config.method// 基于 Promise 的网络请求return new Promise((resolve, reject) => {uni.showLoading()let _config = nulloptions.complete = (response) => {uni.hideLoading()// console.log(response, 'response.data',this);let {code,info} = response.dataif (info == "登录信息过期") {setTimeout(() => {uni.reLaunch({url: '/pages/login'})}, 1500)}if (code === 400) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})// reject(response)} else if (code === 200) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})resolve(response.data)} else if (code === 500) {uni.showToast({title: info,icon: "none",position: "center",duration: 2000})resolve(response.data)} else {resolve(response.data)}}_config = Object.assign({}, this.config, options)_config.requestId = new Date().getTime()if (this.interceptor.request) {this.interceptor.request(_config)}uni.request(_config);});},// url 为请求路径 data 为需要传递的值 options 进行封装// get请求get(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'GET'return this.request(options)},// post请求post(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'POST'return this.request(options)},// put请求put(url, data, options) {if (!options) {options = {}}options.url = urloptions.data = dataoptions.method = 'PUT'return this.request(options)},
}
2.在main.js中引入
import api from './request.js'Vue.prototype.$http = api
3.页面请求接口
async queryName() {const data = {name:''}const res = await this.$http.post("接口地址", data)console.log(res, 'res');},