如何将小程序wx.request封装成接口管理文件并实现长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计810个文字,预计阅读时间需要4分钟。
开发小程序,封装一个简单的易用wx.request请求,是很有必要的,可以节省大量的维护成本!不多说,直接上代码。
1. 创建http.js文件,封装wx.request:javascriptfunction request({ url, method='GET', data={}, header={} }) { return new Promise((resolve, reject)=> { wx.request({ url, method, data, header, success: (res)=> { if (res.statusCode >=200 && res.statusCode { reject(err); } }); });}
2. 创建api.js文件,统一管理接口:javascriptimport request from './http.js';
const API={ getUserInfo: (params)=> request({ url: 'https://example.com/api/user/info', method: 'GET', data: params }), // 添加更多接口...};
export default API;
使用:javascriptimport API from './api.js';
API.getUserInfo({ userId: 123 }).then(data=> { console.log(data);}).catch(err=> { console.error(err);});
开发小程序,封装有一个简单易用wx.request请求还是很必要的,可以省去大量的维护成本!闲话不多说,直接撸代码。
流程
- 创建www.apiopen.top'+url, // 就是拼接上前缀,此接口域名是开放接口,可访问
method:method=='post'?'post':'get', // 判断请求类型,除了值等于'post'外,其余值均视作get
data,
header: {
'content-type': 'application/json'
},
success(res) {
params.success&¶ms.success(res.data)
},
fail(err) {
params.fail&¶ms.fail(err)
}
})
}
}
代码很简单,需要说的是在逻辑代码中只需要传递params,而url和method在接口文件中传递,方便统一管理
创建api.js文件,统一管理所有接口
在utils下创建api.js文件,作为接口管理文件,代码如下:
// 在这里面定义所有接口,一个文件管理所有接口,易于维护 import {http} from './http'; // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项 function femaleNameApi(params){ // 请求随机古诗词接口 http('/femaleNameApi','get',params) // 接口请求的路由地址以及请求方法在此处传递 } // 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用 function novelApi(params){ // 小说推荐接口 http('/novelApi','get',params) } export default { // 暴露接口 femaleNameApi, novelApi }
用api.js文件统一管理的好处就是,当接口更新后修改很方便,不需要看逻辑代码,也不用关心有几处调用了此接口,直接在app.js中修改响应就行了,接口统一管理是非常有必要的
在index.js中调用接口
调用方式,代码如下
import http from '../utils/api' // 引入api接口管理文件 Page({ data: { femaleList:[] }, onLoad: function () { http.femaleNameApi({ // 调用接口,传入参数 data:{ page:1 }, success:res=>{ console.log('接口请求成功',res) this.setData({ femaleList:res.data }) }, fail:err=>{ console.log(err) } }) } })
参数传入说明:
- 为了和微信的API接口调用方式看起来一致,故采用了微信API的这种调用方式
- 传递一个对象,对象有三组键值对,data:表示要发送的数据,success:成功回调,fail:失败回调
- 三个键值对均可传可不传,其余值会忽略,基本和微信API调用方式一致,减少了强迫症的烦恼
小程序代码片段放在github上了,欢迎issue
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计810个文字,预计阅读时间需要4分钟。
开发小程序,封装一个简单的易用wx.request请求,是很有必要的,可以节省大量的维护成本!不多说,直接上代码。
1. 创建http.js文件,封装wx.request:javascriptfunction request({ url, method='GET', data={}, header={} }) { return new Promise((resolve, reject)=> { wx.request({ url, method, data, header, success: (res)=> { if (res.statusCode >=200 && res.statusCode { reject(err); } }); });}
2. 创建api.js文件,统一管理接口:javascriptimport request from './http.js';
const API={ getUserInfo: (params)=> request({ url: 'https://example.com/api/user/info', method: 'GET', data: params }), // 添加更多接口...};
export default API;
使用:javascriptimport API from './api.js';
API.getUserInfo({ userId: 123 }).then(data=> { console.log(data);}).catch(err=> { console.error(err);});
开发小程序,封装有一个简单易用wx.request请求还是很必要的,可以省去大量的维护成本!闲话不多说,直接撸代码。
流程
- 创建www.apiopen.top'+url, // 就是拼接上前缀,此接口域名是开放接口,可访问
method:method=='post'?'post':'get', // 判断请求类型,除了值等于'post'外,其余值均视作get
data,
header: {
'content-type': 'application/json'
},
success(res) {
params.success&¶ms.success(res.data)
},
fail(err) {
params.fail&¶ms.fail(err)
}
})
}
}
代码很简单,需要说的是在逻辑代码中只需要传递params,而url和method在接口文件中传递,方便统一管理
创建api.js文件,统一管理所有接口
在utils下创建api.js文件,作为接口管理文件,代码如下:
// 在这里面定义所有接口,一个文件管理所有接口,易于维护 import {http} from './http'; // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项 function femaleNameApi(params){ // 请求随机古诗词接口 http('/femaleNameApi','get',params) // 接口请求的路由地址以及请求方法在此处传递 } // 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用 function novelApi(params){ // 小说推荐接口 http('/novelApi','get',params) } export default { // 暴露接口 femaleNameApi, novelApi }
用api.js文件统一管理的好处就是,当接口更新后修改很方便,不需要看逻辑代码,也不用关心有几处调用了此接口,直接在app.js中修改响应就行了,接口统一管理是非常有必要的
在index.js中调用接口
调用方式,代码如下
import http from '../utils/api' // 引入api接口管理文件 Page({ data: { femaleList:[] }, onLoad: function () { http.femaleNameApi({ // 调用接口,传入参数 data:{ page:1 }, success:res=>{ console.log('接口请求成功',res) this.setData({ femaleList:res.data }) }, fail:err=>{ console.log(err) } }) } })
参数传入说明:
- 为了和微信的API接口调用方式看起来一致,故采用了微信API的这种调用方式
- 传递一个对象,对象有三组键值对,data:表示要发送的数据,success:成功回调,fail:失败回调
- 三个键值对均可传可不传,其余值会忽略,基本和微信API调用方式一致,减少了强迫症的烦恼
小程序代码片段放在github上了,欢迎issue
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

