- 使用微信的Nativ开发,设置了回调但是一直没有出发支付成功回调接口是为什么?
const result = await wechatpay.transactions_native({ description: order.title ? order.title : '购买商品', // 商品描述 out_trade_no: orderId, // 订单号 notify_url: 'https://xxxxx.xxxxxx.com/ser/pay-wx-callback', // 支付结果通知地址 amount: { total: Math.round(order.amount * 100), // 订单金额,单位为分 currency: 'CNY', // 货币类型 }, scene_info: { payer_client_ip: 'xx,xx,xx,xx', // 用户的客户端 IP }, }); // 回调接口 app.post("/ser/pay-wx-callback", express.raw({ type: 'application/json' }), async (req, res) => { 回调接口一直没有调用,这是为什么???
1天前 - 开发网页授权获取用户基本信息时,配置了网络授权域名还是一直报10003是为什么?
如图已经正确配置网页授权域名并且成功 代码也反复核对过,没有错 [图片] 网上的操作试了一遍还是不行,有没有遇到问题的?
03-18 - 小程序在使用triggers调用云函数,发送模版消息不能设置具体时间调用,必须设置多次调用才生效?
今天遇到一个很神奇的问题,使用triggers触发云函数时,如果设置具体的时间,比如设置每天20点调用,这个时候云函数是会被调用,但是消息一定不会被发送出去,最后试验发现,只要设置多次调用,那就可以。 但是感觉不应该这样做,首先这种做法偶然性太强,其次太过于耗费资源,大家在写触发消息时是怎么写的呢? // 云函数入口文件 const cloud = require('wx-server-sdk') let skipData = 0 // 分页跳过的数据 let numberPatients = [] // 患者数量 cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, }) const db = cloud.database() // 查询当日患者 async function getTodayPatient() { let date = new Date(); let year = date.getFullYear(); let month = (date.getMonth() + 1).toString().padStart(2, '0'); let day = date.getDate().toString().padStart(2, '0'); let newDate = year + '-' + month + '-' + day; // console.log('3333',newDate) try { let res = await db.collection('patient_record') .where({ opeTime: newDate }) .skip(skipData) .limit(20) .get(); // console.log('4444',res) return res.data; } catch (error) { console.error('查询失败', error); return null; } } // 递归查询患者 async function getPatient() { let temp = [] let res = await getTodayPatient(); // console.log('2222',res) if(res && res.length > 0){ skipData = skipData + 20 temp = res } numberPatients.push(...temp) if(temp.length === 20){ // 数据存在20,表示有可能还有数据,继续递归 getPatient() }else{ return numberPatients } } /** * 循环数据发送信息给患者 * @param {object} patientsData 患者的数据 */ function sendMessage(patientsData) { const templateId = 'Gnr32LdpxdA58DX-zDGi3OSKUEmLivBJ9MBig6BSp-Q' // 模版编号 const { _openid, username, opeTime, phone } = patientsData try { cloud.openapi.subscribeMessage.send({ touser: _openid, // 通过 getWXContext 获取 OPENID page: '/pages/myLogin/index', // 点击跳转的页面 lang: 'zh_CN', data: { // 信息的内容 name1: { value: username }, date3: { value: opeTime }, phone_number4: { value: phone }, thing7: { value: '今天是您预约手术时间,请安时到达医院。' } }, templateId, miniprogramState: 'developer' }); console.log(_openid + ' ' + '订阅消息发送成功'); } catch (err) { console.error(_openid + ' ' + '订阅消息发送失败:', err); } } exports.main = async (event, context) => { // 获取患者数据,循环发送消息 let temp = await getPatient() // let logArr = [] // let logArrItem if(temp && temp.length > 0){ temp.forEach(item=>{ // logArrItem = sendMessage(item) sendMessage(item) // logArr.push(logArrItem) }) }else{ console.warn('没有预约患者需要发送通知') } // return logArr } 我是获取一个数组然后循环发送,需求是可以实现,但是总觉得这种写是错误的。 "triggers": [ { "name": "tomylove", "type": "timer", "config": "*/10 29 * * * * *" } ] 多次调用,但很多次是失败的 [图片]
2024-07-03 - 触发器怎么触发一个函数呢?
在云函数中添加触发器 [图片] [图片] 如果只想触发云函数里面的一个函数 [图片] 这种要怎么办,还有一点不是很明白,触发器里面的name具体有什么作用呢?有没有大佬知道?
2024-06-26 - 小程序里调用订阅通知,只能通过按钮调用吗?
今天遇到一个奇葩的问题,我在录入患者资料以后需要告知对方一些信息(如:就诊时间),我再保存以后调用授权API,就调用失败: db.doc(this.data._id) .update({data}) .then(()=>{ wx.showToast({ title: '数据修改成功', icon: 'success', duration: 1500, success:()=>{ // this.pageTo('', 1500) this.saveEditMessage() // 调用授权接受消息函数 } }) }) 我以为是自己消息函数有问题,然后使用按钮调用,然后就可以: <button type="primary" bindtap="saveEditMessage">授权</button> 调用授权(简化): saveEditMessage(){ wx.requestSubscribeMessage({ tmplIds: [tmplIds], success: res => { console.log('订阅消息 成功:' + res); }, fail: err => { console.error("订阅消息 失败:" + err); } }) } 这是我代码的问题还是小程序故意设置这种要求??如果是,实在想不通为什么要这样搞。
2024-06-26 - 为什么我取消‘拒绝消息’还是一样报“用户拒绝消息”呢?
在开发消息模块,遇到一个问题,用户1.首先启用拒绝消息: [图片] [图片] 2.然后用户取消拒绝消息,再次发送消息,还是一样消息被拦截: [图片] [图片] 3.清除授权,再次订阅消息,发送就可以: [图片] [图片] [图片]
2024-06-20 - 为什么始终获取不到OpenID?
[图片][图片]
2024-03-15