一共有两种方式,一是经过云函数来返回数据,另外一种是直接在本地获取数据,请看以下代码,
本地客户端方式:
// 隔一个小时去获取云id的链接并且赋值给audiosrc,这样页面就能实时更新链接,确保链接的有效性
onLoad:function(options){
wx.cloud.getTempFileURL({
fileList: [{
fileID: 'cloud://eason-63i40.6561-eason-63i40-1303207973/jntm.mp3',//云id
maxAge: 60 * 60, // one hour
}]
}).then(res => {
// console.log(res.fileList)
// console.log(res.fileList[0].tempFileURL)
this.setData({
//audiosrc为页面audio标签绑定的src的值,在onload方法中页面加载完就获取,确保链接有效
audiosrc:res.fileList[0].tempFileURL
})
})
}
云函数方式:
云函数:
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const fileList = [' cloud://eason-63i40.6561-eason-63i40-1303207973/jntm.mp3']//云id
const result = await cloud.getTempFileURL({
fileList: fileList,
})
return result.fileList
}
客户端请求方式:
onLoad:function(options){
// 云函数方式的本地写法
wx.cloud.callFunction({
// 云函数名叫chaxun
name: "chaxun",
}).then(res => {
// 这个时候返回的是result了 凡是在云函数return的 到客户端都等于result
console.log(res.result[0].tempFileURL);
this.setData({
audiosrc:res.result[0].tempFileURL
})
})
}
})