const cloud = require('wx-server-sdk') var superagent = require('superagent') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { return new Promise(function(resolve, reject) { try { superagent.get('https://www.baidu.com/s?tn=80035161_2_dg&wd=superagent'').end(function(req, res) { if (res.status == 200) { return resolve(res); } else { return reject(req) } }) } catch (e) { return reject(e) } }); }
云函数怎样请求外部链接/const cloud = require('wx-server-sdk') var superagent = require('superagent') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { superagent .get('https://www.baidu.com/s?tn=80035161_2_dg&wd=superagent') .end(function(req,res){ console.log('结果'+res) }) console.log('3') } 日志 START RequestId: a5f0f615-c6e2-11e8-9abf-52540064d067 Event RequestId: a5f0f615-c6e2-11e8-9abf-52540064d067 Event:{"userInfo":{"appId":"wx1ff8c5b9ba3bb104","openId":"oWOHt0MMxScoIvxqKe-GcabQ0R3s"}} 2018-10-03T08:02:18.423Z a5f0f615-c6e2-11e8-9abf-52540064d067 { userInfo: { appId: 'wx1ff8c5b9ba3bb104', openId: 'oWOHt0MMxScoIvxqKe-GcabQ0R3s' } } 2018-10-03T08:02:18.424Z a5f0f615-c6e2-11e8-9abf-52540064d067 { callbackWaitsForEmptyEventLoop: [Getter/Setter], done: [Function: done], succeed: [Function: succeed], fail: [Function: fail], memory_limit_in_mb: 256, time_limit_in_ms: 20000, request_id: 'a5f0f615-c6e2-11e8-9abf-52540064d067', environ: 'TENCENTCLOUD_SECRETID=AKIDh8bdibed7kOg2sXlMqSTzaeK6PN7VV2w;TENCENTCLOUD_SECRETKEY=2nHZ3U3JVCYQpp3tYxP3sYdUw33seMiZ;TENCENTCLOUD_SESSIONTOKEN=d7175f626718a6b48d4916c44ef1b1a69f32456d40001' } 2018-10-03T08:02:18.425Z a5f0f615-c6e2-11e8-9abf-52540064d067 3 END RequestId: a5f0f615-c6e2-11e8-9abf-52540064d067 Report RequestId: a5f0f615-c6e2-11e8-9abf-52540064d067 Duration:20.079ms Memory:256MB MaxMemoryUsed:0.871094MB
2018-10-03https://developers.weixin.qq.com/miniprogram/dev/api/open-api/access-token/getAccessToken.html
小程序云开发怎么获取access_token- 需求的场景描述(希望解决的问题) 使用模板消息 - 希望提供的能力 获取access_token,并调用接口下发模板消息
2018-10-03我测试了下 如楼主所说
云开发数据库服务端api不支持update嵌套对象- 当前 Bug 的表现(可附上截图) 数据结构1如下: [代码]日期1:{[代码] [代码] id1:{姓名1:{属性1:属性1的值;属性2 :属性2的值}}[代码][代码] [代码]id2:{姓名2:{属性1:属性1的值;属性2 :属性2的值}} } [代码][代码][代码] [代码] 或者数据结构2如下: 日期1:[[id1,姓名1,性别,时间],[id2,姓名2,性别,时间]] 使用服务端api doc.update或者collection.update写入如上两种结构的数据时,只会写入id1第一个字段的数据。使用command.set或者使用小程序端api则可以正确写入所有数据。但command.set是替换整个字段,不便局部增加数据,小程序端api则会有权限限制,均不能解决问题。 一句话:当数据结构为嵌套对象或数组时,服务端api只能update第一层第一个字段的数据。 典型场景:一个周期性签到应用,老师创建的doc,多名学生需要能分别写入自己的签到数据,而数据是分日期、人员、属性几个层次。 9.23日有人提出类似问题,未见答复。链接在此 因为小程序端api或者管理后台手动添加是可以支持嵌套的,所以问题应该是在服务端api上。且与客户端基础库无关(工具里云函数测试也是一样)。 希望能尽快确认问题并修复,否则就只能放弃云开发,整个应用重构,这个问题也严重制约了云开发的能力。
2018-10-02这么麻烦 直接用小程序云开发 分分钟获取
用code换openid- 当前 Bug 的表现(可附上截图) 小程序发送到服务端code只有一次,服务端去请求微信服务器也只有一次,还是会偶发性出现code被使用的情况。这是什么原因? {"errcode":40163,"errmsg":"code been used, hints: [ req_id: VHfwwa05052279 ]"} - 预期表现 正确获取openid - 复现路径 - 提供一个最简复现 Demo
2018-10-02没办法 用小程序的 web-view 就没有底部的东西
微信公众号网页开发如何去除页面底部的前进后退大白栏,太丑了
2018-10-02exports.main = async(event, context) => {} 的话要加 await
云开发doc.update等操作无效- 当前 Bug 的表现(可附上截图) [代码]if[代码][代码](myInfo.loginstatus){[代码][代码] [代码][代码]returnMessage[[代码][代码]'toastMessage'[代码][代码]] = [代码][代码]'已登录'[代码][代码];[代码][代码] [代码][代码]returnMessage[[代码][代码]'errcode'[代码][代码]] = [代码][代码]'000'[代码][代码];[代码][代码] [代码][代码]userInfoDb.doc(myInfo._id).update({[代码][代码] [代码][代码]data:{[代码][代码] [代码][代码]loginstatus:[代码][代码]false[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码] [代码][代码]}[代码][代码]else[代码][代码]{[代码][代码] [代码][代码]if[代码] [代码]( myInfo.password == event.password) {[代码][代码] [代码][代码]myInfo[[代码][代码]'_openid'[代码][代码]] = event.userInfo.openId;[代码][代码] [代码][代码]myInfo[[代码][代码]'loginstatus'[代码][代码]] = [代码][代码]true[代码][代码] [代码][代码]userInfoDb.doc(myInfo._id).set({[代码][代码] [代码][代码]// data 传入需要局部更新的数据[代码][代码] [代码][代码]data:myInfo[代码][代码] [代码][代码]})[代码][代码] [代码][代码]returnMessage[[代码][代码]'toastMessage'[代码][代码]] = [代码][代码]'登录成功'[代码][代码];[代码][代码] [代码][代码]returnMessage[[代码][代码]'errcode'[代码][代码]] = [代码][代码]'001'[代码][代码];[代码][代码] [代码][代码]}[代码][代码]else[代码][代码]{[代码][代码] [代码][代码]returnMessage[[代码][代码]'toastMessage'[代码][代码]] = [代码][代码]'密码错误'[代码][代码];[代码][代码] [代码][代码]returnMessage[[代码][代码]'errcode'[代码][代码]] = [代码][代码]'002'[代码][代码] [代码][代码]} [代码][代码] [代码][代码]}[代码][图片] 现在是set 和update 都不生效,执行的确是执行成功了,刚开是以为集合记录中没有_openid造成的,但是添加了_openid还是不行 完全蒙圈
2018-10-02pages 里的顺序的
预览页面不能实时跳转展示?[图片] 图1展示的默认的首页,代码编辑器里面也是展示的首页的代码,这个是对的,请看下面的图2,代码编辑器里面明明显示的是page3页面,但是预览区里面还是首页,这个怎么回事?怎样才能跟随编辑器里面实时预览内容??????谢谢大家! [图片]
2018-10-02开发者工具 和真机调试不断的调用 wx.login然后你会发现他们的code不一致 这时候session_key 上一个code获取的session_key 就过期了
session_key 如何模拟过期?- session_key 如何模拟过期?想调试代码。
2018-10-02const re= await db.collection('songs').get(); //数据处理 re.data return {xxxData:re.data}
云函数使用异步返回结果,返回null- 当前 Bug 的表现(可附上截图) [图片] - 预期表现 我需要先从数据库中取出数据,并格式化一下数据,然后返回;期望能够在db的get方法成功回调中处理数据并返回。 - 复现路径 - 提供一个最简复现 Demo const cloud = require('wx-server-sdk'); cloud.init({ env: 'tosay-b9b5c2' }) const db = cloud.database(); // 云函数入口函数 exports.main = async (event, context) => { // 要获取的数据量 // var count = event.count; return new Promise((resolve, reject)=>{ db.collection('songs').get({ success: function (res) { resolve(res); } }) }); }
2018-10-02[代码]exports.main = async(event, context) => {[代码] [代码] [代码][代码]const[代码] [代码]count =await countdb.collection([代码][代码]'join'[代码][代码]).where({[代码] [代码] _openid: openId,[代码] [代码] is_reply: [代码][代码]true[代码][代码],[代码] [代码] is_agree: [代码][代码]true[代码][代码],[代码] [代码] is_opinion: [代码][代码]false[代码] [代码] }).count();[代码] [代码] return[代码] [代码]{total: count.total}[代码][代码]}[代码]
云函数中怎么获取collection.count的结果?现在的代码是这样: db.collection('join').where({ _openid: openId, is_reply: true, is_agree: true, is_opinion: false }).count().then(function(res) { console.log('result') console.log(res.total) }) 但是发现根本不会进入then()内部 正确的写法应该是什么?
2018-10-02