- 微信官方的隐私保护弹窗怎么使用?
[图片] 如图,还没看到有官方弹窗啊
2023-10-17 - 小程序之私密消息解码解决方案-解码失败问题
最近在调试小程序私密消息,本人也是第一次用此功能,最后遇到一个比较大的问题,按照官方文档走下来,最后发现最后一步解码不好用,交流社区看了很多社友也遇到同样的问题,官方一直没有答复。 起初我也以为是大家自己问题,但调试下来,我最后发现此问题不是大家没用对,就是官方一个失误,这块官方应该没有做到严格的测试就上线了,好在问题好修复。 进来直接寻求结果同学,可以直接拉到最后,拿走改好的代码文件就可以了,如果关注过程,学习下经验的同学,可以从头看完,其实这事细纠起来,挺有意思,虽然问题好修正,但是这个事情的过程很值得学习,测试上有周全,返回值类型各个接口也没有保持一致。 下面会把这三个方面都剖析出来,如果有腾讯小程序的成员看到,希望能尽快修复此问题。 官方链接 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.htm 前面的过程都没有问题,问题在于收到消息用户打开消息卡片时,收到了 数据结构如下 { errMsg: 'authPrivateMessage:ok' valid: true, iv: 'xxxx', encryptedData: 'xxxxxx' } 到此一切都是正常,没有问题,就是在解密 encryptedData,解不出来。 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/signature.html [图片] 开放数据获取二种方式,这个问题也是很巧合,这两方式在此问题上都行不通。 先说方式二,按理说,这个方式我最希望用,因为实现简单,我后端是结合云开发,解密数据是维护用户登录状态,用code 还得换取session_key 然后手动去解密.... ,这里不多说了,不支持,对于我们来说一点发挥余力也没有,希望官方能早日支持,类getShareInfo 只要一个cloudID 就好了。 这块不了解的同学可能糊涂了,没关系可以略过这一段。 再说方式一,这是本文的重点, 既然方式二不行,只能方式一了, 按照按照文档一步一步走下去,问题这个示例代码上,下载了示例代码, [图片] 经过一段时间苦逼的折腾,把有问题的代码给修复了,程序员就是这么秃的,哎! 修正后,直接解码出来了。 这在云函数里调用的,如下 。 [图片] 终于拿到解密数据,这个其实就是activityID ,(关于转发的activityID 设计上我还觉得还有商榷地方,用着不是很方便, 比如动态消息,转给个人就拿不到shareTicket ,转给群才有,这个很奇怪,做协同应用这个很有用,不是营销那种转发,我觉得这个官方只考虑了那种营销场景,这得另开篇再议) 我将代码重封装一了下,下面是调用示例。需要代码可以找我要,vx:pig9pig 修改后的正确的代码 const WXBizDataCrypt = require('../decrypt/WXBizDataCrypt'); try { const cryptor = new WXBizDataCrypt(APPID, sessionKey); const decryptData = cryptor.decrypt(encryptedData, iv); return decryptData; } catch (e) { console.log(e); } //调用 小结一下,希望官方一是修复下示例代码,另外非常非常期待官方,方式二给实现了, 就是云调用直接获取开放数据。 还有就是动态消息转发给个人拿不到ShareTicket 问题也权衡一下。 感谢小程序团队带来贡献,抱拳!
2023-05-27 - 11月9日小程序获取用户头像、昵称接口再次改版???为了还原用户授权和之前一样,分享实用代码,复制即用。
先看效果 [图片] wxml代码 <!-- //////////////////////////////////////////////////////////////////////////新版本获取用户微信头像和昵称 --> <view style="margin: 100px 0 0 0;background-color: #00000096;position: fixed;top: 0;width: 100%;height: 100%;z-index: 99999;display: flex;align-items: center;justify-content: center;"> <view wx:if="{{show_get_avatar}}" style="background-color: #fff;border-radius: 20rpx;width: 75%;padding: 3%;"> <view style="display: flex;justify-content: center;font-size: 32rpx;font-weight: 800;">授权微信登录</view> <view style="height: 20rpx;"></view> <view style="display: flex;justify-content: center;font-size: 28rpx;width: 80%;margin: 0 0 0 10%;">为了完善用户个人信息,我们需要获取您的微信头像和昵称</view> <view style="height: 20rpx;"></view> <button wx:if="{{!show_get_nickname}}" open-type="chooseAvatar" bindchooseavatar="get_avatar" style="font-size: 25rpx;background-color: #00810b;color: #fff;">点击授权头像</button> <view style="height: 20rpx;"></view> <view style="display: flex;justify-content: center;"> <image wx:if="{{show_get_nickname}}" src="{{avatar}}" style="width: 80rpx;height: 80rpx;border-radius: 50%;"></image> </view> <view style="height: 20rpx;"></view> <form bindsubmit="get_nackname_form"> <view style="display: flex;justify-content: center;align-items: center;"> <input wx:if="{{show_get_nickname}}" type="nickname" bindtap="get_nickname" placeholder="点击授权昵称" name="nickname" style="text-align: center;width: 48%;font-size: 25rpx;background-color: #00810b;color: #fff;border-radius: 10rpx;height: 60rpx;" placeholder-style="color:#fff;font-weight:800;text-align: center;"></input> </view> <view style="height: 20rpx;"></view> <view style="display: flex;width: 90%;margin: 0 0 0 5%;"> <button style="font-size: 25rpx;">不登录</button> <view style="width: 20rpx;"></view> <button formType="submit" style="font-size: 25rpx;background-color: #009aa5;color: #fff;">立即登录</button> </view> </form> </view> </view> <!-- //////////////////////////////////////////////////////////////////////////新版本获取用户微信头像和昵称 --> js代码 //////////////////////////////////////////////////////////////////////////新版本获取用户微信头像和昵称 get_avatar(e){ console.log(e.detail.avatarUrl) this.setData({ show_get_nickname:1, avatar:e.detail.avatarUrl, }) }, get_nackname_form(e){ console.log(e.detail.value) if(e.detail.value.nickname==""||!this.data.avatar){ console.log("请授权") wx.showToast({ title: '请授权头像和昵称', icon: 'none', duration: 1000 }) }else{ var user_info={ avatar:this.data.avatar, nickname:e.detail.value.nickname } wx.setStorageSync('user_info', user_info) console.log(wx.getStorageSync('user_info')) } } //////////////////////////////////////////////////////////////////////////新版本获取用户微信头像和昵称 给个关注么么哒~~,接小程序开发,大家一起讨论技术~~
2022-11-17 - 【微信支付新人必读】智慧的提问,快速的解答
写在开头 在技术社区里,你技术提问的解答情况,很大程度上取决于你提问的方式与解决此问题的难度。 智慧的提问就是好的提问习惯和好的提问规范的结合,它能让你事半功倍。至少在微信支付社区,它是真实成立的 如果您没有时间读完全文,请务必读完微信支付社区提问智慧 首先来看一下,微信支付社区的智慧提问法则: 微信支付社区提问智慧 好的提问习惯 如果你有以下几个提问习惯,能直接解决大部分你想问的问题~ [代码]1. 尝试在搜索框中搜索答案; 2. 尝试阅读相关官方文档以找到答案; 3. 尝试阅读FAQ以找到答案; 4. 尝试自己检查或试验以找到答案; [代码] 好的提问规范 好的提问规范,能在最快的解决让你得到最优效的解答~ [代码]请用陈述句准确描述问题 1. 标题定位到微信支付具体业务,比如:支付分、代金券、普通支付、合单支付等; 2. 50+字详细准确描述问题的症状: 3. 包含必要的错误信息、期待的结果; 4. 包含必要的截图或代码等细节; 5. 请描述已经尝试过的方法。 [代码] 如果期望得到微信支付技术支持,请参考以下模板:(有敏感信息可私信提供) [代码]1. 请求的具体API接口(提供文档地址和请求的URL): 2. 问题发生时间【必填】 3. 商户号【必填】: 4. 商户订单号【必填】: 5. 相关报错信息文案: 6. 完整的请求和返回参数以及单号: 7. 问题截图或视频: 8. 已经尝试过的方法: [代码] 如果你已做了上述事情,我们会非常乐意回答比较规范的优质提问,也会在最快的时间推送到支持组进行针对性的回答。 当然为了维持社区的内容质量,无效提问(空泛、偏离技术讨论、软文传播、推广引流等内容),我们也有有权进行删除处理。 下面跟着大家看一下通用的技术社区提问智慧,仅供参考~ 通用技术社区提问智慧 量不在多,精炼则灵 简单的将一大堆代码或数据罗列在求助信息中达不到目的。如果你有一个很大且复杂的测试样例让程序崩溃,尝试将其裁剪得越小越好。 描述问题而不是猜测 提问中描述是什么导致了问题是没用的(如果你的诊断理论是对的,或许你就不会来这儿咨询求助了?)。所以,确保只要描述问题的原始症状,而不是你的解释和理论,让社区名人或官方支持来解释和诊断。如果你认为陈述自己的猜测很重要,应清楚地说明这只是你的猜测并描述为什么它们不起作用。 错误的示范: 我在XX时遇到了YY错误,怀疑是ZZ原因,这个问题怎么解决? 智慧的提问: 我组装的电脑(电脑信息)最近在开机20分钟左右,做内核编译时频繁地报SLG11错,但在开头20分钟内从不出问题,重启动不会复位时钟,但整夜关机会。更换所有内存未解决问题,相关的典型编译会话日志附后。 按时间先后罗列问题症状 刚出问题之前发生的事情通常包含有解决问题最有效的线索。所以,问题描述中尽可能的描述在问题出现之前都做了什么。在命令行处理的情况下,有会话日志(如运行脚本工具生成的)并引用相关的若干(如 20)行记录会非常有帮助。 提问应明确 漫无边际的问题通常也被视为没有明确限制的时间无底洞。最有可能给你有用答案的人通常也是最忙的人(假如只是因为他们承担了太多工作的话),这些人对于没有止境的时间无底洞极其敏感,所以他们也倾向于不太喜欢那些漫无边际的问题。 如果你明确了想让回复者做的事(如指点方向、发送代码、检查补丁或其它),你更有可能得到有用的回复。(因为)这样可以让他们集中精力并间接地设定了他们为帮助你需要花费的时间和精力上限。 结语 提问的智慧就是一个敲门砖,它会让你了解到一个事实,为什么那些看起来很牛的人几乎从不提问,似乎他们一进入这个行业就是牛人了。不是的,他们也有问题,但是通常在提问之前就自己解决了;不是因为他们本来就懂得怎么解决,而是解决问题的经历让他们成为牛人;最终,你只会看到网络上多了一篇文章:关于解决 某某 问题的方案。 最后,祝你在微信支付开发的路上,早日晋升为大神~希望未来有一天,您也能将在社区得到的帮助回馈给更多需要帮助的“微信支付新人”。
2020-11-12 - 想做红包小程序?这篇你一定要看看
如果你想在平台内做红包小程序,这些问题你一定需要了解。 [视频] 一、相关红包小程序可能需要选择社交红包类目。 1、哪些红包内容才需要设置社交红包类目呢? 这个问题小编早有准备,详情可参考:什么小程序需要社交红包类目? 2、社交红包类目具体申请流程如下: (1) 小程序涉及红包内容需选择社交红包类目,所需资质为:《增值电信业务经营许可证》,即ICP证。 (2) 在申请通过社交红包类目后,需按站内信指引开通安全红包商户号 (3) 商户号开通成功后并绑定小程序主体,再提交代码审核。 二、社交红包小程序有哪些内容是不能做的? 1、社交红包小程序内暂不支持红包广场业务场景。即社交红包小程序的红包发放与领取仅限在群和好友中进行,禁止在无好友或群关系的场景传播,如基于LBS的红包广场。 违规示例: [图片] 2、红包类活动暂不支持朋友圈传播。 违规示例: [图片] 3、社交红包小程序暂不支持“回赏”类红包玩法。即A发一个红包给任何用户,任何用户需回包一个红包给A,才能拆开A的红包。 违规示例: [图片] 4、个人主体暂不支持社交红包。 违规示例: [图片] 5、社交红包暂不支持单笔交易支付金额突破商户号额度(当前商户号额度为204元)。 违规示例: [图片] 三、社交红包小程序暂不支持自定义功能红包? 若小程序内涉及向用户提供含自定义功能的红包服务,表现形式包括但不限于:文本/图片/音频/视频等形式,请开发者接入微信公众平台内容安全API(imgSecCheck、msgSecCheck、mediaCheckAsync)能力,同时做好人工审核相关的内容过滤机制,校验用户输入的文本/图片/音频/视频等内容,拦截政治敏感、色情违法违规等相关信息内容,保证用户上传的内容安全,并及时处理违规内容/账户,降低被恶意利用导致传播恶意内容的风险。一经发现将根据违规程度对该小程序采取限制功能直至封号处理。 违规示例: [图片]
2020-04-23 - 【社交红包】小程序,产生的交易订单是否应该是“服务商模式下的订单|小程序红包”?
我们通过【社交红包】类目申请的特约商户存在两种交易订单类型,分别为“本地商户的订单”、“服务商模式下的订单|小程序红包”。 目前我们产生的流水的交易订单类型为“本地商户的订单”, 请问红包类小程序产生的交易的订单类型应该是“服务商模式下的订单|小程序红包”吗? 如果是这部分流程的操作文档在哪里可以看到?
2019-08-05 - 社交红包小程序申请时得到的受管控商户号到底如何使用?
经过近半年的努力申请到了电信增值许可证,并提交了社交红包类小程序的申请。 [图片] 官方给的通知,要求重新申请商户号,并使用这个新申请的商户号作为社交红包小程序的支付用商户号,好的,申请。 [图片] 等了很久终于审核通过了。并发给了我邮件通知我。我成功的登录进这个商户号。 [图片] 然后。。。就没有然后了。。。请问我应该怎么使用这个“受管制的”商户号? 因为如果把商户号当做普通商户号正常使用的话,付款是在本商户号里:经测试 可以使用信用卡、可以随意提现,和官方说明里的明显不是一回事儿。最大的问题是,我每天付款几十块钱就会报错,说达到交易额上限,我这个账号交易额100元都不到吗?[图片] 所以我断定肯定是用别的方法。 于是我开始寻找这个商户号和我原来的商户号到底有什么不同的地方。然后找到了这里。 [图片] 产品中心里有一个我授权的产品。看到了一个“服务商 小程序红包”,那所以我猜应该就是用这个服务商付款的模式了。 然后我就查看文档,应该如何用服务商模式下单。 [图片] 然后发现,和普通下单相比,服务商下单需要额外加几个字段。 但是我发现我并没有服务商appid啊 所以到底怎么使用这个账号呢?? 我现有的信息是: 红包小程序appidwxaddaee51ad4aff82这个商户的商户号1551046881服务商的不知道什么号[图片] 社交红包类小程序既然被独立设置出来,请问官方能不能出一个文档? 很迷茫,提问了一次也没官方的人回复。在论坛里看贴子发现很多开发者都在问这个问题,但是官方都没有详细的回复。我打电话到商户那边,客服也不懂我说的这个是什么。这一个月的体验和心情很差。 我现在只想解决问题不想太多的抱怨其他了,所以请官方看到了的话,能够读一读我上面的问题,请帮我解决这个问题。
2019-09-27 - 【再再问】社交红包类小程序到底如何使用申请的特殊商户号!
这是第三次发相同的帖子,因为官方还未回复。你哪怕回复我一个“对不起,我不知道。”让我死了心也行,不然我只能每天来发相同的帖子,抱歉。 https://developers.weixin.qq.com/community/pay/doc/000c0255af04709672391c79b58400 这是第一次的帖子 https://developers.weixin.qq.com/community/develop/doc/0002c8513f02780a8439f825356000 这是第二次的帖子 经过近半年的努力申请到了电信增值许可证,并提交了社交红包类小程序的申请。 [图片] 官方给的通知,要求重新申请商户号,并使用这个新申请的商户号作为社交红包小程序的支付用商户号,好的,申请。 [图片] 等了很久终于审核通过了。并发给了我邮件通知我。我成功的登录进这个商户号。 [图片] 然后。。。就没有然后了。。。请问我应该怎么使用这个“受管制的”商户号? 因为如果把商户号当做普通商户号正常使用的话,付款是在本商户号里:经测试 可以使用信用卡、可以随意提现,和官方说明里的明显不是一回事儿。最大的问题是,我每天付款几十块钱就会报错,说达到交易额上限,我这个账号交易额100元都不到吗?[图片] 所以我断定肯定是用别的方法。 于是我开始寻找这个商户号和我原来的商户号到底有什么不同的地方。然后找到了这里。 [图片] 产品中心里有一个我授权的产品。看到了一个“服务商 小程序红包”,那所以我猜应该就是用这个服务商付款的模式了。 然后我就查看文档,应该如何用服务商模式下单。 [图片] 然后发现,和普通下单相比,服务商下单需要额外加几个字段。 但是我发现我并没有服务商appid啊 所以到底怎么使用这个账号呢?? 我现有的信息是: 红包小程序appidwxaddaee51ad4aff82这个商户的商户号1551046881服务商的不知道什么号[图片] 社交红包类小程序既然被独立设置出来,请问官方能不能出一个文档? 很迷茫,提问了一次也没官方的人回复。在论坛里看贴子发现很多开发者都在问这个问题,但是官方都没有详细的回复。我打电话到商户那边,客服也不懂我说的这个是什么。这一个月的体验和心情很差。 我现在只想解决问题不想太多的抱怨其他了,所以请官方看到了的话,能够读一读我上面的问题,请帮我解决这个问题。
2019-09-28