微信云开发官网
使用的数据如下: data:{ 'thing7':{'value':event.name}, 'thing8':{'value':event.zj_staff}, 'thing6':{'value':event.visit_reason}, 'phrase2':{'value':event.audit}, 'thing3':{'value':event.other}, }, #上面的值,都是字符串,没有数字,报错Do not know how to serialize a BigInt\n at JSON.stringify 用了两个不同模板,其中一个模板ID为,_LXTR-Y-XUDAO1bnz-h4DV5LkDvoNrFk3aqPSEPwai0。 报错相同信息如下: "errorCode":1,"errorMessage":"user code exception caught","stackTrace": "TypeError: Do not know how to serialize a BigInt\n at JSON.stringify (\u003canonymous\u003e)\n at callback (/var/runtime/node12/CallbackContext.js:31:23)\n at /var/runtime/node12/CallbackContext.js:81:16\n at /var/runtime/node12/Runtime.engine.js:237:13\n at processTicksAndRejections (internal/process/task_queues.js:97:5)","statusCode":430}
cloud.cloudPay.unifiedOrder 购买3个产品可以调用此函数,支付成功,4个就调用不了,支付失败
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init({ env: "。。。。。" }) // 云函数入口函数 exports.main = async (event, context) => { return await cloud.database.collection('category').get() } 我加上云环境了,但是上传失败,让我选择一个云环境 Error: 请在编辑器云函数根目录(cloudfunctionRoot)选择一个云环境
云开发过程 上传部署云函数后可以调用,但是过一段时间就报错,重新上传部署只有又可以用,但是过一段时间又报错,一直这样,怎么解决这个问题。 看了云控制台的日志 日志 START REPORT RequestId:0b3b4d06-5b65-4ec7-872c-70be4bdbf70a Duration:26ms Memory:256MB MemUsage:22.652344MB END ERROR RequestId:0b3b4d06-5b65-4ec7-872c-70be4bdbf70a Result:{"errCode":1,"errMsg":"user code exception caught","stackTrace":"Error: collection.get:fail -501001 resource system error. tmp secret key expire\n at Object.toSDKError (/var/user/node_modules/wx-server-sdk/index.js:8089:19)\n at Object.checkError (/var/user/node_modules/wx-server-sdk/index.js:1422:23)\n at Promise (/var/user/node_modules/wx-server-sdk/index.js:1489:33)\n at process._tickCallback (internal/process/next_tick.js:68:7)"}
免费版到期会自动续费吗 [图片]
[图片] 环境id:prod-3gps9zq53b05d7b4;服务名称:zxkxz;版本:zxkxz-004;状态:构建失败
原先我是用.get()方式直接从数据库获取polyline的路线,也成功调用,数据超20条之后,我利用云函数的方式突破20条数据之后出现,[渲染层错误] [图片] TEST就是我的数据库集合,直接从数据库中获取数据是正常的 [图片] 但是这种方法只能获取20条数据,于是我利用了云函数突破的方式 数据是获取成功了,但是也报错了[渲染层错误] Error: 参数错误:LatLng 传入参数 (NaN, NaN) 非合法数字。 [图片] [图片] 这个是云函数的返回结果,我尝试过更换"调试基础库"依然不能解决问题.
[图片] [图片] 发送邮件失败,是自己发给自己的,使用的是163邮箱(stmp端口)云函数日志中也显示获取了邮箱和授权码,网上查到说:要收发人邮箱类型一致,但是我收发人均使用的是自己的163邮箱。求大佬指点。
云存储中的上传图片File.ID返回值不能全部及时记录入数据库 wx.cloud.init( {env:'env-1g'}) var FilePaths = [] let promiseArr = []; for (let i = 0;i< this.data.imgList.length ; i++) { let promise = new Promise((resolve, reject) => { var randstring = Math.floor(Math.random() * 100).toString() + '.png' randstring = randstring wx.cloud.uploadFile({ cloudPath: 'newsImages/' + randstring, filePath: this.data.imgList[i], // 文件路径 success: res => { // get resource ID console.log(res.fileID) FilePaths[i] = res.fileID resolve(res); }, fail: err => { reject(error); } }) }) promiseArr.push(promise) } if (this.data.imgList1.length != 0) { this.setData({ imgList1: this.data.imgList1.concat(FilePaths) }) } else { this.setData({ imgList1: FilePaths }) console.log(this.data.imgList1[1]) } wx.hideLoading() /*云数据库记录*/ const db = wx.cloud.database({ env: 'env-' }) //const diliId = db.collection('enginerInformation') var data1={_id:"1egwgrr 66", otherAccountId: "9xgbb2", pictureFileId1:this.data.imgList1, userId:"2sdskjhjjj就"} db.collection('enginerInformation').add({ data:{ data1 } , success: function(res) { // res 是一个对象,其中有 _id 字段标记刚创建的记录的 id console.log(res) } }) 上传图片file.id不能及时写入数据库
errCode: -504002 functions execute fail | errMsg: TypeError: Cannot read property 'getWXContext' of undefined [图片]
[图片] 多个客户 同时在手机上点击同一按钮 ,这种场景 可以模拟吗?如果可以 我想模拟试一下
https://developers.weixin.qq.com/miniprogram/dev/framework {errMsg: "cloud.callFunction:ok", result: {…}, requestID: "271c172f-64c8-48f2-9be7-2ecd8d83148a"}errMsg: "cloud.callFunction:ok"requestID: "271c172f-64c8-48f2-9be7-2ecd8d83148a"result: {code: "DATABASE_TRANSACTION_FAIL", message: "[ResourceUnavailable.TransactionNotExist] Transact…request, but if the problem persists, contact us.", requestId: "1647234744878_0.30454557461508514_33572427-17f86d787aa_9e"}__proto__: Object代码 exports.enrollCourse = async (event) => { try { await db.runTransaction(async transaction => { let resQuery = {} resQuery[reservations.SCHEMA.userId] = event.userId resQuery[reservations.SCHEMA.slotId] = event.slotId let res = await transaction.collection(reservations.TABLE_NAME).where(resQuery).get() if (res.data.length != 0) { await transaction.rollback({ code: 412, message: "You've already enrolled" }) return } let userQuery = {} userQuery[users.SCHEMA.openId] = event.userId let userEntry = await transaction.collection(users.TABLE_NAME).where(userQuery).get() if (userEntry.data.length == 0) { await transaction.rollback({ code: 403, detail: { table: users.TABLE_NAME } }) return } let user = userEntry.data[0] let futures = [] futures.push(transaction.collection(slots.TABLE_NAME).doc(event.slotId).get()) futures.push(transaction.collection(courses.TABLE_NAME).doc(event.courseId).get()) let result = await Promise.all(futures) let slot = result[0] let course = result[1] if (!course.data) { await transaction.rollback({ code: 403, detail: { table: courses.TABLE_NAME } }) return } if (!slot.data) { await transaction.rollback({ code: 403, detail: { table: slots.TABLE_NAME } }) return } if (slot.data[slots.SCHEMA.enrolledNumber] >= course.data[courses.SCHEMA.capacity]) { await transaction.rollback({ code: 412, message: "Full capacity" }) return } if (slot.data[slots.SCHEMA.limitCourseId] != undefined && slot.data[slots.SCHEMA.limitCourseId] != course.data[courses.SCHEMA.id]) { await transaction.rollback({ code: 412, message: "Course id doesn't match" }) return } console.log(user[users.SCHEMA.balance], course.data[courses.SCHEMA.price]) if (user[users.SCHEMA.balance] < course.data[courses.SCHEMA.price]) { await transaction.rollback({ code: 412, message: "Insufficient Balance" }) return } let writes = [] userUpdate = {} userUpdate[users.SCHEMA.balance] = _.inc(-course.data[courses.SCHEMA.price]) writes.push(transaction.collection(users.TABLE_NAME).where(userQuery).update({ data: userUpdate })) slotUpdate = {} slotUpdate[slots.SCHEMA.enrolledNumber] = _.inc(1) slotUpdate[slots.SCHEMA.limitCourseId] = course.data[courses.SCHEMA.id] writes.push(transaction.collection(slots.TABLE_NAME).doc(event.slotId).update({ data: slotUpdate })) data = {} data[reservations.SCHEMA.userId] = event.userId data[reservations.SCHEMA.slotId] = event.slotId data[reservations.SCHEMA.startTs] = slot.data[slots.SCHEMA.startTs] data[reservations.SCHEMA.courseId] = event.courseId data[reservations.SCHEMA.courseName] = course.data[courses.SCHEMA.name] data[reservations.SCHEMA.price] = course.data[courses.SCHEMA.price] data[reservations.SCHEMA.anonymous] = !event.isPublic writes.push(transaction.collection(reservations.TABLE_NAME).add({ data: data })) try { await Promise.all(writes) } catch (e) { console.error(e) await transaction.rollback({ code: 500, message: e.errMsg, }) } }) } catch (e) { if (e.code) { return e } else { console.error("hehe", e) return { code: 500, message: e.errMsg, } } } return { code: 200, } }
求解答
[图片][图片] 这个appid 已经发布过小程序了,这是后续功能迭代需要用到云开发,但是开通失败。
代码依赖分析👇: [图片] 本地设置👇: [图片] 开发者工具版本:Stabel 1.05.2201204 基础库版本:2.23.0 请问这是什么原因呢?有没有实际影响?
[图片] 上面的代码,云函数本地调式,云开发控制台的运行结果不一样? [图片] 如下图,云开发控制台,查看云函数的运行日志,输出的时间少了8小时。 [图片]
比如我有这样一个集合: {id: '1', price;10}, {id: '2', price: 4}, {id: '3', price: 7}, {id: '4', price: 9} 我想查询根据price降序排序时,id为'3'的记录在第几个,请问应该如何查询?
https://developers.weixin.qq.com/miniprogram/dev/devtools/sandbox.html
[图片]
未处理的承诺拒绝错误: 错误代码: -502005数据库集合不存在|errMsg: [ResourceNotFound] Db 或 Table 不存在。请检查您的请求,但如果问题无法解决,请与我们联系。[图片]
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验