zoukankan      html  css  js  c++  java
  • axios项目二次封装

    import axios from 'axios'
    import qs from 'qs'
    
    const baseURL = "http://10.4.108.117:8081/"
    
    exports.install = function (Vue, options) {
      Vue.prototype.get = function (url, data, success) {
        axios({
          url: baseURL + url,
          params: data,
          headers: {
            "token": localStorage.getItem("token")
          }
        }).then((respose) => {
          if (respose.status == 200) {
            var resultMap = respose.data;
            if (resultMap) {
              if (!resultMap.code) {
                success(resultMap);
              } else {
                if (resultMap.code == 200) {
                  success(resultMap.data);
                } else {
                  if (resultMap.msg) {
                    let errorMsg = resultMap.msg.replace(/d+/, "").replace("|", "");
                    this.$Message.error(errorMsg);
                    let _this = this;
                    if (errorMsg == "帐号未登录") {
                      setTimeout(function () {
                        // 退出登录
                        _this.$store.commit('logout', this);
                        _this.$store.commit('clearOpenedSubmenu');
                        _this.$router.push({
                          name: 'login'
                        });
                      }, 300);
                    }
                  }
                }
              }
            }
          } else {
            this.$Message.error(respose.statusText);
          }
        }).catch((error) => {
        })
      };
      Vue.prototype.post = function (url, data, success) {
        axios.post(baseURL + url, qs.stringify(data), {
          headers: {
            "token": localStorage.getItem("token")
          }
        }).then((respose) => {
          if (respose.status == 200) {
            var resultMap = respose.data;
            if (resultMap) {
              if (resultMap.code == 200) {
                success(resultMap.data)
              } else {
                if (resultMap.msg) {
                  let errorMsg = resultMap.msg.replace(/d+/, "").replace("|", "");
                  this.$Message.error(errorMsg);
                  let _this;
                  if (errorMsg == "帐号未登录") {
                    setTimeout(function () {
                      // 退出登录
                      _this.$store.commit('logout', this);
                      _this.$store.commit('clearOpenedSubmenu');
                      _this.$router.push({
                        name: 'login'
                      });
                    }, 300);
                  }
                }
              }
            }
          } else {
            this.$Message.error(respose.statusText);
          }
        }).catch((error) => {
          console.log(error)
        })
      };
      Vue.prototype.postHandle = function (url, data, success) {
        axios.post(baseURL + url, qs.stringify(data)).then((respose) => {
          if (success) {
            success(respose)
          }
        }).catch((error) => {
          console.log(error)
        })
      };
      Vue.prototype.getBaseUrl = function () {
        return baseURL;
      }
    
      Vue.prototype.getUrlParameter = function (obj) {
        let _paramter = "?token=" + localStorage.getItem("token");
        if (obj) {
          Object.keys(obj).forEach(function (key) {
            if (typeof obj[key] == "number" || obj[key]) {
              _paramter = _paramter + "&" + key + "=" + obj[key];
            }
          });
        }
        return _paramter;
      }
    }
  • 相关阅读:
    C 语言 字符串命令 strstr()的用法 实现将原字符串以分割串分割输出
    C# 中对 IEnumerable IEnumerator yield 的理解
    C 语言 用字符输出菱形图案的函数(可自定义边长及字符样式)
    C 语言 对角线添充二维数组
    C 语言 边读 边写入文件
    [转]Page.RegisterRequiresRaiseEvent()与Page.RegisterRequiresPostBack()
    asp.net 判断是手机或电脑访问网页的方式
    表达式树【转】
    ADO.NET中的“返回多个结果集”和“MARS”【转】
    SQL2005转2000的方法【转】
  • 原文地址:https://www.cnblogs.com/caoruichun/p/9427432.html
Copyright © 2011-2022 走看看