iot-axios2

1.1.12 • Public • Published

iot-vue项目脚手架工具

介绍

基于axios封装,适用于iot-开放平台项目的http请求插件。

安装

Vue2版本:npm install iot-axios2

Vue3版本:npm install iot-axios

说明

入参

1>autoerror:string (兼容header_isPromptAbnormalInfo)

0:代表以前旧写法(默认值)

1:自动提示后台异常信息(Message提示)

2:不自动提示后台异常信息,用来请求中自定义catch方法

3:自动提示后台异常信息(MessageBox.alert提示)

注:如果需要1、3自动提示,自行引入elementUI/element-plus样式

2>hnoloading:bool

false:请求时自动显示loading(默认值)

true:请求时不显示loading

3>encryptLevel:string

0:参数为json类型数据(默认值)

1:参数为application/x-www-form-urlencoded类型数据

2:参数为multipart/form-data类型数据

4>headSignLog:bool

false:不打印header参数antiReplaySign(默认值)

true:打印header参数antiReplaySign

5>headDevice:number

0:不携带设备调用接口中的header默认配置项

1:携带设备调用接口中得header默认配置项

6>noLogin:bool

false:接口403需要自动跳转登录(默认值)

true:接口403不需要自动跳转登录

7>noHeadSign:bool

false:增加防重放、灰度等参数(默认值)

true:不增加防重放、灰度等参数

8>qiCustormCode:string | number

'00000': 默认值

其他:自定义请求成功状态码

9>qiCustormStatus: string

'retCode': 默认值

其他:自定义请求状态key值

10>qiCustormMsg: string

'retInfo': 默认值

其他:自定义请求失败错误信息key值

登录过期回调函数:window.loginDateCallback

使用

1>iotAxios:正常axios库

2>iotExtpost:

请求地址为:/managecenter-api/ext/${serveName}/post 的请求,参数(params,serveName):

params: 请求入参

serveName:地址中${serveName}的值,默认为hardware

3>iotExtget:

请求地址为:/managecenter-api/ext/${serveName}/get 的请求,参数(params,serveName):

params: 请求入参

serveName:地址中${serveName}的值,默认为hardware

示例

import { axiosapi } from '@/assets/js/api';
import { iotAxios, iotExtpost, iotExtget} from 'iot-axios2';
export default {
  name: 'App',
  created () {
    //iotAxios
    iotAxios({
      method: 'post',
      url: `${axiosapi}/intelligenceapp/user/app/list`,
      data: {
        pageNum: 1,
        pageSize: 10,
        queryParam: '',
        hnoloading: true
      }
    }).then((res) => {
      console.log(res)
    })
    //iotExtpost
    iotExtpost({
      autoerror: 1,
      url: '/modelType/appTypeInfoList'
    }).then((res) => {
      console.log(res)
    })
    //iotExtget
    iotExtget({
      headSignLog: 1,
      url: '/modelType/appTypeInfoList'
    }).then((res) => {
      console.log(res)
    })
  }
}

封装

window.loginDateCallback = function(){	//登录过期时会自动调用
  let curPath = window.location.href
  if(curPath) {
    const route = `./index.html#/login?backurl=${encodeURIComponent(curPath)}`
    if(top!=self) {
      window.parent.location.replace(route)
    } else {
      window.location.replace(route)
    }
  }
}

import { iotAxios } from 'iot-axios2'
const env = process.env.NODE_ENV  
export const baseapi = env === 'development' ? '/apiprod' : ''
/**
  * @description: 封装请求类
  * @param {method} method 请求方式
  * @param {path} path 请求路径
  * @param {params} params 参数
  * @param {headers} headers 请求头
  */
export const iotRequest = (method, path, params, headers) => {
  if (method.toLowerCase() === 'get') {
    return iotAxios.get(baseapi + path, { params: params }, headers)
  } else {
    return iotAxios.post(baseapi + path, params, headers)
  }
}

// 使用
import { iotRequest } from '@/apis/api'
export const fnLogout = (params) => {
  return iotRequest('post', '/developercenter-api/index/logout', params)
}

Readme

Keywords

Package Sidebar

Install

npm i iot-axios2

Weekly Downloads

1

Version

1.1.12

License

ISC

Unpacked Size

829 kB

Total Files

3

Last publish

Collaborators

  • qisibo916