- 安卓 Page.onLoad() eventChannel.once 不生效
Wechatlib:2.9.3 父页面: [代码]navigateTo(e) {[代码][代码] [代码][代码]// console.log(e.currentTarget.dataset.url)[代码][代码] [代码][代码]let url = e.currentTarget.dataset.url;[代码][代码] [代码][代码]let files = [代码][代码]this[代码][代码].data.files;[代码] [代码] [代码][代码]if[代码] [代码](utils.notEmpty(url) && files.length > 0) {[代码] [代码] [代码][代码]wx.navigateTo({[代码][代码] [代码][代码]url: url,[代码][代码] [代码][代码]success: [代码][代码]function[代码][代码](res) {[代码][代码] [代码][代码]//触发子页面的一个名为acceptDataFromParentPage事件,并传递数据 files[代码][代码] [代码][代码]//通过eventChannel向被打开页面传送数据[代码][代码] [代码][代码]res.eventChannel.emit([代码][代码]'acceptDataFromParentPage'[代码][代码], files)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码] [代码] [代码][代码]} [代码][代码]else[代码] [代码]{[代码][代码] [代码][代码]utils.showModalNoCancel([代码][代码]'请选择图片'[代码][代码], [代码][代码]'我知道了'[代码][代码]);[代码][代码] [代码][代码]}[代码][代码]},[代码] 子页面: [代码]/**[代码][代码] [代码][代码]* 生命周期函数--监听页面加载[代码][代码] [代码][代码]*/[代码][代码]onLoad: [代码][代码]function[代码][代码](options) {[代码] [代码] [代码][代码]const eventChannel = [代码][代码]this[代码][代码].getOpenerEventChannel()[代码][代码] [代码][代码]// 监听acceptDataFromParentPage事件,获取上一页面通过eventChannel传送到当前页面的数据[代码][代码] [代码][代码]eventChannel.once([代码][代码]'acceptDataFromParentPage'[代码][代码], data => {[代码][代码] [代码][代码]// console.log(data)[代码][代码] [代码][代码]data.forEach(element => {[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]files: [代码][代码]this[代码][代码].data.files.concat({[代码][代码] [代码][代码]imsrc: element[代码][代码] [代码][代码]})[代码][代码] [代码][代码]})[代码][代码] [代码][代码]})[代码][代码] [代码][代码]});[代码][代码]},[代码]
2019-11-22 - cloud.uploadFile ArrayBuffer 报错
- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 - 复现路径 - 提供一个最简复现 Demo //小程序 [代码]async submitImages() {[代码] [代码] [代码][代码]let pageData = [代码][代码]this[代码][代码].data;[代码] [代码] [代码][代码]let fm = wx.getFileSystemManager();[代码] [代码] [代码][代码]await [代码]this[代码][代码].data.cover_url_list[代码].forEach(item => {[代码] [代码] [代码][代码]fm.readFile({[代码][代码] [代码][代码]filePath: item,[代码] [代码] //返回 ArrayBuffer[代码] [代码] [代码][代码]// encoding: "base64",[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]// console.log("imgbase64:"+res.data)[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]// 云函数名称[代码][代码] [代码][代码]name: [代码][代码]'upload_album'[代码][代码],[代码][代码] [代码][代码]// 传给云函数的参数[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]imageArrayBuffer: res.data[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]console.log(res);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: res => {[代码][代码] [代码][代码]console.log(res);[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: res => {[代码][代码] [代码][代码]// console.log('callFunction test result: ', res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]})[代码][代码] [代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]})[代码][代码]},[代码] //云函数 [代码]// 云函数入口函数[代码][代码]exports.main = async(event, context) => {[代码][代码] [代码][代码] [代码][代码]return[代码] [代码]await cloud.uploadFile({[代码][代码] [代码][代码]cloudPath: [代码][代码]'demo.jpg'[代码][代码],[代码][代码] [代码][代码]fileContent: event.imageArrayBuffer.data,[代码][代码] [代码][代码]})[代码][代码]}[代码]
2019-07-18 - wx.cloud.callFunction无法携带ArrayBuffer?
- 当前 Bug 的表现(可附上截图) [图片] [图片] 我将 ArrayBuffer 数组封装到一个对象中提交到 云函数,使用 cloud.uploadFile 上传图片, 通过返回的数据发现,对象请求到 云函数之后,ArrayBuffer 数组为空。 (注意:我使用的是 cloud.uploadFile ,不是 wx.cloud.uploadFile) 想请问一下,是不是 wx.cloud.callFunction无法携带ArrayBuffer? - 预期表现 - 复现路径 - 提供一个最简复现 Demo (最近突然掉了很多头发,各位大神有治疗掉发方法吗?)
2019-07-17