wx.request之微信小程序数据请求封装

小程序数据请求封装

微信小程序的数据请求封装,利于模块化开发和维护。

//接口请求封装
 requestUrl:function ( 
		url,
		params,
		method = "post"
	) {
		wx.showLoading({
			title: '加载中',
		});
		let server = 'https://xxx.com/xxxx/'; //正式域名
		let sessionId = wx.getStorageSync("token"),
			that = this;
		if (sessionId != "" && sessionId != null) {
			var header = {
				'content-type': 'application/x-www-form-urlencoded',
				'token': sessionId
			}
		} else {
			var header = {
				'content-type': 'application/x-www-form-urlencoded'
			}
		}
		return new Promise(function(resolve, reject) {
				wx.request({
					url: server + url,
					method: method,
					data: params,
					header: header,
					success: (res) => {
						wx.hideLoading();
						if (sessionId == "" || sessionId == null) {
							wx.setStorageSync('token',res.data.token) //  如果本地没有就说明第一次请求 把返回的 sessionId 存入本地
						}
            // console.log(res.data.code)
            if (res.data.code == '-4001') {
                wx.reLaunch({
                  url: '/pages/login/login',
                })
            }
						if (res.data.code == '0' || res['statusCode'] !== 200) {
							wx.showToast({
								title: res.data.msg || '请求出错,稍后重试',
								icon: 'none',
								duration: 2000,
								mask: true
							});

						}
						resolve(res.data)
					},
					fail: function(res) {
						wx.hideLoading();
						wx.showToast({
							title: res.data.msg || '',
							icon: 'none',
							duration: 2000,
							mask: true
						})
						reject(res.data)
					},
					complete: function() {
						wx.hideLoading()
					}
				})
			})
			.catch((res) => {})
	}
原创文章 38 获赞 35 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_42690547/article/details/91490869