http封装

目录

api.js

index.js

axios.js

api.js

export default {
  login: '/iot/login',
  //注册
  reg: '/iot/reg',
  // 退出
  logout: '/iot/logout',
  // 修改用户
  edituser: '/iot/edituser',
  // 修改密码
  changepwd: '/iot/changepwd',
  // 获取用户信息
  currentuser: '/iot/currentuser',
  // 修改收货地址
  editaddress: '/iot/editaddress',
  //数据查询-左侧树
  treedata: '/iot/project/treedata',
  //数据查询-数据列表
  sensordata: '/iot/sensordata/list',
  //终端管理--数据列表
  pageListdevice:'/iot/device/pageList',
  // 终端管理---数据列表
  FindByProjectIddevice: '/iot/device/FindByProjectId',
  // 终端管理---数据列表
  FindByIddevice: '/iot/device/FindById',
  // 终端管理----添加
}

index.js

import http from './axios';
import api from './api';

export const login = (params) => http.post(api.login, params);
//注册
export const reg = (params) => http.post(api.reg, params);
//退出
export const logout = (params) => http.post(api.logout, params);
// 修改密码
export const changepwd = (params) => http.post(api.changepwd, params)
// 同步配置---下载配置
export const cfgSet = (params) => http.post(api.cfgSet, params);
// 同步配置---读取配置
export const cfgGet = (params) => http.post(api.cfgGet, params);
// 工程管理----数据列表
export const listproject = (params) => http.post(api.listproject, params);
// 工程管理----数据列表
export const pageListproject = (params) => http.post(api.pageListproject, params);
// 工程管理----新增
export const addproject = (params) => http.post(api.addproject, params);
// 工程管理----修改
export const updateproject = (params) => http.post(api.updateproject, params);
// 工程管理----删除
export const deleteproject = (params) => http.post(`${api.deleteproject}/${params}`, null)
// 终端管理---通道列表选择
export const findNoDeviceSensor = (params) => http.post(api.findNoDeviceSensor, params);

export const addCmd = (params) => http.post(api.addCmd, params);
// 字典映射
export const selectType = (params) => http.post(`${api.selectType}/${params}`, null);

//同步配置---下载配置
export const sendDataToDeviceMqtt = (params) => http.post("/iot/device/sendDataToDeviceMqtt", params);
//同步配置---读取配置
export const gitSetDataMqtt = (params) => http.post("/iot/device/gitSetDataMqtt", params);
// 同步配置--定时调用
export const getAllMqttOperationLogList = (devMsgType, params) => http.post("/iot/device/getAllMqttOperationLogList/" + devMsgType, params);
//数据管理过滤
export const dataqueryTreeList = (params) => http.post(api.dataqueryTreeList, params);
//数据查询删除
export const dataqueryDel = (params) => http.post(api.dataqueryDel, params);
//devType
export const devTypelistByType = (params) => http.post(`${api.devTypelistByType}/${params}`, params);

// // 离线命令-删除
export const deleteCmdofflineCmd = (params) => http.post(api.deleteCmdofflineCmd, params);
// 终端管理
export const FindByIdAlldevice = (params) => http.post(api.FindByIdAlldevice, params);
// 用户管理
// 查看
export const userlist = (params) => http.post(api.userlist, params);
// 新增
export const adduser = (params) => http.post(api.adduser, params);
// 删除
export const deluser = (params) => http.post(`${api.deluser}/${params}`, null);


axios.js

// axios 配置
import axios from 'axios';
import store from '../store';
import router from '../router';
import {
  Message
} from 'element-ui';
console.warn(process.env.VUE_APP_API_URL)
//创建 axios 实例
let instance = axios.create({
  baseURL: process.env.VUE_APP_API_URL,
  timeout: 500000, // 请求超过5秒即超时返回错误
  headers: {
    'Content-Type': 'application/json;charset=UTF-8'
  },
  withCredentials: true
})

// instance.defaults.withCredentials = true;

instance.interceptors.request.use(
  config => {
    if (store.getters.token) { // 若存在token,则每个Http Header都加上token
      // config.headers.Authorization = `token ${store.getters.token}`
    }
    return config
  },
  err => {
    return Promise.reject(err)
  })

// http response 拦截器
instance.interceptors.response.use(
  response => {
    if(response.data.code === '403') {
      Message({
        type: 'warning',
        message: response.data.message,
        onClose: () => {
          router.replace({
            path: '/login'
          })
        }
      })
    } else {
      return response;
    }
  },
  error => {
    if (error.response) {
      switch (error.response.status) {
        case 401:
          store.commit('BIND_LOGOUT')
          router.replace({
            path: '/login',
            query: {
              redirect: router.currentRoute.fullPath
            }
          })
          break
        default:
          Message.error(`服务器出错,请稍后重试:${JSON.stringify(error)}`);
      }
    }
    Message.error(`服务器出错,请稍后重试:${JSON.stringify(error.response)}`);
    return Promise.reject(error.response) // 返回接口返回的错误信息
  }
)

export default instance;

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值