https://www.cnblogs.com/jasonwang2y60/p/7302449.html
vue中axios的封装
yarn add mockjs --save-dev
./mock.js
// 引入mockjs
const Mock = require('mockjs');
// 获取 mock.Random 对象
const Random = Mock.Random;
// mock一组数据
const produceNewsData = function() {
let articles = [];
for (let i = 0; i < 30; 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);
main.js
// 引入mockjs
require("./mock.js");
import api from "./api";
Vue.prototype.$api = api;// 将api挂载到vue的原型上
api/index.js
// index.js是一个api接口的出口,这样就可以把api接口根据功能划分为多个模块
import music from './apis/music.js';
import mockapi from './apis/mockapi.js'
// 其他模块的接口……
// 导出接口
export default {
music,
mockapi
// ……
}
import { fetch } from "../fetch";
const mockapi = {
JH_news(data) {
return fetch({
url: "/news/index",
method: "post",
data
});
}
};
export default mockapi;
xx.vue
created() {
this.$api.mockapi.JH_news("type=top&key=123456").then(res => {
console.log("res1111", res.data);
this.newsListShow = res.data.articles;
});
}
网友评论