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

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

20210823 返回值乱码问题

云函数中请求的headers参数中不要写这句:

'Accept-Encoding': 'gzip,compress,br,deflate',


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

船长DD

去掉了这句还是乱码?
2021-11-19 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//612f3dee0001bfce10370824.jpg


老师 返回结果result 数据咋不对呢~~

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

谢成 提问者

截图中的返回值是云函数创建时候默认的返回值。 云函数需要上传并部署才能起作用。
2021-09-03 回复 有任何疑惑可以回复我~
#2

慕粉0937189809 回复 谢成 提问者

谢谢解决了~
2021-09-05 回复 有任何疑惑可以回复我~

老师,这个链接是海报地址? http://img1.sycdn.imooc.com//612effb50001ee8a12690506.jpg

cover.url

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

谢成 提问者

是的。 可以复制到浏览器地址栏能看到图片。
2021-09-01 回复 有任何疑惑可以回复我~

老师,返回到结果 没找到 海报地址呢~~ 

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

http://img1.sycdn.imooc.com//611614010001e8bf06610338.jpg

这个detail一直为null,刚刚就还可以,现在就不行了

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

axios 返回的数据乱码,本地调试的Preview显示正常,但是console.log(data)是乱码,怎么处理

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

Jone_gao

'Accept-Encoding': 'gzip,compress,br,deflate', 把br删掉就可以了
2021-08-05 回复 有任何疑惑可以回复我~
#2

qq_另外好_0 回复 Jone_gao

还是不行呀
2021-08-05 回复 有任何疑惑可以回复我~
#3

qq_慕村7519977 回复 qq_另外好_0

同样的,乱码怎么解决?
2021-08-11 回复 有任何疑惑可以回复我~
#4

慕后端0418449

同乱码,求解决方法
2021-08-20 回复 有任何疑惑可以回复我~
查看1条回复

comment页请求的result是空的

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

谢成 提问者

最新接口请查看课程公告。云函数修改之后,需要上传,才可以生效。
2021-06-08 回复 有任何疑惑可以回复我~
#2

慕斯7192740 回复 谢成 提问者

老师函数一致,也上传了,但还是为空
2021-06-09 回复 有任何疑惑可以回复我~
#3

慕斯7192740 回复 谢成 提问者

哈哈哈,我知道了movieid竟然多了个单引号。。。。。。。。
2021-06-09 回复 有任何疑惑可以回复我~
#4

谢成 提问者 回复 慕斯7192740

成功了就好~
2021-06-09 回复 有任何疑惑可以回复我~
查看1条回复

老师我使用npm install axios 安装指令之后默认放在了node_modules文件夹下面了,上一秒还可以上传别的云函数,axios就不行了,请老师指点迷津。。。。。

http://img1.sycdn.imooc.com//60a520fe0001a12c04650398.jpg

http://img1.sycdn.imooc.com//60a520ff0001ecb002650543.jpg

http://img1.sycdn.imooc.com//60a5212d0001746b14830445.jpg


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

慕慕爱学习呀

解决了很nice
2021-05-21 回复 有任何疑惑可以回复我~
#2

谢成 提问者

安装的路径有问题,需要进入到云函数里面进行安装。
2021-05-21 回复 有任何疑惑可以回复我~
#3

weixin_慕圣5268308 回复 谢成 提问者

老师,在当前云函数下输入npm install axios 后报错cannot find module "axios"是什么原因呢
2021-07-14 回复 有任何疑惑可以回复我~
#4

谢成 提问者 回复 谢成 提问者

const axios = require('axios')
2021-07-14 回复 有任何疑惑可以回复我~
查看1条回复

http://img1.sycdn.imooc.com//608b83ca0001975607430224.jpghttp://img1.sycdn.imooc.com//608b83f10001adf310790570.jpg返回的result是空的

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

谢成 提问者

请仔细检查下云函数的代码是否有问题,可以对照课程主页右边的课程源码。修改完云函数记得要上传才能生效。
2021-05-01 回复 有任何疑惑可以回复我~

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

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

谢成 提问者

1、请检查movieid是否正确 2、请检查接口调用方式是否更改为最新的 3、请检查云函数是否上传成功了
2021-04-30 回复 有任何疑惑可以回复我~
#2

qq_xianxian_0 回复 谢成 提问者

movieid是正确的 调用的方式也是上面最新的 云函数也上传成功了的 返回的result还是空的
2021-04-30 回复 有任何疑惑可以回复我~
#3

慕斯7192740

大佬,我也遇到这种情况了,你解决了吗
2021-06-08 回复 有任何疑惑可以回复我~
首页上一页12下一页尾页

举报

0/150
提交
取消

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

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