Vue基于WechatPlugin二次封装请求类库

8 篇文章 0 订阅
2 篇文章 0 订阅
import Vue from 'vue'

//import store from '../store'
//import router from '../router/router'
import { WechatPlugin } from 'vux'
let vue = new  Vue({ router, WechatPlugin })
let Export = {}


Export.get = function (opts) {
  opts.method = 'get'
  let timestamps = new Date().getTime()
  if(opts.timestamps){
    opts.url = opts.url+'?timestamps='+timestamps
  }
  return http(opts)
}


Export.post = function (opts) {
  opts.method = 'post'
  return http(opts)
}


Export.put = function (opts) {
  opts.method = 'put'
  return http(opts)
}


Export.delete = function (opts) {
  opts.method = 'delete'
  return http(opts)
}
function http(opts){
  //store.commit('updateLoading', true)
  vue.$http({
    method: opts.method,
    url: opts.url,
    headers: opts.headers || {},
    params: opts.params || {},
    data: opts.data || {}
  }).then( response => {
    //store.commit('updateLoading', false)
    if(handleApiResponseStatus(response.data))
    opts.success(response.data)
  }).catch( error => {
    handleHttpResponseStatus(error)
  })
}


/**
 *  处理接口响应状态
 *  处理通用接口异常,比如登录超时之类的2000错误接口
 */
let handleApiResponseStatus = response =>{
  //store.commit('updateLoading', false)

  if(response.codeText == 'RESULT_PERMISSION_ERR'){

 //

    return false
  } else {
    console.log(response.codeText)
  }
  return true
}
/**
 *  处理Http响应状态
 *  处理请求异常比如网络异常
 */
let handleHttpResponseStatus = error =>{
  //store.commit('updateLoading', false)
  let response = error.response ? error.response : "";
  const status = response.status ? response.status : "";
  if(status == 500){
    return false
  } else if(status == 404){
    vue.$vux.toast.text('发生404错误', 'middle')
    return false
  } else {
    vue.$vux.toast.text('网络异常', 'middle')
    return false
  }
  return true
}



export default Export



使用方法:

//引用工具类

import Request from '../kit/AjaxPlugin'

//

 Request.get({
          url: '',
          timestamps: true,
          params:{ },

          success:function (resp) {

            console.log(resp)

          }

 })

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值