- 真·showModal
小程序自带的showModal并不能阻止线程的执行。例如: wx.showModal({ title: title || "提示", content: text || "", showCancel: showCancel || true, success: res => { //这里的要等到操作以后才执行 } }) //这里的不管有没有弹出,都会执行。 但是很多时候我们不想考虑那么多的回调,调过去调过来的头都大了。所以很想有一个能阻止线程的showModal,于是乎自己弄了一个。代码如下: /** * 阻挡线程的模态窗口,必须用await调用 * @param {String} title 标题 * @param {String} text 文本内容 * @param {Boolean} showCancel 是否显示取消按钮,默认为显示 */ async function showModal function (title, text, showCancel) { return await new Promise(function (resolve, reject) { wx.showModal({ title: title || "提示", content: text || "", showCancel: showCancel || true, success: res => { resolve(res); } }) }) } }); 可以挂接到getApp里面,全局调用。 调用方式: var app = getApp(); // 前面的 let re = await app.showModal("标题","内容",false); // 可以通过读取re的值来判断点的哪个按钮
2022-03-13 - 云函数在包含云数据库的情况下开启本地调试,失败?
云函数在包含云数据库的情况下本能开启本地调试,结果弹出错误对话框,云函数代码和报错如下 报错: [图片] [图片] 云函数代码如下: const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() //充值成功后,更新用户的数据库并返回余额 exports.main = async (event, context) => { db.collection('user').get({ success(res) { if (res.data.length == 0){ console.log("chargeCallback-未注册") }else{ let docID=res.data[0]._id let balance=res.data[0]._balance+event.totalFee db.collection("user").doc(docID).update({ data:{_balance:balance} }).then(res => { console.log("余额更新成功") }).catch(err => { console.log("余额更新失败") console.error(err) }) } } }) }
2022-09-18