【mock.js】mock.js在vue-admin-template项目中的使用

记录学习mock.js

一、什么是mock.js

使用mock.js拦截ajax请求,更加方便的构造需要的假数据。

二、项目介绍

vue-element-admin项目的所有请求都是通过封装的request.js进行发送的,所有的请求都设置了一个baseURL,而这个baseURL又是通过读取process.env.VUE_APP_BASE_API这个环境变量来动态设置的。
在vue-element-admin的模板当中,所有的数据都是模拟实现的,这里可以仿照着它模拟数据的流程进行数据的模拟mock。
在这里插入图片描述

三、开发步骤

1.src/api/test中新建接口

src/api/test中添加获取测试数据的接口

import request from '@/utils/request'

export function fetchList() {
  return request({
    url: '/mocktest/list',
    method: 'get'
  })
}
export function getChartData() {
  return request({
      // 用这种方式直接走的是
    url: '/charts/one',
    method: 'get',
    
  })
}

2.mock/article.js中创建mock接口

声明完接口之后,我们需要找到对应的mock文件夹mock/article.js,在下面创建一个能拦截路由的 mock 接口

import Mock from "mockjs"

const data = Mock.mock(
  {
    'item|10':[{
      id:'@id',
      pid: '@integer(1000, 1100)',          // 生成一个1000-1100之间的整数
      name: '@name',                        // 生成一个英文名字,cname为中文名字
      description: '@csentence(10, 20)',    // 生成一句中文
      price: '@integer(10,100) $',
      edit: '',
      value: '@float(2,4)',                // 生成一个2-5之间的浮点数
      display_time: '@datetime',           // 生成一个日期
      sales: '@integer(300, 5000)'
    }]
  }
)

export default [
  {
  	//第一个请求
    url:'/mocktest/list',
    type: 'get',
    response: config => {
      const items = data.item
      return {
        code: 20000,
        data: {
          total: items.length,
          items: items
        },
        test:[1,2,4]
      }
    }
  },
    {
      //第二个请求
      url: '/charts/one',
      type: 'get',
      response: _ => {
        return {
          code: 20000,
          xdata: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
          ydata: [820, 932, 901, 934, 1290, 1330, 1320]
        }
      }
    }
]

3. 在mock/index.js中导入

在这里插入图片描述

4. view/test/index.vue中使用

先导入接口:
在这里插入图片描述
在methods中使用:
在这里插入图片描述

<script>

import {
  fetchList,
  getChartData
} from '@/api/test'

export default {
  data() {
    return {

    }
  },
  created() {
    this.init(),
    this.test()
  },
  methods: {
    init() {
      console.log(111);
      fetchList().then(
        res=>{
          console.log(res);
        }
      )
    },
    test() {
      getChartData().then(
      res=>{
        console.log(res);
      }
    )
    }

  }
}
</script>

四、结果

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue-admin-template是一个基于Vue.js和Element UI的后台管理系统模板。你可以在这个模板的基础上进行二次开发,根据自己的需求添加功能或组件。\[1\]如果你想修改项目名称,可以解压压缩包后进入项目目录,然后执行npm install安装依赖,最后执行npm run dev启动项目。这样,浏览器会自动弹出并访问http://localhost:9528。\[2\]项目的源码目录结构包括入口文件和其他文件夹和文件。入口文件,你可以看到使用mock数据,并且全局挂载了Element UI、路由和Vuex。如果你想使用文版的Element UI,可以按照注释的方式声明。\[3\]最后,通过new Vue创建Vue实例并挂载到#app元素上,渲染App组件。 #### 引用[.reference_title] - *1* *2* [Vue前端模板框架--vue-admin-template](https://blog.csdn.net/m0_57037182/article/details/127684812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [详细分析 vue-admin-template](https://blog.csdn.net/qq_41291945/article/details/107748231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值