- tdesign-miniprogram太大了,.wechatide.ib如何不打到包里面?
tdesign-miniprogram太大了,.wechatide.ib如何不打到包里面
2023-02-22 - 主包太大了,可以将组件components设为分包吗?
主包太大了,可以将组件components设为分包吗?我是uniapp的项目 [图片] 这样加上马上就会报错 [图片] 各位大佬帮忙看下
2024-06-04 - 小程序项目里通过npm方式引入了 Tdesign组件库 导致项目主包过大怎么办?
[图片]
2024-07-06 - 我引入了tdesign导致总包过大,怎么办?
我在开发时引入了vant weapp,但因为部分功能简单所以我引入了一下腾讯的tdesign,导致主包现在有2m多,tdesign800kb,vant400kb。有没有办法把这两个放到分包里?或者有什么别的解决方案?
2023-02-13 - TDesign框架开发miniprogram_npm主包太大如何处理?
在使用TDesign开发小程序,miniprogram_npm目录下很多组件,感觉很多组件我都没引用,为什么都在主包来,导致主包很大。如何优化? [图片] [图片]
2024-05-04 - 微信OCR识别,一个正常的https图片地址无法识别,报错: decode image failed
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/img-ocr/ocr/idCardOCR.html 示例图片地址: https://domain.cn:4343/2037/123.jpg 图片地址域名后添加了端口,OCR就无法识别了 decode image failed hint: [4PdDeA06506405] rid: 66b5c1c2-407e8ca3-644765d8
2024-08-09 - 如何解决淘宝链接生成二维码无法打开通过点击链接是可以正常访问的?
1、淘宝链接生成二维码无法打开,但通过链接打开就可以。是否需要做相关的公众号配置才行? 如果以上无法通过淘宝链接生成二维码直接打开,是否可以通过在自己的项目里面重定向到淘宝(该功能通过链接打开可以正常进行,但是通过二维码生成链接) 目前可以在在页面中嵌入iframe,可以获取到微信授权信息吗?
2023-10-25 - 微信小程序如何访问淘宝联盟转链?
听说腾讯和阿里互通了,微信小程序是否可以跳转淘宝联盟商品转链?
2023-11-21 - 地图瓦片/ Leaflet/自定义图层WMSLayer,小程序都不能用?来试试这个方法
需求 最近项目甲方想把PC端的地图线路绘制在手机上,并且还要在小程序上,听得我心里一惊,那么多线,那么多点符号,我该如何画啊,小程序最大setData也有1M的限制。但是需求来了就得想办法解决。 寻找方法 1、小程序方法[代码]polyline[代码]+[代码]marker[代码](适用普通的点位渲染) 小程序文档翻了翻,发现map组件文档有个 “聚合能力” 我似乎看见了新大陆,觉得肯定可以满足,经过一番研究,还是不能满足,因为这种方法只能用[代码]polyline[代码]来画线,而点或符号用[代码]marker[代码]来画,这种方法数据要处理大多了,因为我的项目线多,符号也多还不同形状的符号,PC端的显示是使用瓦片来渲染,没有分那么多符号和点位,这个方法以失败告终。有兴趣可以看下这个博客写的内容和我这里讲的差不多:微信小程序添加外部地图服务数据 2、自定义图层WMSLayer 上面方法不行,于是我找了gis,跟他讨论了我这个需求,看看有没有办法可以满足我的需求,他们就给我推荐了自定义图层WMSLayer,他说PC端就是用这种方式实现,导入一份数据就可以了。我就说好的,我自己回去研究了一番,发现是需要引入GL的包,但是小程序不支持dom操作,和普通web页面还是有区别,于是我就放弃了该方法。 3、Leaflet插件 这个方法也是gis那边介绍的一个插件库,我寻找了很多遍,发现没有支持小程序的插件库,只是支持web网页开发,还是无法使用到小程序中。传送门leaflet地址 4、小程序个性化图层 这个方法我研究过,就是可以直接导入图层瓦片,最终腾讯生成一个个性化地图id,然后小程序调用个性化图层id。该方法好像还行,但是我没有具体操作,因为我的数据不是固定的,随时会改变,如果每次改变又去改个性化地图就惨了,这种方法适用于景区景点类型。 腾讯地图个性化图层 看见社区有人发的web效果图地址 个性化地图使用指南 我使用的方法 思来索去既然瓦片是图,那能不能让gis那边直接返回一张图片呢?我这边就贴图就行?因为小程序刚好有个[代码]自定义图片图层[代码]可以跟着地图变大变小[图片] 感觉这个方法挺好的,联想了加入是一张张瓦片我也可以对准位置贴上去,连在一起就是我想要的效果了。于是找了gis那边的同事,发现他们有这种方法可以获取图片。addGroundOverlay文档地址 思路 先看下addGroundOverlay的参数 [图片] 单独一个参数抽出来 [图片] 由图可见,有一个很重要的参数[代码]bounds[代码]这个参数,这个参数就是获取地图的对角点,用来确定当前地图视野范围,有了这个参数,我们就叫gis那边生成一张图片,然后粘贴到我们小程序的地图上面就完成了渲染。这里需要注意几点: gis那边生成的图片需要几个参数, a、需要对角点即[代码]bounds[代码]一样的参数,可以通过小程序提供的MapContext.getRegion获取当前地图的视野范围 b、需要获取你当前手机全屏屏幕宽高(windowWidth这个),用这个宽高传给gis那边生成图片的宽高 c、使用地图map组件提供的方法[代码]bindregionchange[代码]来监听,当前缩放或者中心点移动,然后去请求最新视野的图片粘贴上去 d、这里有个不好的问题就是用[代码]MapContext.updateGroundOverlay[代码]方法,更新上一张的贴图会出现闪动问题(即更新最新的图片会发生显示原来图片位置、然后隐藏才显示最新的图片位置),为了解决这个问题,我使用了每次变动位置请求最新图片,都用增加方法[代码]MapContext.addGroundOverlay[代码]去添加贴图到地图,然后把旧的贴图全部删除,为了效果看起来像懒加载,等加载完最新的图片在去删除旧的图片,这样就不会出现闪动的问题 核心代码如下: [代码]onReady: function (options) { this.MapContext = wx.createMapContext('mapId', this) this.getSystemInfo = wx.getSystemInfo().then(res => { this.getSystemInfo = res }) this.indexId = 1 }, bindregionchange: function (e) { if (e.type === 'end') { const northeast = e.detail.region.northeast const southwest = e.detail.region.southwest if (mapTimer) clearTimeout(mapTimer) mapTimer = setTimeout(()=> { this.updataMap(southwest, northeast) }, 100) } }, updataMap(southwest, northeast) { const northeast1 = { longitude: CoordTransformUtil.GCJ02ToWGS84(northeast.longitude, northeast.latitude)[0], latitude: CoordTransformUtil.GCJ02ToWGS84(northeast.longitude, northeast.latitude)[1] } const southwest1 = { longitude: CoordTransformUtil.GCJ02ToWGS84(southwest.longitude, southwest.latitude)[0], latitude: CoordTransformUtil.GCJ02ToWGS84(southwest.longitude, southwest.latitude)[1] } overlayId.push(this.indexId) this.indexId = this.indexId + 1 this.MapContext.addGroundOverlay({ id: this.indexId, src: `https://xxx/export?bbox=${northeast1.longitude},${northeast1.latitude},${southwest1.longitude},${southwest1.latitude}&bboxSR=4490&layers=&layerDefs=&size=${this.getSystemInfo.windowWidth},${this.getSystemInfo.windowHeight}`, bounds: { southwest: southwest, northeast: northeast }, success: async (res) => { // 由于使用updata图层会出现每次闪图渲染问题,所以每次获取图层都是新增的,故这里需要把每次渲染的图层删除,只留最后一次 if (mapTimer2) clearTimeout(mapTimer2) mapTimer2 = setTimeout(async() => { await Promise.all(overlayId.map(async (item) => { await this.MapContext.removeGroundOverlay({ id: item }); overlayId = overlayId.filter(fil => fil != item) })); }, 500) }, fail: (err) => { console.error(err, 'fail...addGroundOverlay') } }) } [代码] 总结 抱歉了,其实我这是不讲武德,把技术点给gis那边处理了,我这边只需要把他们处理好的图片粘贴上去就好了,经过验证该方法确实可行的哦 解决问题才是王道 代码片段:https://developers.weixin.qq.com/s/taAR41mz7GHT
2023-03-27 - 小程序A能引导跳转至小程序B吗?(主体不一致,举例京东跳淘宝)
小程序A能引导跳转至小程序B吗?(主体不一致,举例京东跳淘宝)
2024-09-04 - 开源leaflet地图组件小程序版——leafletwx
leafletwx开源地址:https://gitee.com/zz2022com/leafletwx leaflet库的微信小程序版(使用小程序原生组件view+image显示瓦片,并非web-view方式) leafletwx在leaflet的基础上开发,是leaflet的微信小程序版本。 目前,leafletwx支持地图加载、缩放、移动、POI显示、线、面显示。 本项目中,有QQ地图、百度地图、高德地图以及天地图的加载方式。 由于微信小程序不支持dom操作,leaflet的部分插件无法直接用在leafletwx上,后续会陆续适配。 加载QQ地图 [图片] 加载百度地图 [图片] 加载高德地图 [图片] 加载天地图 [图片]
2023-04-19 - 最近激励视频广告收益断崖式下跌,为什么?
[图片][图片] 请教一下,这个数据是正常的吗?大家最近的收益都是怎样的呢
2023-04-27 - 小程序激励广告的视屏广告秒数 6-15秒和6-30秒的广告收益有区别吗,还是收益是一样的?
最近发现小程序激励广告的视屏秒数是可以设置的,有6-15秒,6-30秒和6-60秒三钟选择,请问这三类的千次曝光收益是一样的吗,还是有不同计费区别的? [图片] [图片]
2022-07-25 - 小程序激励广告被指出利诱其他用户参与,转发,下载,或委托刷单平台等方式行为,被永久封禁?
小程序经营推广运营快1年了,积累了不少用户。从来没有违规过。最近被人举报了,就收到了直接永久封禁,不给整改机会吗?这个违规确实没有利诱其他用户参与、转发、下载或者委托刷单平台等方式行为,只是放了一个激励广告,不是很能理解这个封禁的理由。 如果说官方给了警告拒不修改的。给永久封禁就不说了,但是第一次莫名的就被永久封禁。小程序经营推广不易,希望官方再给一次机会? appId:wx9f355e03b038be66 [图片]
2024-06-04 - 米大师支付的方式可以用来在小程序内购买虚拟商品么?
因为微信和苹果的关系,之前的运营规范里,wx.requestPayment 是不允许在 IOS 里购买虚拟物品的(例如会员、道具等),最近关注到小程序支持了米大师支付的方式 wx.requestVirtualPayment,想咨询一下,通过这种方式购买虚拟物品的(例如会员、道具等)是否符合微信小程序的运营规范?
2023-11-16 - 视频号小店现在可以售卖虚拟商品(例如:会员、兑换券、兑换码等)吗?
关于视频号小店现在是否支持售卖虚拟商品(例如:会员、兑换券、兑换码等),在社区搜索到如下也没有找到答案,其他的相关问题都N年前了,特来咨询,感谢感谢 [图片]
2024-06-03 - 虚拟业务指南请收好。
在小程序生态中,基于苹果运营规范,小程序内暂不支持iOS端虚拟支付业务。为此小编为大家整理了一份虚拟支付业务指南,希望大家在做虚拟业务时有所帮助: [视频] 那么,到底什么是虚拟支付业务呢? 虚拟支付业务是指购买非实物商品。比如:VIP会员、充值、录制课程、录制音频视频等虚拟产品。目前iOS端暂不支持虚拟支付业务。 我们常见iOS虚拟支付的不合规示例有哪些呢? 示例一 :小程序内存在付费购买虚拟内容或道具。商品多体现为提前编辑好的、录制好的虚拟商品。如录制视频课程、游戏道具。 整改建议 :建议去除小程序内所有付费购买虚拟服务,并根据提示修改相关内容及文案,文案可参照“由于相关规范,iOS功能暂不可用”。 [图片] 示例二 :付费解锁优质服务。多体现为提供虚拟商品的小程序可通过支付购买、开通虚拟会员等形式,体验小程序付费服务。比如:支付阅读章节小说、同城生活服务平台付费发帖/付费置顶等。 整改建议 :建议可以关闭iOS端虚拟支付通道,并将【马上充值】更改为【由于相关规范,iOS功能暂不可用】,并不再提供iOS端会员服务。 [图片] 示例三 :关闭iOS端虚拟支付功能后,虚拟商品页面仍然保留货架价格标签展示、购买/付费/订阅等功能或按钮。 整改建议 :建议去除小程序中的虚拟商品的价格展示,并更改为【免费】;并将【订阅 ¥128】更改为【由于相关规范,iOS功能暂不可用】,并不再提供iOS端虚拟商品购买服务。 [图片] 示例四 :关闭iOS端虚拟支付功能后,提供引导用户前往其他支付的路径/文案,完成虚拟支付闭环。 整 改建议 :建议去除iOS端小程序内引导用户前往其他支付路径/文案,并不再提供iOS端虚拟商品购买服务。 [图片] 示例五 :小程序含需要付费的虚拟商品,并设置限时免费的服务,限时免费结束后需付费才能继续提供服务。 整改建议 :建议将iOS端小程序中所有虚拟付费内容更改为免费,并不再提供iOS端虚拟商品购买服务。 [图片] 示例六 :关闭iOS端虚拟支付功能后,小程序中虚拟产品页面不可以含有付费性质的关键字(如:购买、已购、付费、支付等),包括但不限于功能按钮、功能页面、支付提示及任何商品介绍等。 整改建议 :建议将小程序iOS端虚拟产品页面中的文案/按钮/功能tab含有限制的关键字更改为【免费】或删除。并不再提供iOS端虚拟商品购买服务。 [图片] 如小程序内存在以上不合规的虚拟支付内容,请开发者重视并及时整改。对于首次违规的小程序,平台将下发站内信整改通知,并给予三天整改时间,请开发者按照提示在限期内完成整改。平台将会对到期未完成整改的小程序进行搜索策略调整,并在小程序功能使用上进行一定的限制,直到小程序完成内容整改。
2020-04-23 - 举报群报数小程序通过赠送用户会员的方式刷好评?
appid:wxfc4ef6d539d03373 小程序名称:群报数丨接龙报名预约统计 该小程序通过引导用户给小程序刷五星好评,然后给予用户会员奖励,严重影响了小程序的生态,请求微信官方对该小程序予以封禁处理 以下是该小程序发的活动截图 [图片][图片]
2024-06-19 - 更新云数据库中 某一条记录 满足条件的数组 中的值?
[图片] 官方示例看懂了,但是 如果要更新 该记录中 符合 条件的数组中的某一条记录的 某一个值 如 条件是math数组中的 examid=3 ,更新它的 score为 50 该如何写更新语句呢?请大神们指导下,万分感谢
2024-05-07 - 允许第三方应用运行权限,关闭后再次开启,却无法在QQ上运行?
如题,请问大家怎么解决的?
2024-06-18 - 用户没几个,为什么调用次数这么多?
每天没几个用户,openid只在首页调用云函数获取过一次,其他页面跳转都是传参,为什么“调用次数”还这么多? [图片]
2024-04-20 - 省钱有道之 减少云函数调用次数
由于云函数有一项计费规则是按调用次数计费,在小程序访问量比较小的情况下还比较无所谓,但当体量上来之后不得不考虑控制一下对公共接口的调用次数从而减少一些不必要的开销。比如获取用户信息接口、获取配置信息接口 这里分享一个我自己几个小程序用到的方法,公共接口的调用都放在app.js,然后提供函数供其他页面调用。同时由于异步问题,有可能页面加载完接口还未返回,因此还需能够注册回调函数,在接口返回数据后回调给调用页面 代码示例: app.js App({ onLaunch: async function (options) { //判断是否需要更新小程序 updateCheck.check(); await api.wxCloudInit(); //获取用户信息 this._getUserInfo().catch(res => { console.warn("获取用户信息失败,准备重试"); this._getUserInfo().then(); }); }, /** * 获取用户信息 * @param callback * @param refresh 等于true时表示重新查询用户信息,同时也会更新会员状态 */ getUserInfo: function (callback, refresh) { if (!refresh) { const userInfo = this.globalData.userInfo; if (!userInfo.ready) { if (typeof callback == 'function') { this.callbackFunctions.userInfoReadyCallback.push(callback); } if (!this.userInfoReadyCallback) { this.userInfoReadyCallback = res => { console.log("获取用户信息完毕,开始回调", res); const callbacks = this.callbackFunctions.userInfoReadyCallback; while (callbacks.length) { const callback = callbacks.pop(); typeof callback == 'function' && callback(res); } /*callbacks.forEach(callback => { typeof callback == 'function' && callback(res); })*/ } console.log("注册userInfoReadyCallback成功"); } else { console.log("已经注册了userInfoReadyCallback,不再重复注册"); } } else { typeof callback == 'function' && callback(userInfo); } } else { console.log("准备更新用户信息") this._getUserInfo().then(userInfo => { typeof callback == 'function' && callback(userInfo); }); } }, /** * 执行云函数,获取用户信息 * @returns {Promise<unknown>} * @private */ _getUserInfo: function () { return new Promise((resolve, reject) => { api.callCloudUserCenterFunction("UserInfoHandler/getUserInfo", {}, res => { console.log("获取用户数据完毕:", res.result); const result = res.result; if (result.success) { const data = result.data; this.globalData.userInfo = data; // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(data); } resolve(data); } else { console.error("没有获取到用户信息"); reject("没有获取到用户信息"); } }, e => { console.error("获取用户信息失败", e); reject("获取用户信息失败"); }); }); }, /** * 异步事件回调函数列表 * 增加这个列表是为了避免不同地方同时调用,互相覆盖回调函数 */ callbackFunctions: { //用户信息异步回调 userInfoReadyCallback: [], }, globalData: { userInfo: { confirm: false//用来标记用户信息查询动作是否已经结束,等于true时,userInfo才可信 }, } }) 某page.js app.getUserInfo(res => { const isVip = res.isVip; if (isVip) { console.log("已开通会员", res); } });
2024-02-07 - wx.navigateTo() 出现警告[Deprecation] ?
[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M92, around July 2021. See https://developer.chrome.com/blog/enabling-shared-array-buffer/ for more details. e.onmessage @ worker.js?libName=WAAccelerateWorker.js:1 [worker] reportRealtimeAction:fail not support e.workerInvokeJsApi @ worker.js?libName=WAAccelerateWorker.js:1 (anonymous) @ WAWorker.js:2 k @ WAWorker.js:2 invoke @ WAWorker.js:2 f @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 re @ WAWorker.js:2 y @ WAWorker.js:2 l @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 setTimeout (async) globalThis.setTimeout @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 Q @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 (anonymous) @ WAWorker.js:2 S @ WAWorker.js:2 eval @ VM10:1 e.onmessage @ worker.js?libName=WAAccelerateWorker.js:1
2022-06-21 - 云函数报错Error: Cannot find module 'node:stream'?是什么原因
云函数执行报错:Error: Cannot find module 'node:stream' Require stack: 是缺少模块stream吗?[图片]
2024-08-14 - 请教一下如果修改云函数的nodejs版本
我更新了一个最新的云函数,它的node.js的版本变成了16.13,一直报错,当我把同样的代码复制进之前旧的云函数,nodejs的版本还是12.16的云函数运行时,它就是正确的,我反复看了代码,没得问题,你们这个太不稳定了啊,最关键的是我还不能选node.js的版本,最新提交的全是16.13.这怎么也敢用于生产环境啊, 我实在受不了,这么多BUG.代码里好多兼容你们的BUG的代码.这么大的公司,为什么会这么多错误 [图片] 云函数代码如下: const cloud = require('wx-server-sdk'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); const db = cloud.database(); const _ = db.command; async function cleanUnusedImages(info) { try { // 查询 fileIds 表,最多查询10条数据 const { data: list } = await db.collection(info[0]) .where({ updateTime: _.lt(new Date(Date.now() - 1000 * 60 * 60 * 12)) // 图片记录超过12小时 }) .limit(10) .orderBy("updateTime", "asc") .get(); console.log("查询结果:", list); for (const item of list) { const { data: resList } = await db.collection(info[1]) .where({ fileIds: item.fileId }) .limit(1) .get(); if (resList.length === 0) { await cloud.deleteFile({ fileList: [item.fileId], }); // 文件删除成功,删除当前记录 await db.collection(info[0]).doc(item._id).remove(); } else { // 当前文件仍在使用中,修改当前记录的修改时间 await db.collection(info[0]).doc(item._id).update({ data: { "updateTime": db.serverDate() } }); } } console.log("定时清理未被使用的图片执行成功!" + info.toString()); } catch (error) { console.error("执行出错:", error); throw error; } } exports.main = async (event, context) => { // 随机获取要执行的表 const FileIdsTables = [ ["houseFileIds", "houseResources"], ["roomFileIds", "houseRoom"], ["contractFileIds", "contract"], ]; const index = Math.floor(Math.random() * 3); const info = FileIdsTables[index]; await cleanUnusedImages(info); console.log("删除未被使用的图片执行成功!") };
2023-09-18 - 微信小程序引导关注公众号?
我想在我的小程序中引导用户去关注一个不同主体的公众号,我已经在微信开放平台中放入了小程序和公众号,但是在小程序后台引导关注公众里搜索不到公众号信息,让在开放平台绑定
2024-05-09 - 开发者工具 无法格式化文档
开发者工具中右键点击格式化文档无效,没有任何反应 换一个项目就没有问题
2023-02-02 - 云开发数据库按条件抽取聚合aggregate().match()的问题?
不知道有没有更好一点的按条件抽取的方法 这个聚合方便是方便,但是由于代码有点复杂, 耗费的时间有点长 望有经验的各位给予一点建议
2024-04-23 - 记录云开发lookup多表嵌套查询优化
最近在优化一个云开发用lookup实现的多表嵌套查询SQL,发现测试环境最大的表数据量还不到2W,但是整体查询耗时竟然要2,3s,这让我觉得有些意外,能加的索引也都加了,有点头大。。。 主要是以下几个表: user-card-list(清单表,大概1.9W条)user-comment(评论表,大概500条)user-info(用户信息表,大概9000条)black-list(黑名单表,12条)具体的业务是分页查询出清单,并关联出发布清单的用户信息、清单评论信息、评论者的用户信息,同时过滤掉黑名单用户。在测试SQL的过程中发现在pipeline中用到的父表字段其实不会使用索引,如果是用localField/foreignField关联表时索引可以生效,但是遗憾的是这种方式不可用嵌套查询... 写惯了关系型数据库SQL,通常是会把分页以及过滤条件写在SQL最后的位置。但是在非关系型数据库,如果尽量把过滤条件或者分页的SQL前置,可能会有意想不到的效果。 下面的这个SQL我把match跟limit前置后查询速度从2,3s降到了3,400ms,有点苦笑不得[捂脸]。。 在这里蛮记录一下。或许对看到的小伙伴可以有一点点小启发。 db.collection('user-card-list').aggregate() .lookup({ from: 'black-list', let: { openid: '$openid'//将变量openid的值等于user-card-list表的openid,在pipeline可以使用,let需要和pipeline一起使用 }, pipeline: $.pipeline() .match(_.expr($.and([ $.eq(['$openid', '$$openid']), ]))) .done(), as: 'blackList', }) .addFields({ inBlackList: $.gt([$.size('$blackList'), 0]), //排序字段,由公开时间+ID组成 cursor: $.concat(['$lightAt', '', '$_id']), }) .match(_.expr($.and( $.eq(['$light', 'Y']), //$.gt(['$cursor', '2023-05-20 23:58:23ozzW05Gch7jMMhsn1r_SWLGdGtF0_add_1563634289607']) $.or([ //当前清单的发布用户不在黑名单中,直接展示 $.eq(['$inBlackList', false]), //当前清单的发布用户在黑名单中,且是本人浏览时,直接展示 $.and([ $.eq(['$inBlackList', true]), $.eq(['$openid', 'ozzW05Gch7jMMhsn1r_SWLGdGtF0']), ]) ]) ))) //按cursor降序排序 .sort({cursor: -1}) //分页前置,提升查询速度 .limit(30) .lookup({ from: 'user-comment', let: { id: '$_id'//将变量id的值等于user-card-list表的_id,在pipeline可以使用,let需要和pipeline一起使用 }, pipeline: $.pipeline() .match(_.expr($.eq(['$belongTo', '$$id']))) //按createAt降序 .sort({createAt: -1}) .lookup({ from: 'user-info', let: { replyOpenid: '$replyOpenid'//将变量replyOpenid的值等于user-comment表的replyOpenid,在pipeline可以使用,let需要和pipeline一起使用 }, pipeline: $.pipeline() .match(_.expr($.eq(['$openid', '$$replyOpenid']))) .done(), as: 'replyUserInfoList', }) .done(), as: 'userCommentList', }) .project({ momentContent: 1, author: 1, cursor: 1, lightAt: 1, comments: $.reverseArray('$commentsReverse'), userCommentList: 1, likes: 1, wishes: 1, time: '$lightAt', }) .end();
2023-05-26 - 关于云开发数据库日期比较条件返回错误结果的问题?
现在是北京时间2024年3月14日早上10:39,微信小程序数据库的以下这条语句: db.collection('waihuhaoma') .where( {start_date:_.gt(new Date())} ) .get() 搜索出: [ { "_id": "63cb1eba65f254e90313d8c14c8bc627", "end_date": "2024-03-20T08:00:00.000Z", "start_date": "2024-03-14T08:00:00.000Z", } ] , db.collection('waihuhaoma') .where( {start_date:_.lt(new Date())} ) .get() 搜索不出结果 。
2024-03-14 - 两个云开发的微信小程序是否可以共用数据?
同一个主体,用云开发方法开发两个小程序,是否可以共用数据?一个小程序专注产品开发设计,另一个专注产品的用户体验,有一部分数据要在两个小程序之间传递。
2022-08-24 - 同一页面存在多个video时,video无法正常播放一直在加载转圈
不建议同个页面使用多个video组件,建议不超过3个video,如果要实现video列表功能,请进行优化(image列表,选中时将image替换成video)
2019-08-29 - 为什么这两个域名downloadFile很多失败?wxs.qq.com
这几个调用失败的接口,是广告组件里的吗,为什么调用失败这么多? [图片]
2024-05-13 - we分析出现大量downloadFile请求错误的统计?
如下图,we分析再现大量downloadFile错误,错误代码600007(超过最大请求数量)。业务代码里没有频繁downloadFile。 [图片]
2023-11-14 - channel-video同主体,如何点击播放而不跳转到视频号的?
如题,同主体,不设置自动播放,如何点击播放而不跳转?
2024-05-27 - 小程序video组件如何加载 使用第三方上传的带有referer防盗链的视频
目前video组件暂不支持设置referer防盗链,计划支持中。
2020-04-20 - 隐私弹窗拒绝,后还可以再调起地理位置确认弹窗吗?
拒绝隐私授权后直接提示我authorize:fail privacy permission is not authorized,或"getLocation:fail privacy permission is not authorized;
2023-12-13 - 服务号今年付费300认证通过后,为什么小程序还得二次年审?缴费?
服务号今年付费300认证通过后,为什么小程序还得二次年审?缴费?,我记得往年只需要付费主体公众号就行,小程序直接服用主体公众号就行,不用二次付费,我今年付费主体公众号后,小程序还是提示付费?有啥办法不?
2024-02-07 - webview无法打开关联公众号的专辑链接
暂不支持
2020-09-01 - 现在微信小程序还能做SEO吗?
逛了一圈开放社区,了解到 页面内容提交下架, SEO内容接入页面API接入下架,API文档关闭了 自定义关键词下架, 发现、下拉搜索小程序,不展示内容结果 模糊搜索,也不一定能搜到,精准搜索,也不是都排在第一 SEO优化指南3年未更新 还有什么方向能去做SEO吗?
2023-02-03 - 微信云开发计费调整调用次数怎么算?
这四个统一归到调用次数了吗?每天多支出100+。。。。。 https://developers.weixin.qq.com/community/minihome/doc/0000a680588d3891fa2ec250c51401?page=1 [图片]
2022-07-13 - 视频号扩展链接提示该文章链接包含小程序无法添加?
如题,之前是OK的,今天突然就不让添加了,这是为什么呢?
2022-09-06 - 小程序no such file or directory, access问题?
error occurs:ENOENT: no such file or directory, access '/storage/emulated/0/ 一直报错,求教如何解决,谢谢!
2022-04-18 - 微信云开发计费调整公告
各位微信云开发用户: 感谢大家一直以来对微信云开发的支持。由于云计算成本整体上升,为了继续为各位用户提供稳定可靠的服务,微信云开发将于 2022 年 08 月 18 日,对计费方式进行如下变更,部分指标价格将有所上浮。 新计费模式下,新用户免费使用 1 个月后,统一使用 “基础套餐+按量付费” 模式:购买带有一定配额的基础套餐后,超出套餐配额部分再按照实际使用量付费。 基础套餐 [图片] *新用户首月免费配额:与基础套餐一致,可满足大部分情况下的开发体验需求 *5 折折扣有效期至少延续至 2022 年底,后续折扣如有变化将另行通知 按量付费 [图片] 【指标说明】 1、调用次数:合并原多项指标统一计价,具体为 “云存储上传操作”、“云存储下载操作”;“数据库读操作”、“数据库写操作” 及新增指标 “云函数调用操作”; 2、容量:合并原多项指标统一计价,具体为 “存储空间" 及 "数据库容量"; 3、云函数日志服务:本次新增计费指标,建议通过优化日志存储策略降低该指标费用。 新用户手动触发确认开始使用后,将拥有 1 个月免费权益,体验期间的环境配额与基础套餐相同,可选择是否进行超额按量付费。 现有用户可以在「微信开发者工具-云开发控制台」或「微信云服务助手小程序」查询过往用量情况后,使用 价格计算器 预估新价格。 在计费方式升级生效之日(2022.08.08)起,对现有用户均提供至少 1 个月的操作缓冲期,期间会推送提醒及提供切换入口,用户可自由选择是否切换新的计费方式,超时未切换的云开发环境将会停服释放。缓冲期内切换成功的用户将会获得额外代金券。 对于当前月调用次数 >100 万次的帐号,本次调整将不直接生效,后续将由专业架构师联系或独立推送指引切换到合适配额的企业旗舰版本。 自本公告发布之日起,对于原已购预付费套餐、资源包的用户,仍然可正常使用原已购资源,直至原约定套餐到期或用完。现有旧预付费套餐不再支持续费超过一个月,现有旧资源包不再支持新购。 微信云开发将继续为各位用户提供简单易用安全的专业 Serverless 开发服务,感谢大家的支持。 Q&A 1、此次调整,意味着我的费用会增加吗? 是的,由于云计算整体成本的持续上升,为了能够长期给各位开发者提供低门槛的开发服务,我们对于部分计费指标进行了价格调整,在调整后大部分的开发者费用会一定程度的上浮。 2、我如何预估调整之后的费用是多少呢? 新计费生效后,在缓冲期内,开发者可查看新指标下的用量情况,或者根据过往用量,使用 价格计算器 估算调整之后的费用。 我们根据测算,为大部分开发者提供基础套餐配额以满足线上服务,如你的实际用量没有超过基础配额,也没有使用扩展功能,那么每月消费即为 19.9 元。 3、我需要在哪里操作切换新计费呢? [图片] 微信云服务助手小程序码 在计费方式升级生效之日(2022.08.08)起,开发者可前往「微信开发者工具-云开发控制台」或「微信云服务助手小程序」进行操作切换。按照过往的计费信息下发惯例,我们通过「微信公众平台公众号」向管理员推送计费变更信息与切换入口。 4、现在的环境是否可以继续使用呢? 新计费生效后,已购买的预付费套餐可正常使用至原到期时间,已购买资源包的按量付费环境可正常使用至原资源包到期时间,均不会存在直接失效或自动退费的情况。在切换到新计费方案后,原有环境即可持续正常使用。 5、如果超时切换会有什么影响呢? 若原环境到期且超出切换缓冲时间,则该环境将进入停服释放流程,数据不可找回,请开发者及时操作。 6、以上新计费方案生效后,我有多长时间可以决定是否继续使用云开发呢? 对于当前月调用次数 <100 万次的帐号,从公告发布日至新方案生效后的一个月,期间可进行是否继续使用的决策;计费方式升级生效之日(2022.08.08)起,我们也会通过上述 Q&A 3 说明的方式中提供切换入口与下发消息,此时你仍然有至少 1 个月的缓冲期做出决定。对于当前月调用次数 >100 万次的帐号,将有专业架构师联系指引切换到合适配额的企业旗舰版本,期间产生的消耗仍然按旧方案计费。我们会为大额消耗用户提供适当优惠,同时对于不希望继续使用云开发的此类帐号提供不低于 3 个月的缓冲时间。如有其他问题,可前往「微信开发者工具-云开发控制台-帮助-工单」主动联系我们。 7、我自行测算预估后觉得新方案有点贵,有什么好建议吗? 本次调整,价格上涨指标为 “调用次数”、“容量”和“CDN 流量”,建议相应进行技术优化,减少不必要的多次调用或存储内容,可有效控制费用;此外新增计费指标为日志服务,可在「微信开发者工具-云开发控制台-云函数-日志」中查看日志使用情况,并优化日志使用逻辑,避免上报大量冗余的日志信息导致不必要的费用支出。 若评估后认为新的费用方案已不适用于你的业务,可在上述充足的缓冲期内自行选择迁移业务至更合适的服务。 微信云开发团队 2022年7月4日
2022-08-08 - 小程序地理位置相关接口调整
为进一步规范开发者调用涉用户信息相关接口或功能,保障用户合法权益,平台将对如下地理位置相关接口调用实行准入开通: wx.getLocation、wx.onLocationChange、wx.chooseAddress、wx.chooseLocation、wx.choosePoi 自2022年4月18日开始,如使用以上接口,在代码审核环节将检测该接口是否已完成准入开通(申请路径:小程序管理后台 -「开发」-「开发管理」-「接口设置」),如未开通,将在代码提审环节进行拦截,请涉及相关接口的开发者尽快进行接口权限申请,第三方开发者申请方式:可通过 apply_privacy_interface 接口完成。 请广大涉及相关接口的开发者尽快进行相关接口准入申请,如未申请,后续将影响线上小程序相关接口的使用。
2023-09-26 - 公众号诱导分享案例集锦
诱导分享,顾名思义即商家利用外链或公众号消息等形式,强制或利诱用户将指定内容分享至朋友圈,且其行为通常伴随着一定的利益、恐吓或道德绑架。 为了营造绿色和谐的网络阅读环境,公众平台根据相关运营规范对此进行了整理和分类,具体分为营销分享、恶意分享和外链分享。 1.营销分享 以获得红包、现金、实物奖励、虚拟奖品(积分、信息)等为诱饵,引导用户将信息转发到朋友圈,或分享到朋友圈集赞。 [图片] [图片] 2.恶意分享 ☛ 胁迫、煽动用户分享 以祝福诅咒、道德绑架等形式恶意要求用户在朋友圈分享指定内容。 [图片] [图片] ☛ 强制用户分享 分享后才能继续下一步操作。包括但不限于:分享后方可继续阅读,观看视频,浏览测试题答案等。 [图片] [图片] 3.外链分享 利用公众号的分享接口散布相关的活动内容。通常符合这两点特质: ☛用户提交一定的信息之后又要求强制转发到朋友圈才显示报名成功 ☛伴有一定的欺诈嫌疑 [图片]
2020-03-18 - 如何区分诱导分享类信息?
诱导分享类处罚规定: 根据《公众平台运营规范》第3.3.1 诱导分享 禁止通过外链或公众号消息等方式,强制或诱导用户将消息分享至朋友圈的行为。奖励的方式包括但不限于:实物奖品、虚拟奖品(积分、信息)等。 若违反相关协议,我司会根据公众帐号违规情况,对公众帐号限制或禁止使用全部或部分功能、帐号封禁/注销等相应处罚。 相关案例(以下信息仅供参考): 1)公众平台图文内包含诱导用户分享朋友圈活动 [图片] 2)公众平台图文或者图片包含诱导用户点赞活动 [图片] 3)通过公众平台图文、自动回复、自定义菜单跳转外链诱导用户分享朋友圈活动 [图片] 4)通过公众平台自动回复发布诱导用户分享朋友圈活动 [图片]
2020-03-18 - 小程序内怎么调试web-view?
开发工具上在web-view页面内点击鼠标右键有个调试的选项 需要在真机上调试需要自行引入vconsole:https://github.com/Tencent/vConsole/blob/dev/README_CN.md
2019-10-09 - 页面收录越来越少,收录页面少相关问题
可先确认下是否进行主动推送。若未进行主动推送,建议使用主动推送能力会提高收录量。(入口为:微信公众平台小程序-页面内容接入-基础设置-页面路径推送)。若已主动推送,可发帖并提供appid我们会及时跟进处理。
2020-04-23 - 电话码
可以用作 挪车码、印到名片上、实体店张贴出来方便顾客联系。 追求极致的用户使用体验。
2020-07-01 - 社区每周 |小程序云开发支持移动端修改及续费预付费配额资源、上周问题反馈(5.24-5.28)
各位微信开发者: 以下是小程序云开发支持移动端修改及续费预付费配额资源公告及上周我们在社区收到的问题反馈与需求的处理进度,希望同大家一同打造小程序生态。 小程序云开发支持移动端修改及续费预付费配额资源 为更好的帮助各位开发者便捷地管理云开发资源,云开发已上线移动端的预付费配额资源的修改及续费操作(暂仅支持微信支付方式),无需登录云开发控制台即可轻松操作。当在微信中收到云开发预付费资源到期或停服的模版消息时,可点击该消息进入“云开发助手”小程序进行相关操作。按量付费及腾讯云支付方式即将支持,敬请期待。 [图片] 上周问题反馈和处理进度(5.24-5.28) 已修复的问题微信支付接口一直报错的问题 查看详情 开发者工具-公众号网页调试-获取定位失败的问题 查看详情 wxs文件在开发者工具没有高亮的问题 查看详情 微信公众号模板消息为空的问题 查看详情 小程序后台配置业务域名点击保存无反应的问题 查看详情 修复中的问题 MediaRecorder.requestFrame在安卓微信版本8.0.3执行速度非常缓慢的问题 查看详情 删除components文件夹后立马撤回文件夹变空的问题 查看详情 需求反馈需求评估中ComponentData版面看不到虚拟化组件的数据 查看详情 RuntimeError: cannot read property 'rename' 查看详情 微信团队 2021.6.4
2021-06-04