为了账号安全,请及时绑定邮箱和手机立即绑定

【重要更新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

});






正在回答

16 回答

OK,感谢回复,现在OK了

http://img1.sycdn.imooc.com//6088d24500012a1c13220937.jpg

0 回复 有任何疑惑可以回复我~

加了header也保错:Error: socket hang up

http://img1.sycdn.imooc.com//608823ae000182d019200793.jpg

0 回复 有任何疑惑可以回复我~
#1

谢成 提问者

截图中postman使用的不正确,value一列对应的值不要加引号
2021-04-28 回复 有任何疑惑可以回复我~

解决了,原来是我axios没有返回data

1 回复 有任何疑惑可以回复我~

老师,跳转到comment请问返回结果是空的怎么回事

1 回复 有任何疑惑可以回复我~
#1

qq_xianxian_0

怎么解决的
2021-04-29 回复 有任何疑惑可以回复我~

请问老师第4点写在哪里啊


0 回复 有任何疑惑可以回复我~
#1

谢成 提问者

在小程序端,调用云函数的回调函数中为movieList赋值,写在wx.cloud.callFunction()的then中
2021-04-12 回复 有任何疑惑可以回复我~

谢谢老师!!!! ?

1 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消

【重要更新20210316】最新电影API地址~~~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信