【重要更新20210316】最新电影API地址~~~
20210316本次更新包括两部分:
1、更新电影API接口地址:为适配最新电影接口调用方式,电影接口传递参数有改变
2、更新云函数发送请求的调用方式:原有request-promise已不推荐使用,更改为axios
20210823 返回值乱码问题
云函数中请求的headers参数中不要写这句:
'Accept-Encoding': 'gzip,compress,br,deflate',
最新课程代码请参考本门课程主页右侧的资料下载中的源码。
电影列表功能:
1、云函数中安装axios,在当前云函数目录下打开终端,输入安装命令:
npm install axios
2、云函数中引入axios,并在调用电影列表API时,增加headers对应参数(该参数一定要加,否则API会调用失败)
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const axios = require('axios')
// 云函数入口函数
exports.main = async (event, context) => {
try {
const {
data
} = await axios({
url: `https://frodo.douban.com/api/v2/subject_collection/movie_showing/items?start=${event.start}&count=${event.count}&apiKey=054022eaeae0b00e0fc068c0c0a2102a`,
method: 'get',
headers: {
"Host": "frodo.douban.com",
"Connection": "keep-alive",
'content-type': 'application/json',
// 'Accept-Encoding': 'gzip,compress,br,deflate',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.2(0x18000236) NetType/WIFI Language/zh_CN',
'Referer': 'https://servicewechat.com/wx2f9b06c1de1ccfca/81/page-frame.html'
}
})
return data
} catch (e) {
console.log(e)
}
}
3、上传云函数,在该云函数上鼠标右键,选择“上传并部署:云端安装依赖”
4、在小程序端,调用云函数的回调函数中为movieList赋值:
this.setData({
movieList: this.data.movieList.concat(res.result.subject_collection_items)
});
电影详情功能:
1、云函数中安装axios,在当前云函数目录下打开终端,输入安装命令:
npm install axios
2、云函数中引入axios,并在调用电影列表API时,增加headers对应参数(该参数一定要加,否则API会调用失败)
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const axios = require('axios')
// 云函数入口函数
exports.main = async (event, context) => {
try {
const {
data
} = await axios({
url: `https://frodo.douban.com/api/v2/movie/${event.movieid}?apiKey=054022eaeae0b00e0fc068c0c0a2102a`,
method: 'get',
headers: {
"Host": "frodo.douban.com",
"Connection": "keep-alive",
'content-type': 'application/json',
// 'Accept-Encoding': 'gzip,compress,br,deflate',
'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.2(0x18000236) NetType/WIFI Language/zh_CN',
'Referer': 'https://servicewechat.com/wx2f9b06c1de1ccfca/81/page-frame.html'
}
})
return data
} catch (e) {
console.log(e)
}
}
3、上传云函数,在该云函数上鼠标右键,选择“上传并部署:云端安装依赖”
4、在小程序端,调用云函数的回调函数中为detail赋值:
this.setData({
detail: res.result
});