背景
近期对接支付宝的信用免押功能,发现跟微信支付类似,这些个大厂的对接文档质量跟错误提示实在是、一言难尽……
总结一下过程中一些比较典型的问题,就当是做个记录吧。
反正是各种乱七八糟的想法就对了
手上的14乞丐版Mac mini在用NVMe转接卡添加了一块固态硬盘后本来用的好好的,上周手贱,看见10.15.4的升级推送点了一下,然后,果然就六国了……
具体现象就是在系统下载完成后重启:
1、出现苹果图标跟进度条,显示还有27分钟更新完成;
2、在进度条的某个阶段突然黑屏,紧接着就是著名的六国;
3、然后重启,再度进入进度条、27分钟……
就在以上三个步骤中不断循环往复。
基于之前提到的快应用平台体系分裂性,甚至都没有一个统一的账号系统,如果使用厂家账号还得一家家的单独接入,并且必须先提交一个版本在联盟预审通过后才能开始厂家账号的接入调试(反正小米客服是这么说的)。
为了复用微信公众号上的代码遗产,决定先接入微信账号体系,这样服务端工作量小点儿,顺带着就把微信的支付、分享也给做掉了。
1、新建快应用工程,并使用下面命令生成发布证书
1 | openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem |
过程中的信息可以根据自身情况随意输入,或是全部使用默认值,最后会得到2个文件:certificate.pem,private.pem
将他们都拷贝至工程的 sign/release目录下,当然,为了后期调试方便,debug目录下我也拷贝了一份
p.s. 如果说是Windows系统的话,默认没有openssl命令,可以下载Win32/Win64 OpenSSL这个软件。
2、计算得到Android应用签名(微信开放平台上使用)
1 | PS D:\quick\sign\release> openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem |
将上面得到“81:83:4D:1F:15:25:22:A5:EB:5C:72:CD:F8:78:EC:72”去掉其中的冒号,并转换成全小写,得到:81834d1f152522a5eb5c72cdf878ec72,记住他,这就是申请微信应用时需要用到的Android签名
3、获取快应用使用签名(配置在工程manifest.json文件里),这个比较简单,只需要打开第一步中生成的certificate.pem文件,可以看见如下内容:
1 | -----BEGIN CERTIFICATE----- |
去掉文件的头尾,然后找一个可以在线去回车换行的网站,比如这个,可以得到最终要用在manifest.json中的签名字符串:
1 | MIIDazCCAlOgAwIBAgIUJkm6BJdPFGni+iuUwI/FAHL+AscwDQYJKoZIhvcNAQELBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMDA0MjUxMjU0MjZaFw0zMDA0MjMxMjU0MjZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDggUNoltlOObtgXq4cwuRYsVq3PJ/1izR7Zp+/CqwtTh68cUWPysMi01Cc2F9rcJw4drbKj/M+1DhyvVP7/dVDEAj9UDUKVsQGKlAIOBuVMZJIr8BEQtFUi/k7vXe8LS4Kqmh3z+S4Mfe9RPwECfsn4qdwXg0TdVs1mA67vZuefkZkyNMBHgdU6hthK+dIMAFzjaietPXqrotsJZMROM9QAN+qYGQtJDmgrzWz8FPraQtIQk5DWmcqh9AN97QjjTDHZoPbMeVRSrsYoUkZYiWM7y0k3nfWc0xvVd5ilS2LN7GIjbP5A0MyZxKnceJ3WzKwPJtMEg1biOo2US1kduzdAgMBAAGjUzBRMB0GA1UdDgQWBBTHW/pb1FpJw/80hQaGPRQt8XY7UjAfBgNVHSMEGDAWgBTHW/pb1FpJw/80hQaGPRQt8XY7UjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCUDYeIDFJkwmR9OTgrNXZ4AfbORSMBYDQ31o4TtIBl4po+PSUI86tDbh45tmu73xI9awLn+VPsgU3Q3jabyHiAvic5Q3Ge7mdYzZfLIlwTNDcr4HhnRvMvPhF3Owg6UaUl1E9LD5XeIvhVO51PfgOZqTSX1CpEF7uPdKk4jCa7Py7mBvvzFqzIEo0LAf6yFKf/zqGCH2x70uXwoTDb1Kc0CCUPmVxF5gtHbdWjP76BDPleA7cAy6ig5FOZwWzRKmUEjFuHs27nYFf3sdR7zjRKVrzYiqPBHJnxP5nH0zqRAyR8mD4GCg8jcpDdITZlsfeQShbFDlK+AQl6cMBaVt/f |
最近一阵发现在Windows机器上采用廉价网卡B-LINK BL-LW05-5R2分享热点的形式越发的不稳定了:
之前偶尔出现还能忍忍,不过最近已经频繁到有些影响工作效率了,于是就动了入手个路由器的想法。
不过网上一搜,最便宜、号称电子垃圾的腾达 F3都要39¥了,然后没苏宁会员还不包邮……
想着既然都要花钱了,干脆就整个好点儿的吧,又盯上了最近比较火的华为AX3丐版,不过无奈处于预定状态还有一周多才能发货……
然后突然想起来,抽屉里不是还躺着个前一阵被替换下来吃灰的树莓派嘛,一搜还有官方OpenWrt镜像支持,于是说干就干。
虽然有购入阿里云服务器,但贫穷限制了配置,只能勉强部署上直接面向用户的服务,而像是jenkins、jira、gitlab、数据处理这些配套设施都只能往内网机器塞。
可有时候吧,又免不掉外部访问的需求,通过路由器端口映射的方式将服务直接开放出去倒是容易,但面对着公网的黑暗森林,你永远都不知道有多少双眼睛在盯着你的开放端口,所以真要面向公网开放服务,以下的问题就必须的优先解决:
快应用这个平台吧,作为当年国内手机厂商联合起来对抗微信小程序的核战略武器,阵势上无比之大,毕竟除开卖手机硬件的收益外,承载APP分发渠道的应用市场也是一块巨大肥肉,谁都担心才从豌豆荚、360手机市场手上抢来的肉转头又被微信给叼走了,不过好在张小龙一直没跨出这一步,号称:“不做应用商店”、“不做推荐”、“用完即走”。
所以快应用这个平台慢慢也就变成了俄罗斯的航母,仅限于有、却很难说有多大用。联盟的状态则有点儿类似于五岳剑派:
所以对于这样的平台,前期在不明确效果的情况下建议是以hybird方式试水,只做一层薄薄的通讯层,等到后面验证效果后再加大投入。
前面说了这么多快应用的背景,其实就是想表达,虽然快应用有一套联盟标准,但因为没有统一的主导力量,所以接口完成度、文档丰富程度都很堪忧,像是早期的快应用与页面通讯就只能通过hack的方式完成,新版下虽然官方已经支持了更为优雅的方式,但在文档上却让人看的一头雾水。
在疫情拐点仍无明确时间预期的2月中,原本预计1周的远程办公时间延长到了2周、甚至还有可能要贯穿整个2月,于是乎之前以为忍一忍拖到现场复工再处理的事情也不好再拖下去了。
公司响应倒是及时,VPN很快给开了起来,借助小鱼易连、微信语音每天的远程会议也是开的很欢,唯一有一点不方便的就是在代码交接上的沟通效率,之前大家都在一个屋子里,有什么事吼一嗓子人过来,对着屏幕上的代码演示讲解一遍很快就明白了,现在或是文字、或者是单纯的语音,因为缺乏视觉同步都很难达到类似效率的沟通效果。
前几天突然被拉去弄个紧急项目,然后就发现个现象,每次jenkins发版完后第一次打开都特别慢,如果在过去忙着实现功能可能都不会在意这种事情,多半就是接口之类响应慢吧,等等就好了。因为这次项目难度不大,很快就弄完了前端页面部分在等接口联调,闲着没事就开了个控制台:
好嘛,一个2.4M的js文件加载了快1分钟,平时在内网开发、测试都还感觉不到,碰上这次超级春节长假大家都远程办公,问题就体现出来了。
虽然之前通过增加windows节点机的方式解决了树莓派编译react工程时内存不足的问题,不过最近又遇到好几个需要在本地跑数据处理的任务,所以终究还是逃不开树莓派算力升级的问题,原本是打算着等开年后就入手之前看上的技嘉 BLCE-4000C,哪知道赶上了百年不遇的超级春节长假,看起来商家恢复发货也是遥遥无期 囧rz
然后偶然瞥见蹲角落里吃灰2年多的神船,作为7年前的老爷机,虽然CPU是弱了些儿,好歹也是曾经升了5G无线网卡、SSD固态盘、8Gx2内存,大体上除了屏幕排线有点儿接触不良没啥大毛病。
对比起来i5-3210m的35w确实比树莓派4的6w高上不少,性能方面好歹能把树莓派按地上使劲摩擦。