评论

仿axios封装微信( wx.request)请求

仿axios封装微信( wx.request)请求

直接贴代码

export const url = '接口请求地址'

export function axiosAPI (url, data, type) {
  return new Promise(function(resolve, reject) {
    wx.request({
      url: url,
      data: data,
      header: {
        token: wx.getStorageSync('token')
      },
      method: type,
      success: function (res) {
        if (res.data.errorCode === 10004) {
        // 根据约定处理(过期。。。)处理
        } else {
          resolve(res.data)
        }
      },
      fail: function () {
        reject('网络错误')
        wx.showToast({
          icon: 'none',
          title: '网络错误'
        })
      }
    })
  })
}


// 登陆
export const wechatAuth = (data) => {
// 路径,参数,请求方式
  return axiosAPI(`${url}wechat/auth`, data, 'POST')
}


使用

// 引入接口
import { wechatAuth } from '../utils/api'
// 使用
let getData = {}
wechatAuth(getData).then(res => {
	if (res.errorCode === 0) {
	} else {}
})
点赞 0
收藏
评论

2 个评论

  • Starry
    Starry
    2020-05-21

    可以再添加一个重复请求的取消操作哟

    2020-05-21
    赞同
    回复
  • xy
    xy
    2020-05-20

    和我目前封装的类似,有几点还是有区别的

    1.methods 有个默认值(post,get都可以,根据业务调整)

    2.data 可以加其他自定义全局请求的参数

    3.可以自定义header中的content-type 如果遇到 Form data这种类似格式,还要做处理

    4.action 和 api 分离,api单独抽离出一个js进行管理

    2020-05-20
    赞同
    回复 7
    • 金柯
      金柯
      2020-05-20
      请问action 和 api 分离是什么意思?
      2020-05-20
      回复
    • xy
      xy
      2020-05-20回复金柯
      api单独抽出来进行维护
      2020-05-20
      1
      回复
    • 王钜慧
      王钜慧
      2020-05-21回复金柯
      新写一个js,导入这个方法,我在分包里用
      2020-05-21
      回复
    • d
      d
      2020-07-14回复王钜慧
      请问这样封装之后 在onLoad函数里怎么去运用呢 怎么调用
      2020-07-14
      回复
    • 王钜慧
      王钜慧
      2020-07-14回复d
      2020-07-14
      回复
    查看更多(2)
登录 后发表内容