api接口封装

api接口封装

作用:为了以后修改接口方便,如果项目很大,在每一个页面里修改接口的话,很麻烦,所以封装在一个文件里,找起来也很方便

在 src 中新建一个文件 nectwork,nectwork中新建两个js文件

http.js 中 

import axios from 'axios'
// 环境的切换 环境指的是就是开发环境 和 生产环境(npm run build之后)
// 开发环境(development)中用到的是测试接口 生产环境(product)
if (process.env.NODE_ENV == 'development'){
    // 设置默认路径
    axios.defaults.baseURL = 'http://120.53.31.103:84/'
    
}
if(process.env.NODE_ENV == 'production'){
    axios.defaults.baseURL = 'http://120.53.31.103:84/'
}
// 设置超出时间
axios.defaults.timeout = 10000

// 设置请求头
axios.interceptors.request.use(
    config=>{
        config.headers={DeviceType:"H5"}
        return config
    }
)

// axios.interceptors.response.use()

// 使用promise返回axios请求的结果(promise)
export function get(url,params){
    console.log(url)
    return new Promise((resolve,reject) =>{
        axios.get(url,{
            params:params
        }).then(res=>{
            resolve(res)
        }).catch(err=>{
            reject(err)
        })
    })
}
export function post(url,params){
    return new Promise((resolve,reject)=>{
        axios.post(url,{
            prarms:params
        }).then(res=>{
            resolve(res)
        }).catch(err=>{
            reject(err)
        })
    })
}

api.js 中 写接口

import {get,post} from './http'   // 引入http文件
// 封装一个获取首页数据的方法 getAppIndedx
export function getAppIndedx(){
    return get('api/app/recommend/appIndex')
} 
// 轮播
export function getBannerIndedx(){
    return get('api/app/banner')
}

// 课程详情
export function getDetails(id){
    return get('api/app/courseInfo/basis_id='+id)
}

// 课程大纲
export function getDagang(){
    return post('api/app/courseChapter')
}

在当前组件中

 

 

posted @ 2020-10-07 19:22  挽你手  阅读(1329)  评论(0编辑  收藏  举报