標籤:base int 姓名 The his dex new 日期 let
//main.js中//引入你mock.js檔案require(‘./mock.js‘) //封裝api請求//src/axios/api.jsimport 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// 引入mockjsconst 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;});
axios攔截器+mockjs