文件目录结构

构建请求基类

 

config.js

export default class Config {
  constructor() {

  }
}
Config.restUrl = "http://z.cn/api/vl"

base.js

import Config from "../utils/config.js"
class Base {
  constructor() {
    this.baseRequestUrl = Config.restUrl
  }
  request(params,cb) {
    let url = this.baseRequestUrl + params.url
    if (!params.type){
      params.type="GET"
    }
    wx.request({
      url: url,
      method: params.type,
      data: params.data,
      header:{
        'content-type':'application/json',
        'token': wx.getStorageSync('token')
      },
      success:function(res){
        // if (params.sCallBack){
        //   params.sCallBack(res)
        // }
        params.sCallBack && params.sCallBack(res.data)
      },
      fail:function(err){
        console.log(err)
      }
    })
  }
}
export {
  Base
}

 

home-model.js

import Base from '../../utils/base.js'
//Home类继承Base基类
export default class Home extends Base{
  constructor(){
    super()

  }
  getBannerData(id,callback){
    let params={
      url:'banner/'+id,
      sCallBack:function(res){
        callback && callback(res)
      }
    }
    this.request(params)
    // wx.request({
    //   url: 'http://z.cn/api/vl/banner/'+id,
    //   method:'get',
    //   success:function(res){
    //     callback(res)
    //   },
    //   fail:function(error){

    //   }
    // })
  }
}

 

home.js

// pages/home/home.js
import Home from './home-model.js'
let home = new Home()
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this._loadData();
  },
  _loadData:function(){
    let id=1;
    let data = home.getBannerData(id,(res)=>{
      console.log(res)
    });
  }
})

相关文章: