背景:我们期望讲业务请求(http)都通过云函数发送,而不是直接发送,从而提高安全性 本地环境发送相同请求的耗时对比如下: [图片] 主要是Waiting(TTFB)耗时太长 [图片]
使用了云开发存储功能做小游戏cdn,结果发现上传文件每次都是一个一个上传,实在太慢了,没找到哪里设置能多文件同时上传。麻烦给出解决方案,否则太慢了
通过db.collection().get()获取数据库记录时,会产生CDN流量吗?
假设集合中有300条数据 { val: 'A',desc: 'xx0' } { val: 'A',desc: 'xx2' } ... { val: 'A',desc: 'xx99' } { val: 'B',desc: 'xx0' } { val: 'B',desc: 'xx2' } ... { val: 'B',desc: 'xx99' } { val: 'C',desc: 'xx0' } { val: 'C',desc: 'xx2' } ... { val: 'C',desc: 'xx99' } 在调用云函数时,如果想get结果的顺序是100条val=‘B’,再100条val=‘A’,,再100条val=‘C’ await db.collection('table') .orderBy(???) .get() 这个.orderBy(???)应该怎么写呢? 初衷目的:手机端想实现上滑时,按照顺序的分段加载,即随着上滑,依次列50条B、50条B、50条A、50条A、50条C、50条C 不知道还有没有其他的思路或办法,感谢大神的回复,谢谢!
9月的订单,交易单号4200002346202409147100666709 商户单号:2024091414211861 环境id: prod-dbtpz 云函数支付代码: // 云函数入口函数 //questionPay: exports.main = async (event, context) => { const res = await cloud.cloudPay.unifiedOrder({ body: event.body, // 商品描述,必填 details:event.details,//商品详情 outTradeNo: event.goodsnum, // 商户订单号,必填,不能重复 spbillCreateIp: '127.0.0.1', // 终端IP,必填 subMchId: event.subMchId, // 子商户号,微信支付商户号,必填 totalFee:parseInt(event.payVal), // 总金额,必填 envId: 'prod-dbtpz', // 结果通知回调云函数环境,你自己小程序的坏境id functionName: 'wechatpay', // 结果通知回调云函数名,非必填参数,即使为空,也不影响支付,但是官方文档里写的是必填参数,表示已醉 nonceStr:event.nonceStr,//第三个坑:官方文档中相关云函数代码没有nonceStr和tradeType,测试的时候会报nonceStr不存在的错,翻看文档才发现这个是必填项,直接粘过来以后还需要加上这两个参数 //tradeType:'JSAPI' }); return res; }; 支付函数代码: // 请求questionPay云函数,调用支付能力 _callQuestionPay(body, details,goodsnum, subMchId, payVal) { wx.cloud .callFunction({ name: 'questionPay', data: { // 需要将data里面的参数传给questionPay云函数 body, details, goodsnum, // 商品订单号不能重复 subMchId, // 子商户号,微信支付商户号,必填 payVal, // 这里必须整数,不能是小数,而且类型是number,否则就会报错 nonceStr:uuid(32, 32)//调用自己的uuid函数 不用也行 原来发现错在totalprice没值 }, }) .then((res) => { console.log(res);//商户支付受限 const payment = res.result.payment; console.log('payment:'+payment); // 里面包含appId,nonceStr,package,paySign,signType,timeStamp这些支付参数 wx.requestPayment({ // 根据获取到的参数调用支付 API 发起支付 ...payment, // 解构参数appId,nonceStr,package,paySign,signType,timeStamp success: (res) => { console.log('支付成功', res); wx.showToast({ title: '支付成功', success: () => console.log('success'), fail: () => console.log('failure'), }); this.creatOrder(goodsnum); }, fail: (err) => { console.error('支付失败', err); wx.showToast({ title: '支付失败', success: () => console.log('success'), fail: () => console.log('failure'), }); }, }); }) .catch((err) => { console.error(err); }); }, creatOrder(goodsnum){ //获取缓存中数据 let cart=wx.getStorageSync("cart")||[]; //过滤后购物车数组 cart=cart.filter(v=>v.checked); //把商品信息写进body var order_item=[]; for(let i=0;i<cart.length;i++){ order_item.push({ cloth_id:cart[i].cloth_id, cloth_price:cart[i].cloth_price, cloth_notes:cart[i].cloth_notes, num:cart[i].num }); } const address=wx.getStorageSync("curAddr"); const totalPrice=this.data.totalPrice; //获取当前时间戳 转换成北京时间 //console.log("after bejing: "+utc_beijing(app.globalData.serverDate)); let curBeijingTime = formatTime(new Date())//utc_beijing(app.globalData.serverDate); console.log("当前北京时间为:" + curBeijingTime); //写入数据库 const testDB = wx.cloud.database({ //env: 'test-3aahe' env: 'prod-dbtpz' }) testDB.collection('orders').add({ data: { _id:goodsnum, product:order_item, totalPrice:totalPrice, address:address, orderDate:curBeijingTime, status:'待发货', curName:this.data.curName, curId:this.data.curId }, success: function(res) { // res 是一个对象 console.log("订单添加成功") wx.showToast({ title: '订单提交成功,如有问题请联系客服', icon: 'none', duration: 3000, success: function () { setTimeout(function() { // wx.navigateTo({url: '../order/index?type=1',})//跳转到order页面要给个参数要不没order list wx.switchTab({url: '../user/index',}) }, 3000); } }); } }) wx.setStorageSync("cart",[]);//清空购物车 },
如何每次打开小程序加载图片时,都会产生CDN流量,那么如何调整呢?如果将图片下载到本地,将会有100多MB的大小,允许储存吗?
哪个是真实的后续一直维护开发的,哪个是KPI项目,内部有人清楚吗?
我用相同的代码写了两个云函数,分别放在共享云环境和独享云环境中调试,确保了每个云环境中都有一个叫users的数据集合,在前端页面的调用代码也一模一样,但是结果却截然不同,独享云环境(以自定义内容开头)里,云函数对数据库的操作一切正常,而在共享云环境(education开头)里,云函数在操作数据库时,提示:{errCode: -502005, errMsg: "collection.get:fail -502005 database collection no…ud-admin#/copilot?q=DATABASE_COLLECTION_NOT_EXIST"} 但是已经反复检查过,已创建数据集,而且名称无误。更奇怪的是,在共享云环境下,直接调用API操作这个指定名称的数据集,又是正常的,无论读还是写,就是调用云函数的时候不行。
[图片]一直没问题,查了条数,还没用完
可视化数据库管理工具,操作界面可以给数据库中上传图片,但删除的时候,只删除了数据库中的链接,图片还是在云存储中。这样会导致云存储中留下很多没用的图片。强烈建议在数据库操作界面删除图片的时候增加一个选项是否同时删除云存储图片文件。
[图片]该云开发环境,没有欠费,请尽快处理业务了,
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/guide/database/read.html 在云服务数据库中,使用Promise方式查询数据,发现查询不到,使用普通回调方式查询数据库能查询得到。 并且在云函数中,console.log或者console.err没有打印,云函数中的这些打印会在哪里显示? // 创建集合云函数入口函数 exports.main = async (event, context) => { const operate_type = event.operate_type; if (operate_type === "query") { const union_id = event.union_id; // 根据用户UnionID查询数据库中的用户信息 let hasData = false; let userinfo = []; const collection = await db.collection('xiyu_user') collection.where({ // UnionID: 'oScWS7eBl9IYYEcH8zbuPdxC5kII' UnionID: union_id }) .limit(10) .get() .then( res => { if (res.data.length > 0){ hasData = true; userinfo = res.data; }else{ hasData = false; userinfo = res.data; } }) .catch (err => { // 这里catch到的是该collection已经存在,从业务逻辑上来说是运行成功的,所以catch返回success给前端,避免工具在前端抛出异常 console.error("query user info error: ", err) }) return { success: hasData, data: userinfo }; } };
我在button 的 tap 绑定代码 ({event}) => { $w.utils.scanCode({ onlyFromCamera: false, success: (res) => { $w.utils.showToast({ title:res.result }) } }) } 发布体验版,在手机调试点击button按钮后,就报以下错误。 [图片]
急问谢谢:项目采用任务表单形式调COLOURUI样式实现一个简单的数据库存取功能,文件结构和依赖配置见上传图片2.定义了uploadTodoList云函数、downloadTodoList云函数访问数据库,采用await云端异步上传和下载数据如: “ return await db.collection('todos').doc(wxContext.OPENID).set({。 ”云函数已上传部署,云函数云端测试通过,本地安装了node.js,但未配置本地测试,于是采用的是云端测试云函数,均能成功返回。在小程序端实现云同步:在本地缓存中更新数据的同时,也必须要向云端上传数据;在本地缓存中读取数据前,首先要向云端获取最新数据;设置全局变量lockData为true时才允许在本地修改数据。但是模拟器运行时,点击保存按钮,无法保存数据,云函数回调进入fail的提示,无法对数据库进行操作。如下图1: [图片] 图2文件结构及依赖: [图片]
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/reference-http-api/https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/billing/instruction.html 问题1:开通云开发至少要19.9元每月的意思?我用不了19.9元包含的那么多内容,能不能直接按量计费? 问题2:开通了云开发之后,云函数和云数据库是不是另外还要给钱?
欠费超过7天资源释放了,续费后无法正常使用,该如何处理? [图片] [图片]
"resourceEnv": "xd-coffee-5gqwrfi9568ad835" //环境 "resourceAppid": "wxa8daa8c7e5199273" //第三方平台appid "extAppid": "wx4540b11d2d2aca56" //商家appid 批量代云开发 用这个触发云函数api 文档地址 curl -d '{}' \ 'https://api.weixin.qq.com/tcb/invokecloudfunction?access_token=ACCESS_TOKEN&env=ENV&name=login' 注意事项由 HTTP API 触发的云函数可以使用云调用。注意事项写的是可以使用云调用 我在同一个云函数里调用了 cloud.openapi({ appid }).subscribeMessage.send //这个用了好几年了 一点问题没有 cloud.openapi({ appid }).cloudbase.addDelayedFunctionTask //新加上去的 发现会报错 下面是报错的信息 大腿大神能不能帮忙看看 谢谢 感谢万分 <3 { status: 'rejected', reason: CloudSDKError: errCode: -501000 | errMsg: openapi.cloudbase.addDelayedFunctionTask:fail 未找到指定的 Namespace,请创建后再试。 TcbCode: [ResourceNotFound.Namespace] rid: 673b95dd-3221d179-0ffed976 at callWXOpenAPI (/var/user/node_modules/wx-server-sdk/index.js:2397:31) at processTicksAndRejections (node:internal/process/task_queues:96:5) { errCode: -501000, errMsg: 'openapi.cloudbase.addDelayedFunctionTask:fail 未找到指定的Namespace,请创建后再试。 TcbCode: [ResourceNotFound.Namespace] rid: 673b95dd-3221d179-0ffed976' } }
如题,目前小程序所有功能均使用云函数开发,在物流插件的api文档中没有看到云函数的调用方式,是必须要独立后端调用接口吗?
购买的是19.9的基础基础套餐,要更换去哪里选择
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/guide/model/mysql.htmlhttps://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/basis/getting-started.html 你好,我想要了解更多关于【数据模型SDK】使用办法时,在该页面点击【增删查改】后跳转到了404界面,我应该如何获得这个文档的完成使用说明书?[图片]
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验
物理限制 无解