小程序接口封装, wx.request

接口封装 wx.request

import urlConfig from './config.js'//引入接口地址,包含测试和正式地址,打包时进行切换

// method 决定是哪一种方式POST,GET.
let Server = (params, method = 'GET')=>{
	let { url, data } = params; //获取传入参数
	let contentType = 'application/x-www-form-urlencoded';//设置请求头
        contentType = params.contentType || contentType;
        wx.showLoading({
            title: '努力加载中..', 
            mask: true
        })
     //promise 函数过长,声明常量替代
    let promiseCopy = new Promise(function(resolve, reject) {
    		//wx.request 微信小程序自带的请求方式,就是对它进行的封装处理
            wx.request({
                url: urlConfig.HOST + url,
                data: data,
                method: method,
                header: { 
                    'content-type': contentType,
                    'Authorization': wx.getStorageSync('token') 
                },
                success(res) {
                    wx.hideLoading()
                    if(res.data.code===401){//登录(token)过期
                        wx.showToast({
                            title: '登录过期,请重新登录',
                            icon:'none',
                            duration: 2000
                        })
                        //登录失效则跳转到登录页//针对需要登录的小程序,则需要进行此次处理
                        wx.navigateTo({
                            url: '/pages/login/index'
                        })
                    }else if(res.data.code===500||res.data.code===503){
                        wx.showToast({
                            title: res.data.message||res.data.msg||'服务异常,请稍后重试',
                            icon:'none',
                            duration: 2000
                        })
                    }else{
                        resolve(res.data)
                    }
                },
                fail(error) {
                    console.error(error)
                    if(error.errMsg === 'request:fail timeout'){
                        error.errMsg = '请求超时,请稍后重试'
                    }
                },
                error(e) {
                	console.log(e,'请求出错,请稍后重试...')
                }
            })
        })
        return promiseCopy
    }
}

export Server
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值