微信小程序请求接口的封装和怎么调用

1. 在app.js文件中封装请求的接口

看下方代码:

// 在app.js中:
/**
* @params url: 接口路径
* @params data: 请求参数
* @params success:请求成功的回调
* @params fail:请求失败的回调
* @params opitonnew:扩展参数
*/

App({
	// 公共的接口路径, 这里仅为说明不是真正的接口路径
	severpath: "http://88.110.112.119:8080",
	//请求后台接口数据
	request: function (url, data, success, fail, optionnew) {
		var option = {
			// 拼接成完整的接口地址
			url: this.severpath + url,
			// 请求的参数
			data: data,
			// 请求成功后的回调
			success: success,
			// 请求失败后的回调
			fail: fail
		};
		if (fail == undefined) {
			fail = function () {}
		} else {
			if (typeof (fail) == "object") {
				option = this.mergeParam(option, fail);
				fail = function () {}
			} else {
				if (optionnew != undefined) {
					option = this.mergeParam(option, optionnew);
				}
			}
		}
		wx.request(option)
	}, 
	// 将请求的参数进行合并
	mergeParam: function (option, noption) {
		for (var key in noption) {
			option[key] = noption[key]
		}
		return option;
	}
})

注:有些参数是不必要的,根据个人情况处理吧。

2. 在其他页面中调用:
  • 首先在需要使用接口请求的页面中获取全局对象
// 写在 Page 外面,定义为全局变量
var app = getApp()
  • 然后在Page中请求接口,如:
Page({
	userInfo: function () {
	var params = {
		id: 1,
      	type: 1
	}
	app.request(
	   // 接口路径与上面的 “severpath: "http://88.110.112.119:8080"”,拼接成一个完整的接口路径
      '/company/getCompanyById',
      // 请求的参数
      params,
      // 请求成功后的回调
      (res)=> {
        console.log(res.data)
      },
      // 请求失败后的回调
      (err)=> {
        	console.log(err)
      	})
	}
})
  • 最后:执行方式,看个人情况可以设置成点击事件的方式也可以在页面加载完成后执行。拿后者简单演示,如下:
onLoad: function (options) {
    this.userInfo()
},
注意:
  • App() 必须在 app.js 中注册,且只能有一个。
  • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。
  • 不要在 onLaunch 中调用 getCurrentPages(),因为此时 page 还没有生成。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值