封装数据请求
2017-08-21 17:50
204 查看
1: 创建api.js
const api = {
top: 'https://api.douban.com/v2/movie/top250',
detail: 'https://api.douban.com/v2/movie/subject/',
hot: 'https://api.douban.com/v2/movie/in_theaters',
search: 'https://api.douban.com/v2/movie/search'
}
module.exports = api;
2: 在app.js中创建封装请求数据的方法
const conf = {
// 全局数据对象与方法(整个应用程序共享)
globalData: {
hasLogin: false,
},
fetch(url,data, callback) {
wx.request({
url,
data: data,
header: {
'Content-Type': 'application/json'
},
success(res) {
callback(null, res.data);
},
fail(e) {
callback(e);
}
})
},
// 程序启动时触发一次
onLaunch() {
console.log('App Launch');
},
// 当程序进入前台状态时触发
onShow() {
console.log('App Show');
},
// 当程序进入后台状态时触发
onHide() {
console.log('App Hide');
}
};
// App() 函数创建应用程序对象
App(conf);
3: 在子页面中调用封装的方法请求数据
import API from "../../api/api.js";
const app = getApp();
const conf = {
data:{
title:'正在拼命加载中...',
movies:[],
loadding:true
},
onLoad (){
app.fetch(API.hot,{},(err,data) => {
this.setData({
title:data.title,
movies: data.subjects,
loading: false
})
})
},
onReady(){
wx.setNavigationBarTitle({
title: '热映',
});
}
};
Page(conf);
4: 带参数请求数据
//上拉加载更多数据
downLoad:function(e) {
var self = this,
nextPage = self.data.nextPage,
category = self.data.category,
tabIndex = self.data.tabIndex,
tipShow = self.data.tipShow,
pageIndex = Number(self.data.pageIndex),
data = {
nextPage : nextPage,
ti : tabIndex,
ft : category,
page : pageIndex
};
if(!tipShow) { //判断是否有更多数据
app.requestData(API.listPage,data,(err, data) => {
if(data != null) {
var resData = data.lst,
nextPage = JSON.stringify(data.nextPage);
self.setData({
pageIndex : pageIndex + 1,
nextPage : nextPage,
list : self.data.list.concat(self.dataRead(resData))
});
} else {
self.setData({
tipShow : true
});
}
});
}
},
const api = {
top: 'https://api.douban.com/v2/movie/top250',
detail: 'https://api.douban.com/v2/movie/subject/',
hot: 'https://api.douban.com/v2/movie/in_theaters',
search: 'https://api.douban.com/v2/movie/search'
}
module.exports = api;
2: 在app.js中创建封装请求数据的方法
const conf = {
// 全局数据对象与方法(整个应用程序共享)
globalData: {
hasLogin: false,
},
fetch(url,data, callback) {
wx.request({
url,
data: data,
header: {
'Content-Type': 'application/json'
},
success(res) {
callback(null, res.data);
},
fail(e) {
callback(e);
}
})
},
// 程序启动时触发一次
onLaunch() {
console.log('App Launch');
},
// 当程序进入前台状态时触发
onShow() {
console.log('App Show');
},
// 当程序进入后台状态时触发
onHide() {
console.log('App Hide');
}
};
// App() 函数创建应用程序对象
App(conf);
3: 在子页面中调用封装的方法请求数据
import API from "../../api/api.js";
const app = getApp();
const conf = {
data:{
title:'正在拼命加载中...',
movies:[],
loadding:true
},
onLoad (){
app.fetch(API.hot,{},(err,data) => {
this.setData({
title:data.title,
movies: data.subjects,
loading: false
})
})
},
onReady(){
wx.setNavigationBarTitle({
title: '热映',
});
}
};
Page(conf);
4: 带参数请求数据
//上拉加载更多数据
downLoad:function(e) {
var self = this,
nextPage = self.data.nextPage,
category = self.data.category,
tabIndex = self.data.tabIndex,
tipShow = self.data.tipShow,
pageIndex = Number(self.data.pageIndex),
data = {
nextPage : nextPage,
ti : tabIndex,
ft : category,
page : pageIndex
};
if(!tipShow) { //判断是否有更多数据
app.requestData(API.listPage,data,(err, data) => {
if(data != null) {
var resData = data.lst,
nextPage = JSON.stringify(data.nextPage);
self.setData({
pageIndex : pageIndex + 1,
nextPage : nextPage,
list : self.data.list.concat(self.dataRead(resData))
});
} else {
self.setData({
tipShow : true
});
}
});
}
},
相关文章推荐
- 同步异步网络请求封装以及数据JSON解析
- AFNetWorking封装请求数据
- AsyncHttpClient的数据请求使用的封装
- 微信企业号请求数据基类封装:
- RxJava结合Retrofit使用 自定义封装类结合泛型 请求网络数据+Fresco+RecyclerView+MVP分层
- 封装工具类,判断是否连接网络,请求数据
- OkHttp网络请求数据的封装
- Android Volley的请求封装,实现图片内存缓存(防止OOM),数据磁盘缓存,及清除磁盘缓存
- iOS---对AFNetworking进行二次封装,使用单例单独处理网络请求数据
- HttpClient请求数据的封装
- 微信小程序教学第二章(含视频):小程序中级实战教程之预备篇 - 封装网络请求及 mock 数据
- 封装好的OKHttp(泛型)用RecyclerView展示请求的数据(全)
- Struts2第四篇【请求数据自动封装、Action得到域对象】
- iOS之Https自签名证书认证及数据请求的封装原理
- 老赖 封装的一个 数据 请求函数 HTTPENGINE
- Swift请求数据封装
- 使用commons-beanutils封装请求中的数据与数据类型的转换,web中使用md5和BASE64Encoder加密
- 封装jquery 请求数据,后台将数据转为json 传到前台方法。
- Android-Volley网络通信框架(二次封装数据请求和图片请求(包含处理请求队列和图片缓存))
- 3、struts2 默认配置、数据处理的集中方式、请求数据封装、日期转换器