微信云开发官网
如图,当点击查询按钮时,报错,当点击选项卡的时候,获取到对应的数据,当下拉刷新时,没有反应,当点击选项卡时,获取到对应的数据。求指教,这个查询条件的索引要如何弄? [图片][图片] data: { title: ["全部", "我要找车", "我要找人", "我找货车", "我要找货"], hasmore: false, vehicles: '', startPoint: '', goal: '', isQuerying: false, currentIndex: '', vhereRes: '', }, /** * 获取选项卡 */ onItemChengdeEvent(event) { var index = event.detail.index; this.setData({ currentIndex: index }); if (!this.data.isQuerying) { this.lowdrelease(); } else { this.onchaxun() } }, /** * 获取数据库数据 */ async loadData(start = 0, vehicle) { const that = this; const index = that.data.currentIndex; let query = {}; switch (index) { case 0: break; case 1: query = {carpool: '我要找车'}; break; case 2: query = {carpool: '我要找人'}; break; case 3: query = {carpool: '我找货车'}; break; case 4: query = {carpool: '我要找货'}; break; } console.log(query) const vhereRes = { startPoint: db.RegExp({ regexp: that.data.startPoint, options: 'i' }), goal: db.RegExp({ regexp: that.data.goal, options: 'i' }) }; console.log('查询事件起点和终点条件', vhereRes) const quer = that.data.isQuerying ? _.and(vhereRes, query) : query; console.log(quer) const promise = db.collection(vehicle).skip(start).limit(2) .orderBy("redden.reddenStartTime", 'desc') .orderBy("topping.toppingStarttime", "desc") .orderBy("create_time", "desc"); const dataRes = await promise.where(quer).get(); const vehicles = dataRes.data; console.log(vehicles); const countRes = await db.collection(vehicle).where(quer).count(); const total = countRes.total; console.log(total) const newVehicles = start > 0 ? this.data.vehicles.concat(vehicles) : vehicles; newVehicles.forEach((vehicle, index) => { vehicle.create_time = vehicle.create_time.toString(); }); const hasmore = false return {newVehicles,total,hasmore}; }, /** * 获取初始数据 */ async lowdrelease(start = 0) { const that = this; const {newVehicles: vehicles,total: vehiclesTotal,hasmore: hasmore} = await that.loadData(start, 'vehicle'); that.setData({ vehicles: vehicles, hasmore: hasmore, result: vehiclesTotal }) }, /** * 点击查询事件 */ async onchaxun(start = 0) { const that = this; that.setData({ isQuerying: true, }) const {newVehicles: vehicles,total: vehiclesTotal,hasmore: hasmore} = await that.loadData(start, 'vehicle'); that.setData({ startPointStr: '', goalStr: '', vehicles: vehicles, hasmore: hasmore, result: vehiclesTotal }); },
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-message-management/updatable-message/setChatToolMsg.html,在云函数中调用修改小程序聊天工具的动态卡片消息接口,不生效报errcode:101 [图片][图片]
[图片] 在申请数据库访问时,一直渲染不出图片,反复查找问题后,发现是无法生成图片的临时URL,查看云存储,发现无法更改权限,一改就要报错,试用期能不能也把这个权限放开呢?
云函数的日志报错:{"errcode":"InnerError.FailedOperation","errmsg":"{\"message\":\"微信支付SDK请求失败, 响应码:403,错误码:NO_AUTH, 错误信息: 此商家的收款功能已被限制,暂无法支付。商家可登录微信商户平台/微信支付商家助手小程序/经营账户页面查看原因和解决方案。\"}"} 在商户助手里没看到受限制 日志 开发工具报错:{errMsg: "requestPayment:fail parameter error: parameter.tim…er.paySign should be String instead of Undefined;"} 这个是跟哪里有关呢,谢谢!
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloudrun/src/development/call/mini.html
[图片] 本来这里面有很多记录,都是生产环境的。但是不知道为什么数据突然全没了
[图片] 云函数中的查询数量已经得到,但是页面js端,想要拿到数字 1 的时候,返回值类型为object这是为何呢 [图片] 请问这个数据如何才能拿到,还是需要变化下类型把object换成number就可以了 感谢您的回复。 返回json格式,还是返回NUll [图片] [图片]
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/basis/concepts/environment.html 在实际开发中,建议每一个正式环境都搭配一个测试环境,一般需要购买两个吗?
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloudrun/src/guide/service/image.html
[图片] 设置了主键securityCode为唯一主键,导入相同数据时,确实感知到了主键冲突,但并没有进行update操作,而是直接报错
微信云开发是否可以用于企业微信小程序开发,服务端的api调用,企业微信自建应用要设置ip白名单以及可信任域名[图片]
[图片]
之前一直在用,现在小程序没有备案,是不是用不了了。备案后是不是就可以用了。 [图片]
[图片]日志内容 Request ID: 2429c522-0c8c-49d5-a2b1-89b223fadc3f 执行时间: 0ms内存使用: Zero KB 返回结果 (空) 日志 云函数初始化完成 cloudbase适配器初始化完成 cloudbase适配器初始化完成 TypeError: Cannot read properties of undefined (reading 'toString') at writeRuntimeFile (/data/scf/frame/node16/runtime.js:65:37) at main (/data/scf/frame/node16/runtime.js:259:7) at Object.<anonymous> (/data/scf/frame/node16/runtime.js:268:1) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47 START RequestId: b32a909f-783c-4c0c-8cbc-49afc64e5fb6 Init Report RequestId: b32a909f-783c-4c0c-8cbc-49afc64e5fb6 Coldstart: 9ms (InitRuntime: 9ms InitFunction: 0ms) Memory: 256MB MemUsage: 0.00MB ERROR RequestId: b32a909f-783c-4c0c-8cbc-49afc64e5fb6 Result: {"errorCode": -1, "errorMessage": "145 code exit unexpected", "statusCode": 443} END RequestId: b32a909f-783c-4c0c-8cbc-49afc64e5fb6 Report RequestId: b32a909f-783c-4c0c-8cbc-49afc64e5fb6 Duration: 0ms Memory: 256MB MemUsage: 0.000000MB
在模拟器上,wx.request开启enableChunked,同时并发超过10次后,再请求其他接口,都无法请求,Network上也看不到请求是什么原因?但是我在真机上是可以正常请求。 [图片] [图片] 希望官方能解释一下?
同一主体下的小程序A和小程序B,共同使用小程序A的云开发环境,按照说明已经完成配置。 调用资源方小程序B 可以 在app.js中 通过 wx.cloud.database({env:"小程序A的环境id"}), 成功初始化;但是在读取数据库内容时,失败。 同样的代码,在资源方的小程序A里,可以成功走通。 这是初始化代码: wx.cloud.init({ resourceAppid:'wx41xxx5185', env:'grxxxxx30472' }).then((res)=>{ console.log("ok init"); }).catch((err)=>{ console.log("error init") }); App({}) 这是页面读取数据库代码: // index.js const db=wx.cloud.database(); Page({ get:function(){ console.log("start get document..."); db.collection('programList').doc('a40fc074675797030245a7ba3d163aa9').get({ success:(res)=>{console.log("okkk")}, fail:(err)=>{console.log("oh no")} }); } }) 这是console.log的输出。 [图片]
初始化云环境(免费配额): javascript // app.js wx.cloud.init({ env: "your-env-id", // 自动生成的环境ID traceUser: true
很长一段时间没进行小程序维护,现在登录发现之前保存在云开发DB中的数据表都不见了 之前云开发环境中的keyvalue数据库是免费提供的,里面存了很多数据,现在打开云开发,发现环境和数据库都不见了,如何找回数据啊?
触发器设置:[图片] 云函数是最基础的: // 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境 // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() console.log("测试云函数正常运行"); return { event, openid: wxContext.OPENID, appid: wxContext.APPID, unionid: wxContext.UNIONID, } }
try { const result = await cloud.openapi.cloudbase.addDelayedFunctionTask({ "env": '这里是我的云环境ID', "data": JSON.stringify(_id), "functionName": 'topCancel', "delayTime": 60 }) return result } catch (err) { return err } }) } 网上关于这部分的资料很少,我根据官方文档写了一个,有如下问题: 1、我是在调用云函数A后希望延时调用云函数B(topCancel),上面这段代码能否写在云函数A里面,相当于在A执行成功后开始延时调用B? 2、上述代码中“env”的环境ID是否还要填呢? 3、data中,看官方文档一定要为json格式,我需要往云函数B中传入一个“_id”,这样写是否可以,传入B后,是不是还要转换? 期待解答,谢谢。
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验
根据您提供的信息,当点击查询按钮时报错,错误码为 `-601002`,这通常表示查询条件存在问题。以下是一些可能的解决方案和建议:
1. 查询条件:
确保查询条件的格式正确,特别是字段名和值的匹配。
检查是否有拼写错误或语法错误。
2. 索引优化:
确保数据库表中的相关字段已经建立了索引。索引可以显著提高查询效率。
如果查询条件涉及到多个字段的组合,可以考虑创建复合索引。
3. 调试信息:
查看详细的错误信息,通常会包含请求 ID (`requestid`),可以帮助定位问题。
使用 `console.log` 或其他调试工具输出查询条件和响应结果,以便更好地理解问题所在。
4. 网络请求:
确保网络请求正常,没有被拦截或中断。
检查是否有跨域请求的问题。
5. 代码逻辑:
确保在点击查询按钮时,正确触发了数据请求的逻辑。
检查是否有其他代码逻辑干扰了查询操作。
以下是一个简单的示例,展示如何在点击查询按钮时触发数据请求:
```javascript
document.getElementById('queryButton').addEventListener('click', () => {
const query = {
// 你的查询条件
};
fetch('/api/query', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(query)
})
.then(response => response.json())
.then(data => {
console.log('请求结果', data);
})
.catch(e => {
console.log('错误代码', e.code, '错误信息', e.message);
});
});
```
如果问题依然存在,建议提供更多的代码细节或错误日志,以便进一步诊断问题。