vue开发封装思路--api篇

开发过程中不一样的api封装

  • 我们一般会在api目录下新建js文件来封装接口,然后再各个页面去引入来调用,这样需要在每个页面都要import 引入这些js文件,这样比较麻烦,
  • 我们可以在api文件夹下新建一个文件来处理这些,然后混入,就不需要每个页面都引入这些js文件,直接通过this来调接口
import loginApi from '@/api/loginApi'
import homeApi from '@/api/home'
export default {
  methods: {
    loginApi(api, data, callBack) {
      var fn = Array.prototype.pop.apply(arguments)
      const query = Array.prototype.shift.apply(arguments)
      loginApi[query](...arguments).then(fn)
    },
    homeApi(api, data, callBack) {
      homeApi[api](data).then(callBack)
    },
    async homeApiAsync(api, data, callBack) {
      const res = await homeApi[api](data)
      return res
    },
    async loginApiAsync(api, data, callBack) {
      const res = await loginApi[api](data)
      callBack(res)
    },
    sureOpen(callback) {
      this.$confirm('此操作将永久删除, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        callback()
      })
    }
  }
}

home.js
import request from '@/utils/request'
class HomeApi {
    getStatusItemList(data) {
        return request({
            url: '/api/projectStatus/getStatusItemList',
            method: 'post',
            params: data
        })
    }
}
export default new HomeApi()

login.js

import request from '@/utils/request'
class LoginAdmin {
  // 登录接口
  loginAuthApi(data) {
    return request({
      url: '/loginapi/system/user/login',
      method: 'post',
      data
    })
  }
}
export default new LoginAdmin()


  • 在main文件中全局混入
import commonApi from '@/api'
Vue.mixin(commonApi)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值