已解决:可以用其他非原生组件代替。 原生组件同层渲染 同层渲染是为了解决原生组件的层级问题,在支持同层渲染后,原生组件与其它组件可以随意叠加,有关层级的限制将不再存在。但需要注意的是,组件内部仍由原生渲染,样式一般还是对原生组件内部无效。当前 video, map, live-player, live-pusher, canvas(2d) 组件已支持同层渲染。
cover-image层级的问题?[图片]如图:左边的按钮和中间的指针需要隐藏到弹窗下,按钮和指针是在地图上的。有什么好的方法吗?
2020-05-09// 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const db = cloud.database() const _ = db.command const $ = db.command.aggregate /** * customers表和record表作连接 * @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html * 需要异步返回数据,否则返回的数据为null */ console.log('调用云函数查询设备信息(ID列表):' + event.deviceId) return new Promise((resolve , reject) => { db.collection('customers') .aggregate() .match({ _id:_.in(event.deviceId) }) .lookup({ from:'record', let:{ customersId:'$_id' }, pipeline:$.pipeline() .match(_.expr($.eq(['$uid','$$customersId']))) .sort({ record_time:-1 }) .limit(12) .done(), as: 'recordList' }) .end() .then(res => { console.log("返回结果列表:") console.log(res.list) // 通过resolve()返回结果 resolve(res) }) .catch(err => reject(err)) }) } //调用端 wx.cloud.callFunction({ name:'getDeviceInfo', data:{ 'deviceId':deviceId }, success:function(res){ wx.showToast({ title: '更新成功', icon:'success', }) console.log(res) }, faile:function(res){ } }) @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html
云函数调用数据库后返回小程序的result为null云函数: [代码]exports.main = async (event, context) => [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]db.collection([代码][代码]'cardList'[代码][代码]).add({[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]name : [代码][代码]'name'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码]() {[代码][代码] [代码][代码]resolve({status : 1})[代码][代码] [代码][代码]}[代码][代码] [代码][代码]});[代码][代码]})[代码]小程序: [代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'addCard'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]name : [代码][代码]'name'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]complete: res => {[代码][代码] [代码][代码]console.log([代码][代码]'callFunction test result: '[代码][代码], res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success : res => {[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码]小程序中打印出来的是: {errMsg: "cloud.callFunction:ok", result: null, requestID: "e474bbe7-10e1-11e9-9884-525400192d0e"} 请问result为何返回的是 {status : 1} 但是官网的例子是可以输出的值 [代码]exports.main = (event, context) => [代码][代码]new[代码] [代码]Promise((resolve, reject) => {[代码][代码] [代码][代码]setTimeout(() => {[代码][代码] [代码][代码]resolve(3333)[代码][代码] [代码][代码]}, 3000)[代码][代码] [代码][代码]})[代码] {errMsg: "cloud.callFunction:ok", result: 3333, requestID: "e474bbe7-10e1-11e9-9884-525400192d0e"}
2020-03-23// 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const db = cloud.database() const _ = db.command const $ = db.command.aggregate /** * customers表和record表作连接 * @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html * 需要异步返回数据,否则返回的数据为null */ console.log('调用云函数查询设备信息(ID列表):' + event.deviceId) return new Promise((resolve , reject) => { db.collection('customers') .aggregate() .match({ _id:_.in(event.deviceId) }) .lookup({ from:'record', let:{ customersId:'$_id' }, pipeline:$.pipeline() .match(_.expr($.eq(['$uid','$$customersId']))) .sort({ record_time:-1 }) .limit(12) .done(), as: 'recordList' }) .end() .then(res => { console.log("返回结果列表:") console.log(res.list) // 通过resolve()返回结果 resolve(res) }) .catch(err => reject(err)) }) } //调用端 wx.cloud.callFunction({ name:'getDeviceInfo', data:{ 'deviceId':deviceId }, success:function(res){ wx.showToast({ title: '更新成功', icon:'success', }) console.log(res) }, faile:function(res){ } }) @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html
云函数如何返回数据库内容呢?更新:后来再去搜索其他的贴子,发现他们并没有使用then语句,试着删掉在执行,已经可以返回了,道行太浅,原因不解: // 云函数入口函数 exports.main = async (event, context) => { return await db.collection('items').get() } ------------------------------------------------------ 社区很多这样的问题,不过因为刚学,很多代码看不懂,有劳啦~ 其中有一位朋友的回答说是可以这样写,但我试过返回的还是null : [图片] 在日志里是可以看到数据的: [图片] 最后要赞一下微信的文档,真的很棒(手动狗头)
2020-03-22// 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const db = cloud.database() const _ = db.command const $ = db.command.aggregate /** * customers表和record表作连接 * @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html * 需要异步返回数据,否则返回的数据为null */ console.log('调用云函数查询设备信息(ID列表):' + event.deviceId) return new Promise((resolve , reject) => { db.collection('customers') .aggregate() .match({ _id:_.in(event.deviceId) }) .lookup({ from:'record', let:{ customersId:'$_id' }, pipeline:$.pipeline() .match(_.expr($.eq(['$uid','$$customersId']))) .sort({ record_time:-1 }) .limit(12) .done(), as: 'recordList' }) .end() .then(res => { console.log("返回结果列表:") console.log(res.list) // 通过resolve()返回结果 resolve(res) }) .catch(err => reject(err)) }) } //调用端 wx.cloud.callFunction({ name:'getDeviceInfo', data:{ 'deviceId':deviceId }, success:function(res){ wx.showToast({ title: '更新成功', icon:'success', }) console.log(res) }, faile:function(res){ } }) @see https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/async.html
请问如何使云函数返回result?云函数:test.js(xxx是我的网站,不方便写出,已经测试过是可用的,可以返回数据,但是写入云函数后结果是null) [代码]// 云函数入口文件[代码][代码]const cloud = require([代码][代码]'wx-server-sdk'[代码][代码])[代码] [代码]cloud.init()[代码] [代码]exports.main = async (event, context) => {[代码][代码] [代码][代码]var[代码] [代码]request = require([代码][代码]'request'[代码][代码]);[代码][代码] [代码][代码]var[代码] [代码]that = [代码][代码]this[代码][代码]request ({[代码][代码] [代码][代码]url: [代码][代码]'xxx'[代码][代码],[代码][代码] [代码][代码]data: [代码][代码]''[代码][代码],[代码][代码] [代码][代码]header: {},[代码][代码] [代码][代码]method: [代码][代码]'GET'[代码][代码],[代码][代码] [代码][代码]dataType: [代码][代码]'json'[代码][代码],[代码][代码] [代码][代码]responseType: [代码][代码]'text'[代码][代码],[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]return[代码] [代码]res.data[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: res => { },[代码][代码] [代码][代码]complete: res => { },[代码][代码] [代码][代码]})[代码][代码]}[代码] index.js [代码]testFunction() {[代码][代码] [代码][代码]wx.cloud.callFunction({[代码][代码] [代码][代码]name: [代码][代码]'test'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: res => {[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]title: [代码][代码]'调用成功'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]console.log(res)[代码][代码] [代码][代码]},[代码][代码] [代码][代码]fail: err => {[代码][代码] [代码][代码]wx.showToast({[代码][代码] [代码][代码]icon: [代码][代码]'none'[代码][代码],[代码][代码] [代码][代码]title: [代码][代码]'调用失败'[代码][代码],[代码][代码] [代码][代码]})[代码][代码] [代码][代码]console.error([代码][代码]'[云函数] A 调用失败:'[代码][代码], err)[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码] [图片] 本人新手,还很多东西不懂 请问各位高人,应该如何修改,才能得到result?
2020-03-22