放弃吧,正式版 前端不能请求 api.weixin.qq.com 域名,只能服务端请求
nodejs版本解密手机号报错?查阅不少资料已经按照不少答案改了一下午还是不对。刚刚受一位大哥指导,重新修改了代码,但是还是解密的时候报错。以下是更新后的代码 在登录页面中的onLoad中: onLoad() { let _this = this uni.login({ success(res) { if (res.code) { uniCloud.callFunction({ name: 'sys_getSessionKey', data: {js_code: res.code}, success(res) { this.session_key = res.result.session_key } }) } } }) }, 在云函数sys_getSessionKey通过js_code、appId、appSecret已经获取到了sessionKey。(这里就不展示代码了,会提示泄露隐私) 然后在获取手机号的时候button上@getphonenumber="toGetPhone" 在toGetPhone方法中: toGetPhone(e) { let _this = this if (e.detail.errMsg == "getPhoneNumber:fail user deny") { return uni.$u.toast('您已经取消授权') } else { uniCloud.callFunction({ name: 'gr_quickLogin', data: { code: e.detail.code, encryptedData: e.detail.encryptedData, iv: e.detail.iv, sessionKey: _this.session_key }, success(res) { console.log(res) } }) } }, 在gr_quickLogin云函数中: 'use strict'; exports.main = async (event, context) => { const WXBizDataCrypt = require('./WXBizDataCrypt.js') var appId = "wx**************54" var sessionKey = event.sessionKey var encryptedData = event.encryptedData var iv = event.iv var pc = new WXBizDataCrypt(appId, sessionKey) var data = pc.decryptData(encryptedData , iv) console.log('解密后 data: ', data) //返回数据给客户端 return data }; 其中WXBizDataCrypt.js使用的是官方提供的js 最后还是报错: 17:00:34.307 [本地调试]Error: Illegal Buffer 17:00:34.308 [本地调试] at global.__tempModuleExports.WXBizDataCrypt.decryptData (/Users/mengxiandong/Documents/HBuilderProjects/gr_ski/uniCloud-alipay/cloudfunctions/gr_quickLogin/WXBizDataCrypt.js:25:11) 17:00:34.308 [本地调试] at global.__tempModuleExports.exports.main (/Users/mengxiandong/Documents/HBuilderProjects/gr_ski/uniCloud-alipay/cloudfunctions/gr_quickLogin/index.js:9:16) 17:00:34.308 [本地调试] at process.processTicksAndRejections (node:internal/process/task_queues:95:5) 实在不知道为啥了,已经翻页了一下午的文档,看了各种案例。(前提是之前用java的后端没问题,最近想做迁移到uniapp云开发上,这块一直报错不知道为啥)
09-27这不就是分享吗?右上角三个点,弹窗里面有个 分享给朋友(发送给朋友);需要在页码代码中配置 onShareAppMessage
如何在小程序中实现打开微信好友列表,点击选择好友后会给好友发送一个小程序消息?在论坛和官网文档中没查到如何实现而且查到的都是说不能实现,但是我在某小程序中有看到该功能(该小程序我还在用) [图片]
09-27填写的服务器配置地址,响应的这个事件内容不合法 [图片]
收到这个报警,推送出去的模板消息是否发到用户那了?[图片]
09-27v2版本有沙箱,v3没有。但是现在沙箱也没啥用,还不如直接用正式的走
微信支付有开发人员测试方式或环境吗(沙箱环境能用吗)还是说只能用正式的商户号和appid进行开发
09-27订阅一次发送一次。还有你是在哪个版本(开发、体验、正式)订阅的?推送消息打开的默认是正式版
一次性订阅消息后台推送一直是43101?{"errcode":43101,"errmsg":"user refuse to accept the msg rid: 66f62633-37906e90-07b0cac6"} 2024-09-27 11:27:47.661 WARN 5732 --- [io-22919-exec-6] wx.getSetting({ withSubscriptions: true, success(res) { console.log(res.subscriptionsSetting) if (res.subscriptionsSetting.mainSwitch) { let itemSettings = res.subscriptionsSetting.itemSettings; console.log('itemSettings', itemSettings) if (itemSettings) { if (itemSettings['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] != 'accept') { wx.showModal({ title: '提示', content: '检测到您未开启订阅消息,是否前往设置?', success(res) { if (res.confirm) { wx.openSetting({ withSubscriptions: true, success: (openSetRes)=> { wxSubmsgFail(openSetRes) }, fail: function(err) { } }); } } }) } uni.requestSubscribeMessage({ tmplIds: ['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'], success(res) { if (res.errMsg == 'requestSubscribeMessage:ok') { if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'accept') { _saveOrUpdate(true) uni.showToast({ title: '订阅消息成功~' }); console.log('requestSubscribeMessage',true) } if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'reject') { _saveOrUpdate(false) uni.showToast({ title: '订阅消息失败~' }); console.log('requestSubscribeMessage',false) } } } }) } else { uni.requestSubscribeMessage({ tmplIds: ['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'], success(res) { if (res.errMsg == 'requestSubscribeMessage:ok') { if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'accept') { _saveOrUpdate(true) uni.showToast({ title: '订阅消息成功~' }); console.log('requestSubscribeMessage',true) } if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'reject') { _saveOrUpdate(false) uni.showToast({ title: '订阅消息失败~' }); console.log('requestSubscribeMessage',false) } } } }) } } else { if (res.subscriptionsSetting.itemSettings) { wx.showModal({ title: '提示', content: '检测到您未开启订阅消息,是否前往设置?', success(res) { if (res.confirm) { wx.openSetting({ withSubscriptions: true, success: (openSetRes)=> { wxSubmsgFail(openSetRes) }, fail: function(err) { } }); } } }) } uni.requestSubscribeMessage({ tmplIds: ['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'], success(res) { if (res.errMsg == 'requestSubscribeMessage:ok') { if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'accept') { _saveOrUpdate(true) uni.showToast({ title: '订阅消息成功~' }); console.log('requestSubscribeMessage',true) } if (res['PhwVDy9PilecpFbpZKYm9YrqC6NtgUoFXF5D3dbVofo'] == 'reject') { _saveOrUpdate(false) uni.showToast({ title: '订阅消息失败~' }); console.log('requestSubscribeMessage',false) } } } }) } } })
09-27web-view 不支持 支付;只能跳回小程序 使用小程序支付
在小程序中尝试调用WeixinJSBridge.invoke但失败,如何能调用wechatPay?在小程序中使用web-view调起网页,然后在网页中尝试调用WeixinJSBridge.invoke('getBrandWCPayRequest',{...})但失败,没有成功调用wechatPay。 在使用同一段代码的情况下,倘若使用不校验合法域名、web-view(业务域名)作测试,则能成功调用wechatPay。 原因为何,以及该如何排难/解决? 已检查过并确认 jweixin-1.6.0.js 储存并从已申请的业务域名上调出使用。
09-27[图片] 如果类目符合的话,在此社区发帖,格式说明如下图,至于能否通过也是个未知数(大概率会被拒绝);可以考虑用公众号模板消息或者短信 [图片]
怎么申请小程序长期订阅消息模板?[图片]
09-27用户填写。公众号没有获取手机号的方法
用户关注公众号之后,需要如何获取到用户的手机号?用户关注公众号之后,需要如何获取到用户的手机号
09-27微信小程序中 可以使用web-view 打开链接,但是需要配置业务域名
在微信小程序中能用微信浏览器打开一个链接吗?在微信小程序中能用微信浏览器打开一个链接吗?
09-26非必须。有文字和无文字的点击区域可能不一样哦
wx-open-launch-weapp必须写跳转小程序这5个字?wx-open-launch-weapp 中的<button class="wx-btn">跳转小程序</button> 做跳转自定义按钮样式,不想用微信默认的,发现去掉这5个字就不跳转小程序了...........
09-26