9-微信小程序的网站的接口调用(直接调用)
微信小程序除了在第三方调用接口,还可以直接从网站调用接口,但是每个网站都有保护措施,所以要寻找那些没有防护的,可以来直接调用的网站。
案例:豆瓣电影的接口调用
1.百度豆瓣电源,找寻需要调用的页面
2.右键检查,或F12
3.回车,再次发起请求,查看网站接口
微信小程序作为新兴的技术,可能无法从网站直接调用,这样就需要后端开发语言来进行获取,例如:java、php、go等。
代码示例:
wxml:
<view class="warp">
<view class="content" wx:for="{{movieList}}" wx:key="id">
<view class="img">
<image src="{{item.cover_url}}" mode=""></image>
</view>
<view class="text">
<view>{{item.title}}</view>
<view>{{item.actors[0]}}/{{item.actors[1]}}</view>
<view>{{item.regions}}</view>
<view>
<view class="p">{{item.vote_count}}</view>{{item.score}}
</view>
</view>
</view>
</view>
wxss:
.content{
height: 300rpx;
display: flex;
margin-top: 40rpx;
}
.content .img{
width: 30%;
height: 300rpx;
}
.content .img image{
width: 100%;
height: 100%;
}
.content .text{
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
padding-left: 100rpx;
font-size: 28rpx;
}
.text view:nth-child(1){
color: blueviolet;
font-weight: bold;
}
wx.js:
Page({
/**
* 页面的初始数据
*/
data: {
movieList:[],
start:0,
limit:20,
flag:false,
newLength:0
},
getMovie(){
this.setData({
flag:true
})
wx.showLoading({
title: '加载中',
})
wx.request({
url: 'https://www.itnan.cc//api/xcxapi/getDouBanMovie.php',
data:{
start:this.data.start,
limit:this.data.limit
},
success:(res)=>{
console.log(res);
this.setData({
movieList:[...this.data.movieList,...res.data],
newLength:res.data.length
})
},
complete:()=>{
wx.hideLoading()
this.setData({
flag:false
})
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.getMovie();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
this.getMovie()
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
if(!this.data.newLength){
wx.showToast({
title: '没有更多数据了',
icon:'error'
})
return
}
this.setData({
start:this.data.start + 20
}),
this.getMovie()
},
})
总结:
1.创建请求接口的函数,向网站发起请求
2.进行了分页处理,及或许新的数据后保留原始数据
3.遍历渲染里面的数据
4.wxml和wxss呈现到页面
结果演示: