微信云开发官网
云函数中,执行到const tencentcloud = require("tencentcloud-sdk-nodejs-sms");此名时就报错,提示Cannot find module 'tencentcloud-sdk-nodejs-sms' 我已经在命令窗口用npm install tencentcloudtencentcloud-sdk-nodejs-sms --save安装过了。 请教怎么解决?
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/storage/security-rules.html
这是触发器设置 { "triggers": [ { "name": "myTrigger", "type": "timer", "config": "0 5 12 * * * *" } ] } 按道理应该自动触发的时间为:2024年10月14日 20:05 上传了触发器 [图片] 手动测试云函数是OK的 [图片] 小程序appid: wxa80e71ccb00ae7c6
[图片]再控制台修改了数据库权限为 所有用户可读,结果数据库里面还是创建者可读写。。。
版本:1.05.22.4250 windows
云开发 读取 不同数据模型 数据,有的可以读取,有的无法读取,权限设置都一样?
如图:设定到期时间,到时间让topping字段为空或者删除,取消置顶的功能,在定时项目中,报错:排序字符不合法。求大神指教: [图片] [图片] 插入timelength字段代码: async confirm(e) { const that = this; const code = that.data.code; const timelength = new Date() + code*1000*60*60; const index = that.data.index; const wehicle = that.data.wehicles[index]; const wehicles = that.data.wehicles; wx.showLoading({ title: "正在置顶中..." }) wx.cloud.callFunction({ name: "topping", data: { id: wehicle._id, timelength: timelength, }, success: res => { console.log(res); if(!wehicle.topping){ wehicle.topping = (timelength) }else{ wehicle.topping.push(timelength) } wehicle.istoppinged = true; wehicles[index] = wehicle; if (wehicle.topping) { wx.hideLoading(); wx.showToast({ title: "恭喜!置顶成功!", }) setTimeout(function () { that.setData({ show_input: false, wehicles:wehicles }) }, 800) } else { wx.showToast({ title: "置顶失败,请重新置顶!", }) } } }) }, 定时器代码timer: { "permissions": { "openapi": [ ] }, "triggers":[ { "name":"mytimer", "type":"timer", "config":"*/10 * * * * * *" } ] } 需要执行代码: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() const db = cloud.database() const _ = db.command // 云函数入口函数 exports.main = async (event, context) => { const currentTime = new Date().getTime() // 当前时间的时间戳(毫秒) // 查询所有到期(即当前时间已超过timelength)的文档并更新他们,删除topping字段 return await db.collection("wehicle").orderBy('topping.timelength','lt').watchChanges({ onChange:snapshot => { snapshot.docs.forEach(doc => { if(doc.topping.timelength < currentTime){//如果当前时间超过了timelength,则更新文档,删除topping字段 db.collection("wehicle").doc(doc._id).update({data:{topping:[]}})//清空topping字段或设置为空数组(根据你的需求决定) } }) } }) }
就是比如我修改了文件中某个值为false后,切换页面会重新读取该文件,这时页面呈现的结果是他仍是true,切换几次,重新读取几次他才会读为false
2024-10-11。 项目背景:目前正在做的小程序是采用云开发,使用云函数、云储存等 需实现功能:邀请新用户可获得一定金额奖励,奖励提现需要采用商家转账到零钱 没有做过类似的功能所以有下面的问题。 开发问题: 1.查看了云开发文档,目前云开发中提供了微信支付相关接口和服务端回调,包括统一下单、查询订单、关闭订单、申请退款、查询退款、下载对账单。没有直接提供商家转账到零钱的相关接口。这样就不能免鉴权了。 2.查看商家转零钱API,了解需要传什么参数,发现需要读取两个文件,一个是商户API私钥,一个是微信支付平台证书,这两个文件扩展名为.pem。 3.查看商家转零钱文档发现需要设置接口安全IP 综上,我的理解是只能自己买个服务器,专门为了开发商家转零钱的接口。这个服务器还需要有https。 但我还是希望只通过云开发就能解决,毕竟现在小程序的功能都是基于云开发的。是否能不用购买另外的服务器,实现商家转零钱功能的开发,满足我的功能需求。
[图片]
[图片] https://mmbizwxadpobcos-release-1258344707.cos.ap-shanghai.myqcloud.com/wxabd6448a40289c10/20241010145/ff51c-5daa-e4e6-abf9-57334-webview?append&position=0 这是云开发的地址 ?
假设我在云数据库中有数据: { "_id": "KJhsdas8d79782", "params": ["A", "B", "C"] } { "_id": "KJhsdas8d79783", "params": ["D", "E", "F"] } 我现在有查询条件: ["A", "B", "C", "D", "E"], 我希望查询params同时包含查询条件里面的所有元素的数据,也就是说案例中只有第一条数据满足。应该如何查询呢? 目前看到文档中只有in和all的api,in是只要包含就查询命中, all是需要完全匹配才能查询命中。
首个环境系统会赠送一定免费额度https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/Billing/price.html 在这里的“首个环境”应该如何定义?如何理解?我觉得存在歧义。 如果用户创建首个环境,比如:demo-env01,之后又进行了一次销毁的动作。 第二天,再次创建环境,比如:demo-env02,那这时候是否依旧可以享受免费额度呢?
先谢谢各位大佬的解答了
体验用户是否有修改云存储中文件的权限,取决于云存储的安全规则设置。默认情况下,云存储的权限是“所有用户可读,仅创建者可读写”,这意味着只有文件的创建者可以修改或删除文件,其他用户只能读取文件。
如果您希望体验用户也能修改云存储中的文件,您需要修改云存储的安全规则,赋予体验用户相应的写权限。请注意,修改安全规则后,权限生效需要1-3分钟,请耐心等待。
同时,修改云存储权限为所有人可读写存在一定风险,可能会导致您存储的数据遭到意外访问或未经授权的访问。因此,在修改权限之前,请务必评估您的规则,确保它们可以为您的应用提供所需的最高级别的安全性。
您可以通过云开发控制台查看和修改云存储的安全规则。具体操作步骤如下:
如果您不确定如何设置安全规则,可以参考云存储安全规则文档进行设置。
[图片]
各位大佬好,我现在正在开发一个售后相关微信小程序,目前使用的是云开发,但担心之后上线后使用人数多起来,云开发的流量配额够不够用,会不会卡顿,并且我看云开发只有那一个套餐,我的需求变大了是否只能自己搭建服务器进行开发?麻烦大佬解答一下,谢谢
实现效果:当置顶后,需要按着置顶的时长,自动取消置顶。 如图:当置顶时长到了之后自动删除topping字段,以达到自动取消置顶的效果,自己写了一段代码,能够实现自动删除这个字段,但是当所有数据中都没有topping这个字段后就会报错。哪位大师提供一个更好的实现案例学习下 [图片] [图片] 代码: // 取消置顶 async timer(){ await app.loadUserInfo(); let openid = await app.globalData.userInfo._openid; const toppings = await db.collection("wehicle").where({ _openid: openid }).get() if(toppings){ const wehicles = toppings.data; console.log(wehicles); wehicles.forEach((wehicle, index) => { const id = wehicle._id; console.log(id); if(wehicle.topping.timelength){ setTimeout(function(){ db.collection("wehicle").doc(id).update({ data:{ "topping":_.remove() } }) },wehicle.topping.timelength*1000*60) } }) } },
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/getting-started.html 希望增加预先需要配置工程文件夹miniprogram下的config.js的云开发环境 ID( envId)的表述
手机微信小程序里显示被注销,我很长时间没有打开开发者工具就被自动注销了吗?还能恢复吗?
const db = wx.cloud.database(); db.collection('user').doc(my_db_record_id) .update({ data: { nickname: self.data.inputNickName, avatar_url: fileID, }, success: function(res) { if(res.stats.updated == 1) { console.log("更新数据库成功",res) 其中能够得到更新数据库成功的打印信息,看云数据库内容也确实是更新了,但是updatedAt字段不会自动更新
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验
文档:https://docs.cloudbase.net/storage/security-rules
微信内的文档我们修复下