个人案例
- 小云名片
超简单的多重身份名片生成工具
小云名片扫码体验
- Teem
Teem,真的可以见到陌生人
社交破冰扫码体验
暂未对存量小程序开放,就是暂时不用备案
微信小程序备案事宜?请问我司微信小程序提示“暂未对存量小程序开放”是指不能备案吗?我司小程序刚上线,主要用于销售食品,通过了解,我司需要办理网络经营许可,那么监督需要我们提供微信小程序备案证明,请问一下,需要提供什么资料才能完成微信小程序备案呢?
2023-10-23环境ID: cloud1-3g0985ox05f41f2d 出现时间:2021-11-22 10:21
实时数据推送在 iPhone 真机报错,Android不报错?报错内容: <Error: errCode: -402009 realtime listener websocket connection closed | errMsg: No Realtime Listeners, code 3001, reason The client is terminating the connection because no more realtime listeners exist history states: UNINIT-(loginStart)- ›INIT_LOGGING_IN-(close)->CLOSED> 代码: onLoad: function (options) { this.tick() // return // 查找对方资料 let that = this let _id = options._id let oppositeOpenid = options.oppositeOpenid let oppositeDocid = options.oppositeDocid console.log('oppositeOpenid : ' + oppositeOpenid + ', oppositeDocid : ' + oppositeDocid + ', docId : ' + _id) that.setData({ docId: _id, oppositeOpenid: oppositeOpenid, oppositeDocid: oppositeDocid }) // 监听自身 matchpool 状态 const db = wx.cloud.database() let watcher = db.collection('matchpool').doc(_id).watch({ onChange: function (snapshot) { console.log('snapshot', snapshot) console.log('docs\'s changed events', snapshot.docChanges) console.log('query result snapshot after the event', snapshot.docs) console.log('is init data', snapshot.type === 'init') if (snapshot.docChanges.length > 0) { let docChange = snapshot.docChanges[0] let dataType = docChange.dataType console.log('dataType : ' + dataType) if (dataType == 'remove') { console.log('对方已退出本次匹配') watcher.close() that.setData({ oppositeExit: true }) wx.showModal({ showCancel: true, title: '退出本次会话?', content: '对方已退出,立即退出吗?', success: res => { if (res.confirm) { console.log('用户点击确定') wx.navigateBack({ delta: 1, }) } else if (res.cancel) { console.log('用户点击取消') } } }) } } }, onError: function (err) { console.log(err) } }) that.setData({ watcher: watcher }) db.collection('cuser').where({ _openid: oppositeOpenid }).get().then(res => { console.log('opposite cuser : ', res) if (res.data.length >= 1) { let oppositeCuser = res.data[0] that.setData({ oppositeCuser: oppositeCuser }) } }).catch(err => { console.log('err : ', err) }) },
2021-11-22麻烦官方修改demo代码,否则影响其他开发者。
官方代码有bughttps://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/transaction.html const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database({ // 该参数从 wx-server-sdk 1.7.0 开始支持,默认为 true,指定 false 后可使得 doc.get 在找不到记录时不抛出异常 throwOnNotFound: false, }) const _ = db.command exports.main = async (event) => { try { const result = await db.runTransaction(async transaction => { const aaaRes = await transaction.collection('account').doc('aaa').get() const bbbRes = await transaction.collection('account').doc('bbb').get() if (aaaRes.data && bbbRes.data) { const updateAAARes = await transaction.collection('account').doc('aaa').update({ data: { amount: _.inc(-10) } }) const updateBBBRes = await transaction.collection('account').doc('bbb').update({ data: { amount: _.inc(10) } }) console.log(`transaction succeeded`, result) // 这句会报错 // 会作为 runTransaction resolve 的结果返回 return { aaaAccount: aaaRes.data.amount - 10, } } else { // 会作为 runTransaction reject 的结果出去 await transaction.rollback(-100) } }) return { success: true, aaaAccount: result.aaaAccount, } } catch (e) { console.error(`transaction error`, e) return { success: false, error: e } } } console.log(`transaction succeeded`, result) // 这句会报错
2021-11-16云函数是给两个记录使用事务保证同时更新成功,代码如下: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database({ // 该参数从 wx-server-sdk 1.7.0 开始支持,默认为 true,指定 false 后可使得 doc.get 在找不到记录时不抛出异常 throwOnNotFound: false, }) const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { let docId1 = event.docId1 let openid1 = event.openid1 let docId2 = event.docId2 let openid2 = event.openid2 console.log('docId1 = ' + docId1 + ', openid1 = ' + openid1) console.log('docId2 = ' + docId2 + ', openid2 = ' + openid2) try { const result = await db.runTransaction(async transaction => { const doc1 = await transaction.collection('matchpool').doc(docId1).get() const doc2 = await transaction.collection('matchpool').doc(docId2).get() if (doc1.data && doc2.data) { const updateDoc1Res = await transaction.collection('matchpool').doc(docId1).update({ data: { oppositeDocid: docId2, oppositeOpenid: openid2 } }) const updateDoc2Res = await transaction.collection('matchpool').doc(docId2).update({ data: { oppositeDocid: docId1, oppositeOpenid: openid1 } }) console.log('transaction succeeded', result) // 会作为 runTransaction resolve 的结果返回 return { doc1: doc1, doc2: doc2 } } else { // 会作为 runTransaction reject 的结果出去 await transaction.rollback(-100) } }) return { success: true, doc1: result.doc1, doc2: result.doc2 } } catch (e) { console.error('transaction error', e) return { success: false, error: e } } }
transaction error {}?报错:内容如下,具体什么错看不到。 日志内容 Request ID: 10683c1f-4624-11ec-9cce-064c6fd90d29 执行时间: 308ms内存使用: 25.91 MB 返回结果 {"success":false,"error":{}} 日志 START docId1 = 18ed0968619274b40573b419494a2a8e, openid1 = od1W_5VaHYLBdCUrmsIbwUjSq26E docId2 = 18ed0968619274b10573b3df269fb06c, openid2 = od1W_5Wuu0W12WuS0-0gD4jchsew 当前未指定env,将默认使用第一个创建的环境! 当前未指定env,将默认使用第一个创建的环境! 当前未指定env,将默认使用第一个创建的环境! 当前未指定env,将默认使用第一个创建的环境! 当前未指定env,将默认使用第一个创建的环境! 当前未指定env,将默认使用第一个创建的环境! transaction error {} REPORT RequestId:10683c1f-4624-11ec-9cce-064c6fd90d29 Duration:308ms Memory:256MB MemUsage:25.910156MB END
2021-11-15有官方人员麻烦看一下吗?
res.subscriptionsSetting.mainSwitch 获取订阅设置,报错看不懂?[图片] 相关代码: wx.getSetting({ withSubscriptions: true, success(res) { console.log('获取授权设置 res.authSetting', res.authSetting) console.log('获取授权设置 res.subscriptionsSetting', res.subscriptionsSetting) serverlog.info('获取授权设置 res.authSetting', res.authSetting) serverlog.info('获取授权设置 res.subscriptionsSetting', res.subscriptionsSetting) serverlog.info('获取授权设置 res.subscriptionsSetting.mainSwitch', res.subscriptionsSetting.mainSwitch) // 591行
2021-11-01最后怎么解决的?同样的问题。。
wx.scanCode返回的path中scene的参数,iOS和安卓真机表现不一致?开发者工具和iOS中解析scene参数均正常。安卓的scene扫码的path参数被直接解码了而且经常性变动,导致判断失效。 iOS表现:path: "pages/share/share?scene=sid%3D19" Android表现:path: "pages/share/share?scene=sid=19" 因此导致无法解析
2021-09-26楼主解决了么?我和你遇到一样的问题
小程序二维码扫码scene参数android、ios表现不一致?android手机扫码:[图片] ios手机扫码: [图片] andriod手机的scene为什么没有encode?
2021-09-26问题已经用循环变相解决了。有没有更优雅的方案?
微信云开发,数据库 add 18000条报错?[error] 函数执行失败(耗时 5656ms) Error: collection.add:fail -501001 resource system error. 413 Payload Too Large | [http://tcb-api.tencentcloudapi.com/admin?&eventId=17c071f7a71_3&seqId=17c071f7a71_3] at toSDKError (/xxx/cloudfunctions/ordercollect/node_modules/wx-server-sdk/index.js:8089:19) at Object.returnAsFinalCloudSDKError (/xxx/cloudfunctions/ordercollect/node_modules/wx-server-sdk/index.js:8060:12) at /xxx/cloudfunctions/ordercollect/node_modules/wx-server-sdk/index.js:1225:32 at processTicksAndRejections (internal/process/task_queues.js:97:5) 意思是一次请求数据量太大吗?之前用add提交20000+条数据,没报这个错啊。是新加了限制吗? 如果数据量太大怎么add呢? 代码: console.log('读取数据[记录数=' + recordsLength + '][耗时=' + readMS + '秒]') // return await db.collection('xxx').add({ data: data }).then(res => { if (res.errMsg == 'collection.add:ok') { let after = new Date() let costMS = (after.getTime() - read.getTime()) / 1000 console.log('统计成功: [统计月份=' + lastMonthYm + '][记录生成时间=' + nowStr + '][生成记录数量=' + recordsLength + '][耗时=' + costMS + '秒]') } else { console.log('统计失败:', res) } })
2021-09-21应该没问题,看到好多公众号迁移主体,名称没变的。
已有同名公众号和小游戏,转移小游戏主体问题!急,求教!因之前有看到平台规定,同一个主体小程序和公众号可以同名,不同主体是不行的。 现因业务需求,A公司已上线名称叫【abc】的公众号和小游戏,计划要将[abc]的小游戏转移到B公司,请问是否可以正常转移吗? 烦请运营大大们回复,万分感谢
2021-09-15要在真机上操作,模拟器好像不支持
show-menu-by-longpress无效show-menu-by-longpress 弹起弹框后转发、保存图片、收藏点击均无效[图片] 代码:[图片]
2021-09-14