我的也出现这种情况 https://v.qq.com/x/page/m3525pj27w8.html?sf=uri
最近部分安卓机型wx.openDocument打开云存储xlsx文件显示空白,请问官方大大为什么?最近客户反馈部分安卓机型用着用着,Excel格式的文档导出预览出现空白现象,无法恢复。之前一直是好好的... 主要出现的机型有:Vivo Y53s,华为P40Pro,Redmi K50 这些机型,其他机型暂时未反馈空白现象,亲,是微信升级导致的吗? [图片] 点击右上角转发后打开调用微信自身预览依然空白,但是用QQ浏览器/WPS等软件打开是有数据的。 以下是部分代码: //下载文件 wx.cloud.downloadFile({ fileID: fileID }).then(res => { const fs = wx.getFileSystemManager() const filePath = wx.env.USER_DATA_PATH + "/" + fname fs.saveFile({ //下载成功后保存到本地 tempFilePath: res.tempFilePath, filePath: filePath, success(res) { if (res.errMsg == 'saveFile:ok') { wx.hideLoading() wx.openDocument({ filePath: res.savedFilePath, fileType: 'xlsx', showMenu: true }) } }, fail() { wx.hideLoading() }
2023-07-29https://v.qq.com/x/page/m3525pj27w8.html?sf=uri
pc端微信如何选择文件上传?wx.chooseMessageFile这个api不支持pc端,请问怎么获取本地文件然后上传
2023-07-29const { _id, sub_stock_num } = event try { //获取微信调用上下文 const wxContext = cloud.getWXContext() const openid = wxContext.OPENID const db = cloud.database({ throwOnNotFound: false, }) const _ = db.command const transaction = await db.startTransaction() const user_transaction = transaction.collection('2023user_skus') // 1. 获取用户信息 const user = await user_transaction.doc(_id).get() // 2. 获取商品库存信息 const { stocks } = user.data const markMutations = (stocks, sub_stock_num) => { let up_obj = {} for (let i = 0; i < sub_stock_num.length; i++) { // 3. 查找当前 out_sku_id 的对应库存 在stocks数组中的下标 let index = stocks.findIndex(e => e.out_sku_id == sub_stock_num[i]['out_sku_id']) if (index != -1) { // 4. 拼接更新的内容 up_obj[`stocks.${index}.stock_num`] = _.inc(-sub_stock_num[i]['sub_stock_num']) } } console.log(up_obj); return up_obj } // 5. 更新数据 const updates = await user_transaction.doc(_id).update({ data: markMutations(stocks, sub_stock_num) }) await transaction.commit() return { success: true, data: updates } } catch (e) { console.log(e); //回滚三次 抛出错误 返回 success: false 和 错误信息 前端判断 res.result.success return { success: false, error: 1, errmsg: e } } //这样也可以
事务锁 动态执行数据库更新操作 有什么好的办法吗?const { sub_stock_num } = event const _id = '文档ID' try { //获取微信调用上下文 const wxContext = cloud.getWXContext() const openid = wxContext.OPENID const db = cloud.database({ throwOnNotFound: false, }) const _ = db.command const transaction = await db.startTransaction() const user_transaction = transaction.collection('2023user_skus') // 1. 获取用户信息 const user = await user_transaction.doc(_id).get() // 2. 获取商品库存信息 const { stocks } = user.data const markMutations = (stocks, sub_stock_num) => { let str = '{' for (let i = 0; i < sub_stock_num.length; i++) { // 3. 查找当前 out_sku_id 的对应库存 在stocks数组中的下标 let index = stocks.findIndex(e => e.out_sku_id == sub_stock_num[i]['out_sku_id']) if (index != -1) { // 4. 拼接字符串 str = str.concat(`"stocks.${index}.stock_num":_.inc(-${sub_stock_num[i]['sub_stock_num']}),`) } } return str.substring(0, str.length - 1) + '}' } const fs = markMutations(stocks, sub_stock_num) console.log(fs); // 5. 更新数据 const updates = await user_transaction.doc(_id).update({ data: eval("(" + fs + ")") }) await transaction.commit() return { success: true, data: updates } } catch (e) { console.log(e); //回滚三次 抛出错误 返回 success: false 和 错误信息 前端判断 res.result.success return { success: false, error: 1, errmsg: e } }
2023-03-08