微信云开发官网
在这个文档中 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/security-rules.html#%E7%A4%BA%E4%BE%8B-1%EF%BC%9A%E7%BE%A4%E8%81%8A 有下面这个数据库安全规则: [图片] 以及这个集合字段结构: [图片] 然后,我按照这个文档,新建一个同样的 room 集合: [图片] 然后把安全规则改为和文档中一致: [图片] 规则如下: { "read": "auth.openid in get('database.room.${doc._id}').members", "write": false } 现在,已经确保文档中有一个members数组,并且当前用户的openid在这个数组中,然后使用下面的代码读取数据: getApp().cloud.database().collection('room').where({ _id: '9c1e6a3167178ee4108f089b78b14371' }).get() 此时抛出如下的权限不足错误: [图片] 就算把代码改成如下形式也依然有这个错误: getApp().cloud.database().collection('room').doc('9c1e6a3167178ee4108f089b78b14371').get() 那么,要如何才能读取这个数据呢? 如果可以读取,好像文档并没有讲解如何读取?如果没有办法读取,那就表示微信文档有错误?
[图片][图片] 在小程序端调用也报错说:uploadFile未定义,有时候还报uploadFile不是个函数;大佬们 求解?
现在需要把onenet平台上的数据推送到云函数中去处理,但我在云开发控制台中找不到云函数的地址?[图片]
您可以通过以下方式获取云函数的 HTTP 调用地址:
cloudbase service create -e envId
cloudbase service create -p servicePath -f functionName -e envId
servicePath
是您指定的触发路径,functionName
是您要调用的云函数名称。https://serviceId.service.tcloudbase.com/servicePath
serviceId
是您创建的 HTTP 访问服务的 ID,servicePath
是您指定的触发路径。例如,如果您执行了以下命令:
cloudbase service create -p /hello -f hello_world -e your-env-id
那么您可以通过以下 URL 调用云函数:
https://serviceId.service.tcloudbase.com/hello
请将 serviceId
替换为您创建的 HTTP 访问服务的实际 ID。
如需更多关于 HTTP 访问云函数的信息,可以参考云开发官方文档。
---------
本回答由 云开发AI小助手 生成
手机微信小程序里显示被注销,我很长时间没有打开开发者工具就被自动注销了吗?还能恢复吗?
这是触发器设置 { "triggers": [ { "name": "myTrigger", "type": "timer", "config": "0 5 12 * * * *" } ] } 按道理应该自动触发的时间为:2024年10月14日 20:05 上传了触发器 [图片] 手动测试云函数是OK的 [图片] 小程序appid: wxa80e71ccb00ae7c6
[图片] [图片] [图片] 这是我截取打印的截图 [图片] 求大佬解答,另外我真的很想回复评论但是不知道为什么提示有不合适的内容
腾讯云微搭平台搭建了两个页面,使用的云数据库,可视化界面数据展示正常。导出小程序代码包后,放到自有小程序后在开发者工具访问页面。提示“调用数据源store_product_zh57lp5方法wedaGetRecordsV2失败: 操作失败。获取数据源信息失败”,是什么原因 [图片]
假设我在云数据库中有数据: { "_id": "KJhsdas8d79782", "params": ["A", "B", "C"] } { "_id": "KJhsdas8d79783", "params": ["D", "E", "F"] } 我现在有查询条件: ["A", "B", "C", "D", "E"], 我希望查询params同时包含查询条件里面的所有元素的数据,也就是说案例中只有第一条数据满足。应该如何查询呢? 目前看到文档中只有in和all的api,in是只要包含就查询命中, all是需要完全匹配才能查询命中。
小白请教一个问题,云开发, 数据结构:[图片] 云函数中想查询某个数组下的某个字段,符合多条件的查询结果,这么写为什么查不出来呢?请教应该怎么写呢?[图片]
数据加载失败: 加载 “tcbAddCustomDomain” 失败:Error: InvalidParameter, 域名未备案;如果域名已经完成备案,由于腾讯云与工信部数据需要同步,请在1小时后重试。[图片] 域名:qwer.haocaiya.cn
Unity开发小游戏,视频资源在云存储中,在微信开发工具中和安卓真机上测试都没有问题,但是在IOS真机上视频是黑的,这是什么问题啊。
通过db.collection().get()获取数据库记录时,会产生CDN流量吗?
云开发的云存储文件有cdn机制吗? 相对于七牛云存储,放腾讯云云开发的云存储哪个有优势,接了个央企大集团的网络安全宣传周答题项目,网安对这块要求比较严格 [图片] |
电商小程序,希望在每个商品详情页能够动态生成小程序码,采用了getUnlimitedQRCode接口,但在调用接口的时候总是权限不够,但已经在令牌处保存了设置。 如图是令牌处截图、云函数日志。页面路径配置没有问题、云环境没有问题, 本人不太懂代码,一切工作由ai辅助,求解答这个权限问题应该怎么解决。[图片][图片] // 调用 wxacode.getUnlimited 接口生成小程序码 const result = await cloud.openapi.wxacode.getUnlimited({ scene: `id=${productId}`, // 参数值,传递商品ID page: 'pages/productDetail/productDetail', // 跳转的页面路径 width: 280, // 二维码图片宽度(单位:px) }); // 检查生成结果 if (!result || !result.buffer) { console.error('生成小程序码失败,未返回 buffer'); return { success: false, message: 'QR Code generation failed, no buffer returned', }; } // 上传小程序码到云存储 const uploadRes = await cloud.uploadFile({ cloudPath: `qrcodes/${productId}_${Date.now()}.png`, // 文件路径 fileContent: result.buffer, // 二进制文件内容 }); console.log('小程序码上传成功:', uploadRes.fileID);
开发微信小程序,需要后端服务,微信云开发和云托管用哪个
微信小程序的后端可以选择使用云开发或云托管,具体选择取决于您的业务需求和团队情况。以下是两者的主要区别:
希望这些信息能帮助您做出选择!如有其他问题,欢迎随时咨询。
---------
本回答由 云开发AI小助手 生成
这里是一个毫秒转分:秒的格式化函数,format2,如何在云函数中调用? [图片] [图片] [图片] // 云函数入口文件 const cloud = require('wx-server-sdk') const dateUtils = require('date-utils') process.env.TZ ='Asia/Shanghai' cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { console.log(event); let padTo2Digits = function (num) { return num.toString().padStart(2, '0'); } let padTo3Digits = function (num) { return num.toString().padStart(3, '0'); } let format2 = function(num){ let totalSeconds = num; let ms = totalSeconds % 1000; totalSeconds = parseInt(num/1000); // ️ 获取完整分钟数 const minutes = Math.floor(totalSeconds / 60); const seconds = totalSeconds % 60; // ✅ 格式化为 MM:SS // const result = `${this.padTo2Digits(minutes)}:${this.padTo2Digits(seconds)}:${this.padTo3Digits(ms)}`; const result = `${this.padTo2Digits(minutes)}:${this.padTo2Digits(seconds)}`; //console.log(result); // ️ "09:25" return result; } try { let dt = new Date(); let today = dt.toFormat("YYYY-MM-DD"); let time = dt.toFormat("YYYY-MM-DD HH24:MI:SS"); let res = await db.collection('profiles') .aggregate() .match({ _id:_.exists(true) }) .skip(0) .limit(500) .end() let items = res.list; items.forEach(async (item)=>{ let _id = item['_id']; let diff = item['diff']; let ytimes = this.format2(diff); console.log(_id,ytimes); await db.collection('profiles').doc(_id).update({ // data 字段表示需新增的 JSON 数据 data: { ytimes: ytimes, } }) }) } catch(e) { console.error(e) } }
譬如我开发一个新闻类的小程序,在云开发中我不想每天打开控制台去更新,去导入数据。 想通过python,或者其他语言放在服务器中每天定时在外部抓取信息,更新到数据中。 有阿里的服务器,ipc备案,还有https的证书太麻烦了,所以才直接用的云函数,目前就卡在怎么自动去更新数据里面的内容了
在小程序端使用数据模型,发现对数据库的权限设置失效,可能的原因是数据模型是通过云函数调用的,由于是服务器端调用因此不受权限设置的影响。那么有没有方法让数据模型的使用支持数据库的权限设置?
各位大佬好,我现在正在开发一个售后相关微信小程序,目前使用的是云开发,但担心之后上线后使用人数多起来,云开发的流量配额够不够用,会不会卡顿,并且我看云开发只有那一个套餐,我的需求变大了是否只能自己搭建服务器进行开发?麻烦大佬解答一下,谢谢
在学习中,想实现一个置顶功能,用云函数定时器,到时间删除字段实现取消置顶功能,调用成功,返回的结果是null,是什么问题? [图片] [图片] 云函数代码: 定时器: { "permissions": { "openapi": [ ] }, "triggers":[ { "name":"mytimer", "type":"timer", "config":"*/30 * * * * * *" } ] } 执行代码: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { exports.schedule = { run:async() => { const currentTime = new Date().getTime(); return await db.collection("wehicle").where({timelength:topping.timelength}).watchChanges({ onChange:snapshot => { snapshot.docs.forEach(doc => { if(doc.topping.timelength < currentTime){ await db.collection("wehicle").doc(doc._id).update({ data:{ topping:_.remove() } }) } }) } }) }, } }
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验
腾讯工作人员回复了,这个问题解决了,有两点要注意。
首先安全规则中要把字符'改为字符`,如: get(`database.room.${doc._id}`)。
其次,只能通过指定_id查询一条记录,并且传入的_id就是规则中的 ${doc._id},不支持查询多条记录。