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

封装微信小程序的全局ajax

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

微信小程序中app.js的变量方法是可以通过getApp()暴露在其他页面的

通过getApp()我们可以封装ajax,这样就不用一个页面一个页面的去写request了

也不用一遍又一遍的去写重复的请求url头部

  ajax: {
    get: (url, data, header) => {
      return getApp().ajax.request(url, data, header, \'GET\')
    },
    post: (url, data, header) => {
      return getApp().ajax.request(url, data, header, \'POST\')
    },
    request(url, data, header = {}, method) {
      const vm = this
      wx.showLoading()
      if (wx.getStorageSync(\'userInfo\').accessToken) {
        let token = {
          "access-token": wx.getStorageSync(\'userInfo\').accessToken
        }
        Object.assign(header, token)
      }
      return new Promise((resolve, reject) => {
        wx.request({
          url: \'https://\' + url,
          data,
          header,
          method,
          success(res) {
            wx.hideLoading()
            if (res.statusCode == 200) {
              if (res.data.code == 200) {
                resolve(res.data)
              } else if (res.data.code == 401) {
                wx.showToast({
                  title: res.data.msg || \'请重新登录!\',
                  icon: "none"
                })
                reject(res.data)
                wx.navigateTo({
                  url: `/pages/index/index`
                })
              } else if (res.data.code == 402) {
                reject(res.data)
                wx.navigateTo({
                    url: `/pages/login/login`
                  })
              } else if (res.data.code == 403) {
                wx.showToast({
                  title: res.data.msg || \'没有权限!\',
                  icon: "none"
                })
                reject(res.data)
              } else {
                wx.showToast({
                  title: res.data.msg || \'请求失败!\',
                  icon: "none"
                })
                reject(res.data)
              }
            } else {
              wx.showToast({
                title: res.data.msg || \'请求失败!\',
                icon: "none"
              })
              reject(res)
            }
          },
          fail() {
            reject({
              msg: \'请求失败\',
              url: vm.withBaseURL ? vm.baseURL + url : url,
              method,
              data
            })
          }
        })
      })
    },
}

  在其他页面调用也很简单

    getApp().ajax.get(`/api/?time=${this.data.data}`).then(res => {
     console.log(res)
      })


    getApp().ajax.post(\'/api/\', this.data.data).then(res => {
        console.log(res)
      })

  


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
微信小程序的网络重试机制发布时间:2022-07-18
下一篇:
微信小程序绑定数据发布时间: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