SNNU-CS / ExpenseClaimAutomationSystem

大数据时代下的财务自动化报销系统,2019年国家大学生创新创业训练计划(项目编号:201910718074)
GNU General Public License v3.0
5 stars 1 forks source link

feat: 🎸 add app.js file #36

Closed ZhaoQi99 closed 5 years ago

ZhaoQi99 commented 5 years ago

Close #33 ,Close #35

ZhaoQi99 commented 5 years ago

可以参考这个~

import axios from 'axios'
import sha1 from 'sha1'
import {store} from '../store'
import router from '../router'
// axios 配置
axios.defaults.timeout = 3000;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
axios.defaults.baseURL = '/omservice';

//POST传参序列化
axios.interceptors.request.use((config) => {
  if(config.url==="/ams/account/preWithDraw.do"){
//
  } else {
    store.$emit('showLoading', true);
  }
  if (config.method === 'post') {
    config.headers.token = localStorage.token;
    //
  }
  return config;
}, (error) => {
  return Promise.reject(error);
});

//返回状态判断
axios.interceptors.response.use((res) => {
  store.$emit('showLoading', false);
  if (!res.data.status && res.data.status !== 0) {
    return Promise.reject(res);
  }
  return res;
}, (res) => {
  store.$emit('showLoading', false);
  if (res.response.data.status === 120) {
    localStorage.username = '';
    localStorage.token = "";
    router.replace({
      path: 'login',
      query: {redirect: router.currentRoute.fullPath}
    });
    return Promise.reject(res.response.data.message);
  } else {
    return Promise.reject(res.message);
  }
});

export function fetch(url, params) {
  return new Promise((resolve, reject) => {
    axios.post(url, params)
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}

export function get(url, params) {
  return new Promise((resolve, reject) => {
    axios.get(url, params)
      .then(response => {
        resolve(response.data);
      }, err => {
        reject(err);
      })
      .catch((error) => {
        reject(error)
      })
  })
}

//参数签名
export function toSHA1(param) {
  let array = [];
  for (let key in param) {
    array.push(key);
  }
  array.sort();

  // 拼接有序的参数名-值串
  let paramArray = [];
  for (let index in array) {
    let key = array[index];
    paramArray.push(key + param[key]);
  }

  let shaSource = paramArray.join("");
  return sha1(shaSource).toUpperCase();
}

export default {
  DateFormat(date) {
    const tmpDate = new Date();
    tmpDate.setTime(date);
    return tmpDate.getFullYear() + "-" + (tmpDate.getMonth() + 1) + "-" + tmpDate.getDate();
  },
  Login(params) {
    // params.sign = toSHA1(params.param);
    return fetch('userauth/userlogin/', params)
  },
  Logout(params) {
    return fetch('login/logout.do', params)
  },
  ResetUserPassword(params) {
    return fetch('userauth/userInitPassword/', params)
  },
  AddUser(params) {
    return fetch('usermgmt/adduser/', params)
  },
  DelUser(params) {
    return fetch('usermgmt/deluser/', params)
  },
  UpdateUser(params) {
    return fetch('usermgmt/udpuser/', params)
  },
  GetUser(params) {
    return fetch('usermgmt/user/', params)
  },
  GetModule(params) {
    return fetch('modulemgmt/module/', params)
  },
  AddModule(params) {
    return fetch('modulemgmt/addmodule/', params)
  },
  DelModule(params) {
    return fetch('modulemgmt/delmodule/', params)
  },
  UpdateModule(params) {
    return fetch('modulemgmt/udpmodule/', params)
  },
  GetRolePermission(params) {
    return fetch('rolemgmt/rolepermission/', params)
  },
  UpdateRolePermission(params) {
    return fetch('rolemgmt/updrolepermission/', params)
  },
  GetRole(params) {
    return fetch('rolemgmt/role/', params)
  },
  AddRole(params) {
    return fetch('rolemgmt/addrole/', params)
  },
  DelRole(params) {
    return fetch('rolemgmt/delrole/', params)
  },
  UpdateRole(params) {
    return fetch('rolemgmt/updrole/', params)
  }
}