vue封装接口

    科技2024-05-22  82

    需要创建俩个js文件 http.js 和 api.js

    在http.js中引入axios,对get和post进行封装请求方式,在这里可以设置请求头和超时时间,也可以进行环境的切换,这里的环境指的是开发环境和生产环境,也可以设置请求拦截和响应拦截

    在http.js中

    //第一步:引入axios import axios from 'axios'; //在这里设置开发环境和生产环境的默认路径 //development是开发环境 production是生产环境 if(process.env.NODE_ENV=='development'){ axios.defaults.baseURL='http://120.53.31.103:84/api/app/' } if(process.env.NODE_ENV=='production'){ axios.defaults.baseURL='https://wap.365msmk.com' } //这里是设置请求超时时间 时间为5秒 axios.defaults.timeout=5000; //在请求拦截里设置权限 这里是设置的是H5的权限 //如果不设置的话数据会请求失败或为空数据,在这里也可以用来判断token axios.interceptors.request.use( config=>{ config.headers={DeviceType:"H5"} return config; } ) //封装get请求 export function get(url,params){ return new Promise((resolve,reject)=>{ axios.get(url,{ params:params }).then(res=>{ resolve(res) }).catch(err=>{ reject(err) }) }) } //封装post请求 export function post(url,params){ return new Promise((resolve,reject)=>{ axios.post(url, params ).then(res=>{ resolve(res.data) }).catch(err=>{ reject(err.data) }) }) }

    在api.js中

    //引入http.js中的get和post请求 import {get,post} from "../http/http.js" //对请求的数据进行封装 export function getBanner(){ return get("banner") }

    在vue文件中使用封装好的方法

    //引入封装好的方法getBanner import { getBanner} from "../../api/api.js"; async mounted() { var a = await getBanner(); //此时就能打印出数据 console.log(a); }
    Processed: 0.011, SQL: 8