zoukankan      html  css  js  c++  java
  • axios拦截器+mockjs

    //main.js中
    
    
    //引入你mock.js文件
    require('./mock.js')
    
     
    
    
    //封装api请求
    //src/axios/api.js
    
    import axios from 'axios'
    import vue from 'vue'
    
    axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
    
    // 请求拦截器
    axios.interceptors.request.use(function(config) {
    return config;
    }, function(error) {
    return Promise.reject(error);
    })
    // 响应拦截器
    axios.interceptors.response.use(function(response) {
    return response;
    }, function(error) {
    return Promise.reject(error);
    })
    
    // 封装axios的post请求
    export function fetch(url, params) {
    return new Promise((resolve, reject) => {
    axios.post(url, params)
    .then(response => {
    resolve(response.data);
    })
    .catch((error) => {
    reject(error);
    })
    })
    }
    
    export default {
    JH_news(url, params) {
    return fetch(url, params);
    }
    }
    
    
    //src/mock.js
    
    //mock.js
    
    // 引入mockjs
    const Mock = require('mockjs');
    // 获取 mock.Random 对象
    const Random = Mock.Random;
    // mock一组数据
    const produceNewsData = function() {
    let articles = [];
    for (let i = 0; i < 100; i++) {
    let newArticleObject = {
    title: Random.csentence(5, 30), // Random.csentence( min, max )
    thumbnail_pic_s: Random.dataImage('300x250', 'mock的图片'), // Random.dataImage( size, text ) 生成一段随机的 Base64 图片编码
    author_name: Random.cname(), // Random.cname() 随机生成一个常见的中文姓名
    date: Random.date() + ' ' + Random.time() // Random.date()指示生成的日期字符串的格式,默认为yyyy-MM-dd;Random.time() 返回一个随机的时间字符串
    }
    articles.push(newArticleObject)
    }
    
    return {
    articles: articles
    }
    }
    
    // Mock.mock( url, post/get , 返回的数据);
    Mock.mock('/news/index', 'post', produceNewsData);
    
    
    //使用 组件
    import api from './../axios/api.js'
    
    api.JH_news('/news/index', 'type=top&key=123456')
    .then(res => {
    console.log(res);
    this.newsListShow = res.articles;
    });
  • 相关阅读:
    Python学习第42天(ftp习题实现day4)
    Python学习第41天(ftp习题实现day3)
    Python学习第40天(ftp习题实现day2)
    Python学习第39天(ftp习题实现day1)
    Python学习第38天(文件处理,os、sys、pickle模块复习)
    Python学习第37天(socketserver继承原理、通讯加密)
    Python学习第36天(socketserver模块导入)
    Python学习第35天(粘包)
    个人读书笔记04—业务用例图
    命令模式
  • 原文地址:https://www.cnblogs.com/lwj820876312/p/9095810.html
Copyright © 2011-2022 走看看