Browse Source

添加mock

sunjh 6 years ago
parent
commit
fd3e381afa
5 changed files with 46 additions and 19 deletions
  1. 9 8
      src/components/Home.vue
  2. 17 11
      src/js/http.js
  3. 1 0
      src/main.js
  4. 7 0
      src/mock.js
  5. 12 0
      src/mock/test.js

+ 9 - 8
src/components/Home.vue

@@ -149,19 +149,20 @@ export default {
     //加载数据
     loadData: function () {
       console.log('loadData')
-      Http.get(Apis.PAGE.HOME_PAGE).then((res) => {
-        if (0 === res.code){
-          this.hotTaskList = res.hotTaskList
-          this.institutionRank = res.institutionRank
-          this.personRank = res.personRank
-          this.imgList = res.imgList
-        }
+      Http.get('/api/get/').then((res) => {
+        console.log(res)
+        // if (0 === res.code){
+        //   this.hotTaskList = res.hotTaskList
+        //   this.institutionRank = res.institutionRank
+        //   this.personRank = res.personRank
+        //   this.imgList = res.imgList
+        // }
       })
     },
   },
   created: function () {
     console.log('加载中')
-    //this.loadData()
+    this.loadData()
   }
 }
 </script>

+ 17 - 11
src/js/http.js

@@ -1,6 +1,20 @@
 import axios from 'axios'
 
 const TIME_OUT_MS = 60 * 1000 // 默认请求超时时间
+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)
+})
 
 /*
  * @param response 返回数据列表
@@ -49,15 +63,7 @@ function handleParams (data) {
 export default {
   post (url, data) {
     return new Promise((resolve, reject) => {
-      axios({
-        method: 'post',
-        url: handleUrl(url),
-        data: handleParams(data),
-        timeout: TIME_OUT_MS,
-        headers: {
-          'Content-Type': 'application/json; charset=UTF-8'
-        }
-      }).then(
+      axios.post(url, data).then(
         (result) => {
           resolve(result)
         }
@@ -68,9 +74,9 @@ export default {
       )
     })
   },
-  get (url, params) {
+  get (url) {
     return new Promise((resolve, reject) => {
-      axios.get(handleUrl(url), {params: params})
+      axios.get(url )
         .then(response => {
           resolve(response.data)
         }).catch(error => {

+ 1 - 0
src/main.js

@@ -13,6 +13,7 @@ import {
   Checkbox, CheckboxButton, CheckboxGroup, DatePicker, TimeSelect, TimePicker, Switch, Select,
   Option, Upload, Tabs, TabPane, Collapse, CollapseItem, MessageBox, Message, Notification,
 } from 'element-ui'
+require('./mock.js')
 Vue.use(Carousel)
 Vue.use(CarouselItem)
 Vue.use(Row)

+ 7 - 0
src/mock.js

@@ -0,0 +1,7 @@
+// 引入mockjs
+const Mock = require('mockjs');
+const Test = require('./mock/test.js')
+const Apis = require('./js/api.js')
+
+// Mock.mock( url, post/get , 返回的数据);
+Mock.mock('/api/get/', 'get', Test.data);

+ 12 - 0
src/mock/test.js

@@ -0,0 +1,12 @@
+var Mock = require('mockjs')
+var data = Mock.mock({
+  'list|1-10': [{
+    'id|+1': 1
+  }]
+})
+
+export {
+  data
+};
+
+console.log(JSON.stringify(data, null, 4))