• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序-wx.request的封装实现

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

httpExt.js

const app = getApp()
const util = require('/util.js')

/**
 * wx.request的封装
 * 使用方式: httpExt.get("admin/login", {}).then(res => {}).catch(err => {})
 * @param {*} url 请求地址
 * @param {*} method 请求类型
 * @param {*} data 请求参数
 * @param {*} options 接口配置
 */
const request = (url, method, data, options) => {
  wx.showLoading({
    title: '加载中',
    mask: true
  })
  return new Promise((resolve, reject) => {
    wx.request({
      url: util.getUrl(url),
      method: method || 'GET',
      data: method === 'GET' ? options.data : JSON.stringify(options.data),
      header: {
        'Content-Type': 'application/json; charset=UTF-8',
        // 'token': wx.getStorageSync("SSP_token")
      },
      success(res) {
        if (res.data.success == true) {
          resolve(res)
        } else {
          reject(res)
        }
      },
      fail(error) {
        reject(error)
      },
      complete: info => {
        wx.hideLoading()
      }
    })
  })
}

const get = (url, data = {}, options = {}) => {
  return request(url, 'GET', data, options)
}
const post = (url, data = {}, options = {}) => {
  return request(url, 'POST', data, options)
}
module.exports = {
  get,
  post
}

 

util.js

const hosts = require("/hosts.js")

const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}


const getUrl = (url) => {
  if (url.indexOf('://') == -1) {
    url = hosts.actualHost.mainHostName + url;
  }
  return url
}

module.exports = {
  getUrl,
  formatTime
}

 

hosts.js

// pro 生产环境 sit 测试环境 (上线前需要修改为'pro')
const hostType = 'sit'
const version = '1.0'

const host = {
  /**
   * 主服务域名
   */
  mainHostName: new Map([
    ['pro', 'xxxxx'],
    ['sit', 'xxxxxx']
  ])
}

const actualHost = {
  mainHostName: host.mainHostName.get(hostType)
}

export {
  actualHost,
  hostType,
  version
}

 

使用:

const httpExt = require('../../utils/httpExt.js')

          httpExt.get("xxxx", {}).then(res => {
            // 接口成功操作
          }).catch(err => {
            console.log("error:", err);/*  */
            // 接口失败操作
            wx.showToast({
              title: err.data.msg||"服务异常,请稍后重试!",
              icon: 'error',
              duration: 2000
            })
          });

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
支撑京东小程序的开发框架「Taro」发布时间:2022-07-18
下一篇:
JAVA实现C/S结构小程序发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap