【小程序】模擬數據支持(mockjs配置模擬服務器接口數據)

utils目錄html

①下載mockjs(地址)放置utils目錄中git

②新建api.js :配置模擬數據以及後臺接口,經過DEBUG=ture;  //切換數據接口github

   配置以下:ajax

let API_HOST = "http://xxx.com/xxx";
let DEBUG = true;//切換數據入口
var Mock = require('mock.js')
function ajax(data = '', fn, method = "get", header = {}) {
    if (!DEBUG) {
        wx.request({
            url: config.API_HOST + data,
            method: method ? method : 'get',
            data: {},
            header: header ? header : { "Content-Type": "application/json" },
            success: function (res) {
                fn(res);
            }
        });
    } else {
        // 模擬數據
        var res = Mock.mock({
            'error_code': '',
            'error_msg': '',
            'data|10': [{
                'id|+1': 1,
                'img': "@image('200x100', '#4A7BF7','#fff','pic')",
                'title': '@ctitle(3,8)',
                'city': "@county(true)",
                'stock_num': '@integer(0,100)',//庫存數量  
                'marketing_start': '@datetime()',
                'marketing_stop': '@now()',
                'price': '@integer(100,2000)',//現價,單位:分  
                'original_price': '@integer(100,3000)'
            }]  
        })
        // 輸出結果
       // console.log(JSON.stringify(res, null, 2))
        fn(res);
    }
}
module.exports = {
    ajax: ajax
}
View Code

③在小程序訪問數據的頁面js中 定義變量註冊,使用json

   以下:小程序

//index.js
//獲取應用實例
var app = getApp()
var API = require('../../utils/api.js')
Page({
    data: {
       goods:[]
    },
    onLoad: function () {
        var that = this// 使用 Mock配置的api接口
        API.ajax('', function (res) {
            that.setData({
                goods:res.data
            })
        });

        console.log(this.data.goods)
    }
})
View Code

那麼,咱們就能夠在頁面中使用數據了api

在api.js中,定義模擬數據的屬性如圖(能夠再依mockjs文檔的github地址定義其餘咱們所須要的數據格式):app

 

另外,也可將數據提取出,根據api中傳入的請求類型datatype,返回對應的數據ide

根據id返回res的改造版:ui

mock文檔手冊:http://mockjs.com/0.1/

參考資料:https://www.cnblogs.com/xzma/p/7591090.html

              https://www.jianshu.com/p/9dbcfbe6130f

相關文章
相關標籤/搜索