个人案例
- Customizer
个性化是一种生活方式。
Customizer扫码体验
- 【已解决】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 - 总金额和用户支付金额的区别?
这俩金额的是如何定义的?有定义的文档吗? [图片]
2023-05-17 - radio组件无法修改CSS尺寸
RT
2023-05-13 - page-container导致navigateBack失效
首先从首页navigateTo A页面; 在A页面打开page-container,点击page-container中的按钮跳转到B页面,并设置一个定时器,300ms后关闭page-container; 点击B页面顶部的自定义导航栏返回A页面; 点击A页面的自定义导航栏,出现BUG:「点击事件正常触发,但页面不路由(navigateBack()不执行)」。 详情见代码片段。
2023-04-16 - this.router不支持Promise链式调用
Component({ methods: { navigateTo() { this.router.navigateTo({ url: '/finally/index' }).then(() => { console.log('then') }).finally(() => { console.log('finally') }) } } }) TypeError: Cannot read property 'then' of undefined
2023-04-15 - Cannot read property 'forEach' of undefined
Page({ onLoad() { let a = {x: 1} let b = {x: 2} [a, b].forEach(({x}) => {console.log(x);}) } }) 报错: TypeError: Cannot read property 'forEach' of undefined 换成下面这样正常: Page({ onLoad() { let a = {x: 1} let b = {x: 2} // [a, b].forEach(({x}) => {console.log(x);}) let os = [a, b] os.forEach(({x}) => {console.log(x);}) } })
2023-04-14 - wxs的setStyle直接尾部添加字符串?
[图片] wxs中调用setStyle怎么直接在style后面拼接啊? 这意味着,视图层将完全覆盖逻辑层,即一旦wxs设置了某个属性,逻辑层将彻底失去对该属性的控制能力。 这样子魔改,真的OK吗?
2023-04-10 - 如何区分movable-view的scale事件的触发原因是手势缩放还是setdata?
change事件的回调中返回了具体的原因,scale回调则没有。 如何区分当前缩放的触发原因?
2023-04-08 - wxs的ComponentDescriptor选择层级问题?
假设`wxml`结构如下: <view> <movable-area> <movable-view bind:scale="{{wxs.f}}" /> </movable-area> </view> <view>{{content}}</view> `ComponentDescriptor`似乎最高只能在触发事件组件的父组件范围内选择,那么如果要选择`content`所在的`view`的话要如何实现呢?
2023-04-08 - 临时文件路径为何会多出来本地IP和端口?
[图片]
2023-04-07