记一次 微信小程序封装请求方法

//调用
const res = await requestMmsq("app/*****", params);
//或者
request("app/*****").then(
            (res) => {
                const {
                    baby,
                    fetus,
                } = res;
                this.setData({
                    baby,
                    fetus,
                });
            },
            (err) => {
                console.log(err);
                this.setData({
                    errorType: err.message,
                    loadingStatus: "pause",
                });
            }
        );
// 封装 wx.request 获取数据
const request = (path, params, method = 'GET') => {
	const baseURL = 'https://api.*****.com/';
	const userInfo = getUserInfo() || {};
	const userId = userInfo.id || 0;
	const token = userInfo.token || '';
	const header = {};
	const data = Object.assign({
			user_id: userId,
			limit: 10,
			plat: 31
		},
		params
	);
	if (token) {
		header['Authorization'] = 'bearer ' + token;
	}
	if (method === 'POST') {
		header['content-type'] = 'application/x-www-form-urlencoded';
	}
	return new Promise((resolve, reject) => {
		wx.getNetworkType({
			success: function(res) {
				if (res.networkType === 'none') {
					reject(new Error('NETWORKERR'));
				} else {
					wx.request({
						url: path.includes('https://') ? path : baseURL + path,
						data,
						method,
						header,
						success: (res) => {
							let {
								data,
								status
							} = res.data;
							if (status === 'success') {
								if (data.items && data.items.length === 0 && data
									.hasMore === false) {
									reject(new Error('NODATA'));
								} else {
									resolve(data);
								}
							} else {
								if (params.getErrorData) {
									reject(res);
								} else {
									reject(new Error('SERVERERR'));
								}
							}
						},
						fail: (res) => {
							reject(new Error('SERVERERR'));
						}
					});
				}
			}
		});
	});
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值