//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; });