有文件上传请求和无文件上传axios封装

// axios的封装
import http from 'axios'
import qs from 'querystring'
// 添加请求拦截器
http.interceptors.request.use(config=>{
    let userInfo = JSON.parse(localStorage.getItem('userInfo')||'{}')
    // 添加请求头
    config.headers.authorization = userInfo.token
    // 处理过程
    return config
})

// 添加响应拦截器
http.interceptors.response.use(res=>{
    console.log('本次请求的接口:'+res.config.url);
    console.log(res);
    return res.data
})

// 封装一个get
// url:  请求的接口地址
// data:  请求所需的参数对象,  不传参是默认就是{}
export function get(url,data={}){
    return new Promise((reslove)=>{
        http.get(url,{params:data}).then(res=>{
            // 响应数据抛出
            reslove(res)
        })
    })
} 


// 封装一个post
//  url:   请求的接口地址
// data:  请求的参数对象
// isFile:  是否有文件,  有--true,  没有--false

export function post(url,data,isFile=false){
    // 参数处理结果
    let params=null

    // 1. 无文件时
    if(!isFile){
        params = qs.stringify(data)
    }else{
          // 2. 有文件
          params = new FormData()

          for(let key in data){
            params.append(key,data[key])
          }
    }
    return new Promise((reslove)=>{
        http.post(url,params).then(res=>{
            reslove(res)
        })
    })
}

export default http

统一app(以下接口都是举例,无法使用!!!!!)

// 同一管理所有api
import {get,post} from './http'

// 管理员登录
export let userLogin = (data)=>post('/api/userlogin',data)

// 菜单列表
export let menuList = ()=>get('/api/menulist',{istree:true})
// 菜单添加
export let addMenu = (data)=>post('/api/menuadd',data)
// 菜单删除
export let delMenu = (data)=>post('/api/menudelete',data)
// 一条菜单信息
export let menuInfo = (data)=>get('/api/menuinfo',data)
// 菜单编辑
export let editMenu = (data)=>post('/api/menuedit',data)

// 角色列表
export let roleList = ()=>get('/api/rolelist')
// 角色添加
export let addRole = (data)=>post('/api/roleadd',data)
// 角色删除
export let delRole= (data)=>post('/api/roledelete',data)
// 一条角色信息
export let roleInfo = (data)=>get('/api/roleinfo',data)
// 角色编辑
export let editRole = (data)=>post('/api/roleedit',data)

// 管理员列表
export let adminList = (data)=>get('/api/userlist',data)
// 管理总数
export let adminCount = () =>get('/api/usercount') 
// 管理员添加
export let addAdmin = (data)=>post('/api/useradd',data)
// 管理员删除
export let delAdmin = (data)=>post('/api/userdelete',data)
// 管理员信息一=条
export let adminInfo = (data)=>get('/api/userinfo',data)
// 管理员修改
export let editAdmin = (data)=>post('/api/useredit',data)


// 商品分类列表
export let cateList = ()=>get('/api/catelist',{istree:true})
// 商品分类添加, 
// 参数中有文件,需要传递第三个参数
export let addCate = (data)=>post('/api/cateadd',data,true)

// 分类删除
export let delCate = (data)=>post('/api/catedelete',data)
// 分类信息一条
export let cateInfo = (data)=>get('/api/cateinfo',data)
// 分类修改
export let editCate = (data)=>post('/api/cateedit',data,true)

上一篇:java对象序列化byte[] 和 byte[]反序列化对象


下一篇:C# Winform 自定义异常处理方法