Vue封装网络模块齐全

**

Vue封装网络模块

第一步
在scr里面创建一个network文件夹
在这里插入图片描述

第二步
在network文件夹里面创建三个文件
在这里插入图片描述

  • 第一个文件夹 config.js,在里面写入以下
// 定义请求方式
export const Method = {
    GET:"get",
    POST:"post"
}

export const PATH = {
    // 首页接口
    shouye_list:"/home/multidata"
}
  • 第二个文件夹 core.js , 在里面写入以下
// 引入axios
import axios from "axios"
// 引入config文件
import {Method} from "./config";

// 通过配置对象返回一个axios实例对象
const instance = axios.create({
    // 路由地址(前面相同)
    baseURL:"http://123.207.32.32:8000/api/x6",
    // 请求超时时间
    timeout:10000
})

//添加请求拦截器   (在发送之前要做些什么)
instance.interceptors.request.use((config)=>{
    return config
},(error)=>{  // 请求错误
    return Promise.reject(error)
})

//添加响应拦截器 (数据请求成功后做些什么)
instance.interceptors.response.use((response)=>{
    return response;
},(error)=>{  // 响应错误
    return Promise.reject(error)
})

export function request(method,url,parasm){
    switch(method){
        case Method.GET:
            return GET(url,parasm);
        case Method.POST:
            return POST(ulr,parasm)
    }
}

function GET(url,parasm){
    return instance.get(url,parasm)
}
// instance.get(); 它的函数返回值是Promise对象,只有Promise对象有.then().catch()
function POST(url,params){
    return instance.post(url,params)
}
  • 在第三个 index.js 文件夹里面写以下
// 引入core文件
import {request} from "./core"
// 引入config文件
import {Method,PATH} from "./config"

const netClient = {
  // 首页路径
  shouye_list(params){
    return request(Method.GET,PATH.shouye_list,params)
  },
}

// 抛出netClient
export default netClient;

第三步
写完需要在min.js里面引入

// 网络模块
import netClient from "./network/index"
// 网络模块
Vue.prototype.$netClient = netClient;

第四步
可以在home.vue里面测试一下

 mounted(){
    this.$netClient.shouye_list().then(res=>{
      console.log(res.data.data)
    })
  }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好人蔡蔡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值