- wx.createOffscreenCanvas返回Null?
iPhone 11 真机稳定复现。 [图片]
2023-07-10 - 物流查询组件trace_waybill接口报图片url错误
图片是阿里云私有 Bucket 但是给了公网访问的签名,有效期内公网访问一切正常,但是请求物流查询组件的 trace_waybill 接口报图片URL错误: {"errcode":9300561,"errmsg":"图片url错误 rid: 64a09bc4-4cc9b3a2-5308f49e"} MDN官网找了个图片的URL尝试发现正常: https://developer.mozilla.org/assets/mdn_contributor.png 是这个接口的服务器还有别的限制?难道直接剔除了 query 参数?
2023-07-02 - 聊一聊最近更新的手机号快速验证组件和手机号实时验证组件?
几天前小程序发了个通知,主要内容是: 现有的 getPhoneNumber 接口由免费调用调整为 3分/次。在 getPhoneNumber 基础上新增 getRealtimePhoneNumber 接口,每次调用实时短信校验,4分/次。实时验证是好事,4分/次的价格,在短信服务市场,也可以称之为批发价,小程序开发者以这个价格拿到几乎是百分百真实的用户手机号,已经是成本最优解,这个得夸,不能因为之前免费现在收费而否定。 但本帖主要是想谈一谈3分/次的快速验证。 快速验证的文档是这么介绍的:“平台会对号码进行验证,但不保证是实时验证”。 这里说白了就是微信拉自己数据库的用户手机号出来,给到开发者,大家都是开发者,这里应该不难理解。 那么问题就来了,既然是拉取自己的数据库的数据,每次调用还收取3分,那么本质上就是在通过省下实时验证的费用来牟取自身商业利益。 假设我的小程序拥有1000个日活,平均每个月授权一次,那么一年的费用是360元。 根据微信公开课数据,小程序日活用户4.5亿+,小程序数量300万+,剔除非盈利性组织和政府部门的小程序,假设有100万个小程序付费使用快速验证,那么一年下来就是3.6个亿。 这还是非常谨慎非常保守的估算条件,实际金额只会更高。 以及: 微信的隐私说明文件没有包括上述手机号的具体使用场景微信没有说明基于该场景收集的手机号面向开发者进行盈利的事实性情节用户授权时完全不知情上述使用场景,更不知情微信基于自己的本次授权进行直接盈利的情节综上,对于手机号快速验证组件的合理性和合法性很难不提出质疑。
2023-06-30 - 【已解决】申请退款是同步还是异步?
申请退款的返回值中直接包含了「退款状态」、「退款成功时间」等最终结果字段。 退款结果通知中也有这部分字段。 那么申请退款这个接口到底是同步的还是异步的? 支付接口的时序图画得很清楚,退款这个图没什么有效信息。 [图片]
2023-06-19 - FormData is not defined
Page({ onLoad() { let fd = new FormData() }, }) ReferenceError: FormData is not defined at _i.onLoad (index.js:3) at _i.<anonymous> (WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1) at _i.c.__callPageLifeTime__ (WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1) at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1 at Function.or (WASubContext.js?t=wechat&s=1685724083105&v=2.32.1:1)(env: macOS,mp,1.06.2303220; lib: 2.32.1)
2023-06-03 - Intl is not defined
Andriod 真机调 Intl 接口报 not defined 错误: MiniProgramError Intl is not defined ReferenceError: Intl is not defined at Intl (pages/pages/show/index.js:8:16) at o.safeCallback (WASubContext.js:1:189299) at o.call (WASubContext.js:1:189084) at t (WASubContext.js:1:207485) at f (WASubContext.js:1:207810) at d.pretendAttached (WASubContext.js:1:219843) at Module.ds (WASubContext.js:1:407003) at (WASubContext.js:1:457213) at (WASubContext.js:1:423016) at (WASubContext.js:1:458602) Page({ data: { price: '' }, onLoad() { let price = Intl.NumberFormat('zh', {style: 'currency', currency: 'CNY'}).format(9.90) this.setData({price}) }, }) 基出库:2.32.1 iOS、开发者工具均正常,就Android异常。 望修复。
2023-06-01 - 什么时候支持多文件上传?
uploadFile只支持单个文件,实际业务中单个请求上传多个文件是非常普遍的场景。 请问: 社区中几年前就有人建议支持而直到今天依旧没有支持原因是什么?是否有支持的计划?有无替代的解决方案(不要说循环请求)
2023-05-30 - removeSavedFile和unlink有什么区别?
FileSystemManager.removeSavedFile(Object object)删除该小程序下已保存的本地缓存文件 FileSystemManager.unlink(Object object)删除文件
2023-05-29 - 开发者工具首次打开尺寸异常&主题异常
一、首次打开时尺寸非常小。 [图片] 二、系统主题变化时,显示异常(一块白一块黑)。 [图片]
2023-05-21 - 【已解决】Token校验失败,请检查确认
将之前已经配置好了的消息推送的URL由http更换为https后一直报错【Token校验失败,请检查确认】。 使用postman、curl服务端都正常响应,但是点击提交验证,服务端收不到微信的请求。 搜了一圈,有个帖子说不能用代理,这个好像不太可能吧,和代理应该是没有关系的。 还有个帖子说是域名刚刚经过备案微信还没来得及更新?我的域名确实是昨天刚刚通过备案的,但这个应该也不影响的吧,公网已经可以正常访问了,微信没有理由无法访问呀。 [图片] [图片] curl测试连接: $ curl -v https://api.customizer.cc/wechatmessage * Trying 47.100.178.1:443... * Connected to api.customizer.cc (47.100.178.1) port 443 (#0) * ALPN: offers h2 * ALPN: offers http/1.1 * CAfile: /etc/ssl/cert.pem * CApath: none * (304) (OUT), TLS handshake, Client hello (1): * (304) (IN), TLS handshake, Server hello (2): * (304) (IN), TLS handshake, Unknown (8): * (304) (IN), TLS handshake, Certificate (11): * (304) (IN), TLS handshake, CERT verify (15): * (304) (IN), TLS handshake, Finished (20): * (304) (OUT), TLS handshake, Finished (20): * SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384 * ALPN: server did not agree on a protocol. Uses default. * Server certificate: * subject: CN=api.customizer.cc * start date: May 18 00:00:00 2023 GMT * expire date: May 17 23:59:59 2024 GMT * subjectAltName: host "api.customizer.cc" matched cert's "api.customizer.cc" * issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=Encryption Everywhere DV TLS CA - G1 * SSL certificate verify ok. > GET /wechatmessage HTTP/1.1 > Host: api.customizer.cc > User-Agent: curl/7.86.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < access-control-allow-credentials: true < access-control-allow-origin: * < access-control-expose-headers: *, Authorization, X-Authorization < referrer-policy: no-referrer-when-downgrade < vary: Origin < date: Sat, 20 May 2023 11:04:15 GMT < content-length: 27 < content-type: text/plain; charset=utf-8 < x-envoy-upstream-service-time: 0 < server: envoy < * Connection #0 to host api.customizer.cc left intact 可以看到「SSL certificate verify ok」,说明 SSL 证书是没问题的。 --------- 【已解决】 无意中看到了这个帖子: 请问公众号服务器配置一直提示“token验证失败”,服务器也接收不到请求通知是什么问题?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0002246df549089553bd69bdc51c00 突然意识到大概率是这个原因,因为我用的是envoy作为入口网关,而envoy默认是拒绝一切HTTP 1.0请求的。 在envoy.yaml中新增以下字段: http_protocol_options: accept_http_10: true 然后再点击验证: [图片] 可以看到,配置成功。 总结: 微信这个Get请求使用的是 HTTP 1.0 协议,你的服务器一定要开启 HTTP 1.0 支持,否则请求是进不到你的 handler 的,因为会被服务器直接拒绝。 如果有官方人员看到这里,如果你还有点良心,提个内部issue,文档上把这些要求写清楚,而不是啥都不说,就返回个验证失败。 我看到这个问题社区提问几页都翻不完,可见多少开发者在这种不应该花时间的地方花了不知道多少时间,不应该是这个样子。
2023-05-20