微信小程序封裝好的請求、跳轉方式、彈出框、跳轉方式

微信小程序封裝好的request請求,建議放在utils文件夾下

class Base {
  constructor() {
    this.baseRequesUrl = '你的服務器請求地址';
  }
  // 封裝request方法基類
  request(params, callback, fail) {
    wx.showLoading({
      title: '加載中...',
    })
    var url = this.baseRequesUrl + params.url;
    // 如果請求方法爲空就賦值get的方法請求
    if (!params.type) {
      params.type = 'GET';
    }
    wx.request({
      url: url,
      data: params.data,
      header: {
        'content-type': 'application/json',
        'token': wx.getStorageSync('token')
      },
      method: params.type,
      dataType: 'json',
      responseType: 'text',
      success: function (res) {
        // 回調
        if (callback) {
          callback(res)
        }
        wx.hideLoading()
      },
      fail: function (err) {
        console.log(err)
      },
      complete: function (res) { },
    })
  }
  // 獲得元素上面綁定的值
  getDataSet(event, key) {
    // console.log(e.currentTarget.dataset.id);
    return event.currentTarget.dataset[key];
    //event.currentTarget.dataset.ID
  }
  //彈出框
 message(content, t, s = 1000) {
  if (!content) {
    content = "沒有內容";
  }
  if (t == 1) {
    var ic = "success";
  } else {
    var ic = "loading";
  }
  wx.showToast({
    title: content,
    duration: s,
    icon: ic
  })
}


//組合跳轉方式
 goLocation(url, t) {

  //判斷鏈接是否存在
  if (!url) {
    url = index;
    t = 5;
  }

  //判斷打開的頁面是否到達5個
  var ob = getCurrentPages();
  if (ob.length >= 5 && t != 3) {
    t = 1;
  }

  //獲取是否開啓自定義底部
  var autoFooter = wx.getStorageSync('autoFooter');
  var autoFooter = 1;
  //判斷是否導航頁
  var has = false;
  if (autoFooter != 1) {
    var bar = getBarList();
    has = contains(bar, url);

  }
  if (has) {
    t = 2;
  } else {
    if (t == 2) {
      if (url > 0) {
        t = 3;
      } else {
        t = 1;
      }
    }
  }

  if (t == 1) {
    wx.redirectTo({
      url: url
    })
  } else if (t == 2) {
    wx.switchTab({
      url: url
    })
  } else if (t == 3) {
    wx.navigateBack({
      delta: url
    })
  } else {
    wx.navigateTo({
      url: url,
    })
  }

}
//跳轉方式結束
//前往導航欄頁面
  goBarList(mid, url) {
    if (!url) {
      url = index;
    }
    wx.switchTab({
      url: url,
    })
  }
  /*
* 合併數組
*/
   SplitArray = function (list, sp) {
    if (typeof list != 'object') return [];
    if (sp === undefined) sp = [];
    for (var i = 0; i < list.length; i++) {
      sp.push(list[i]);
    }
    return sp;
  }
  SplitArray(list, sp) { return util.SplitArray(list, sp) }

}
export { Base }

用法:import { Base } from 'utils/base.js';

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章