在跟着学习用微信小程序做网易云音乐的时候,需要使用网易云的API,但是从前从来没有做过前后端结合的项目,这里就费了一些时间。把过程记录一下。
我首先百度网易云API,按照文档教程用git bash下载网易云API。下载成功后要输入指令npm install
。但npm这个指令是Node.js的,因此得先下载一个Node.js。按照这篇博客的教程成功安装好Node.js后重新执行npm install
然而还是失败,跳出来很多行ERROR,看了以下报错的提示说是如果其他都没问题的话可以试试以管理员身份启动。然而然而不出所料地又失败了,不过这次错误提示变了,说明上一步应该是正确了。
在网上搜索后知道了新错误是因为代码中使用的某个插件只能用特定版本的npm下载,所以会报错导致npm install失败。这时就需要升级一下npm。
以管理员身份启动power shell,运行npm install -g npm指令后可以添加很多新的包进来。然后再去运行发现终于下载成功了。按照网易云API执行node app.js
成功打开了服务器,但在网址输入localhost:3000
还是进不去,再执行npm start
后就可以正确地运行服务器了。
服务器可以运行之后,就要在index.js中调用wx.request()
发起请求。
onLoad: function() {
wx.request({
url: 'http://localhost:3000',
success: (res) => {
console.log('请求成功:', res);
},
fail: (err) => {
console.log('请求失败:', err);
}
})
}
这里会报错说http://localhost:3000
不是合法域名,需要在小程序注册。
登录小程序后,在服务器域名中可以配置request合法域名。但这里的域名必须是https协议,而本地的网易云API是http,所以就不在这里配置了。
转到小程序开发工具,在详情→本地设置中勾选不校验合法域名。request就成功了。