vue接口的封装

第一步建立

建立local.js文件

// 封装本地存储的方法
export default {
  // getItem 需要返回值
  get(key) {
    // 携带参数
    return JSON.parse(window.localStorage.getItem(key));
  },
  // setItem 设置不需要返回
  set(key, value) {
    window.localStorage.setItem(key, JSON.stringify(value));
  },
  // removeItem
  remove(key) {
    window.localStorage.removeItem(key);
  },
  // clear 清空
  clear() {
    window.localStorage.clear();
  },
  // 判断是否有对应的名称值
  iskey(key) {
    return window.localStorage.getItem(key) ? true : false;
  },
};

local.js文件第二步建立request.js文件在request.js引入

// 引入axios
import axios from "axios";
// 引入qs qs是转化成字符串
// import qs from "qs";
// 需要导入自己封装的local.js
import local from "./local.js"; //封装的本地存储
// 放url的公共的地址
axios.defaults.baseURL = "/api"; //跨域接口改的名字

// 添加请求拦截器
axios.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    // 记住这里需要拦截token
    if (local.iskey("yl_token")) {
      config.headers.Token = local.get("yl_token");
      // 还需要设置请求头 权限请求头是为了请求照片
      config.headers.UserId = local.get("userInfo").man_id;//userInfo,vuex定义的全局对象
    }
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);
// 添加响应拦截器
axios.interceptors.response.use(
  function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    return response.data;
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);
// 第一层封装解决了method 对应参数的问题
//这个是我们自己定义的方法
let request = (url, data = {}, method = "get", headers = {}) => {
  return axios({
    url,
    method,
    data: method == "post" ? data : null,
    params: method == "get" ? data : null,
    headers,
  });
};
// 向外抛出get和post
export default {
  get(url, data, headers = {}) {
    return request(url, data, "get", headers);
  },
  post(url, data, headers = {}) {
    return request(url, data, "post", headers);
  },
};

第三步在src下一级建立api文件夹

import request from "../utils/request";
// 简写 如果只有一个返回值 省略{} 登录
// 我的任务
export const api_myass = (data) => request.get("/ass/myass", data);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值