[微信小程序]封装统一promise请求,并判断运行环境搭配不同的host

自己在开发微信小程序时,要根据体验版和正式版填入不同的请求地址host,所以特意写了一个简单的判断方法,并加入到封装好的一个统一http请求中

getApp().globalData 是在app.js里面保存了一个公共对象 globalData ,你登录后获取的token或者cookie等字段都可以保存进去

// 判断当前微信运行环境 develop开发版 trial体验版 release正式版
const env = __wxConfig.envVersion

// 接口的host地址,区分体验版和正式版
const host = env === 'release' ? 'https://aaa.aaa.com' : 'https://bbb.bbb.com'

// 封装请求体,简化了function的写法
const request = {
	// 构造promise的get方法,把后端的请求结果resolve出去
	get(url, data, head) {
		// 如果你的后端接口有统一要求,则把header写在这里
		const header = {
			'content-type': 'application/x-www-form-urlencoded',
			'cookie': getApp().globalData.cookie,
			'token': getApp().globalData.token,
		}
		return new Promise((resolve, reject) => {
			wx.request({
				method: 'get',
				url: host + url,
				data: data,
				header: head ? head : header,
				success: (res) => {
					// 调用接口成功
					resolve(res)
				},
				fail: (err) => {
					// 调用接口失败
					reject(err)
				}
			})
		})
	},
	// 构造promise的post方法,把后端的请求结果resolve出去
	post(url, data, head) {
		const header = {
			'content-type': 'application/x-www-form-urlencoded',
			'cookie': getApp().globalData.cookie,
			'token': getApp().globalData.token,
		}
		return new Promise((resolve, reject) => {
			wx.request({
				method: 'post',
				url: host + url,
				data: data,
				header: head ? head : header,
				success: (res) => {
					// 调用接口成功
					resolve(res)
				},
				fail: (err) => {
					// 调用接口失败
					reject(err)
				}
			})
		})
	},
}

export default request

然后新建一个js文件作为api请求,引入这个公用文件即可

// 引入上边创建的js文件
import http from '../utils/http.js'

// 请求样例
export function getDate(data) {
	const url = 'aaa.htm'
	return http.post(url, data)
}

最后在你的具体业务页面内,引入这个请求

// 引入上边创建的js内的 getDate 方法
import { getDate } from '../api/aaa.js'

//使用getData方法
getData({ yourParams: '' }).then(res => { console.log(res) })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值