微信小程序开发常见问题
最近从事微信小程序开发,期间还是踩了些坑/遇到些问题,这里总结下
微信预览图片
有时需要实现长按图片,弹出菜单,进行分享等,SDK支持这个,即wx.previewImage,但当前不支持自定义菜单。
缓存
为了降低没必要的请求开销,提高速度,需要注意缓存的使用。比如wx.getImageInfo的图片资源之前已经访问了,但是仍然会重新请求,不会使用之前的缓存。
最近从事微信小程序开发,期间还是踩了些坑/遇到些问题,这里总结下
有时需要实现长按图片,弹出菜单,进行分享等,SDK支持这个,即wx.previewImage,但当前不支持自定义菜单。
为了降低没必要的请求开销,提高速度,需要注意缓存的使用。比如wx.getImageInfo的图片资源之前已经访问了,但是仍然会重新请求,不会使用之前的缓存。
最近v2ex上大家在讨论Google搜索频繁遇到小 X 知识网等内容农场式结果的问题,都觉得倍感恶心,毕竟百度垃圾,大家才转投谷歌,如果谷歌也废了,那就完蛋了。
好在技术人也总是办法总比问题多,当前有个办法就是使用uBlacklist插件,将这些站点域名配进去从而在搜索结果中屏蔽该内容。同时有网友开了GitHub repo,大家陆续将恶心人的站点域名都补充进去,然后利用ublacklist订阅该源,最终发现效果还不错。
问题虽然也得到了解决,但是什么原理呢,好奇之下,看了下源码,发现原理简单,即利用JS捕捉结果中命中黑名单的站点结果,变换CSS实现隐藏,也就是插件对搜索返回的结果页的HTML进行了二次处理。
当然这样做有局限性即搜索结果如果是分页,会出现每页结果数量不等,毕竟命中的数量可能不同,但对比看到垃圾站点而言,这点还是可接受的。
uBlacklist的原理决定了搜索结果一定要包含站点链接,而百度属于比较坑的,百度的搜索结果没有直接携带链接,而是做了代理。因此无法有效实现。
借着周末优化下个人博客的构建性能,之前每次构建需要10m+,优化后需要6M。不考虑搜索索引的话,单博客部署到VPS生效,只需要3m+。这里总结下优化项。
去除部分插件/功能
Algolia
CI流程优化
cancel-workflow-action
升级hexo到v5,cli到v4
具体配置,可看源码https://github.com/alanhg/alanhg.github.io
最近做服务端时有db-postgres部署需求,期间踩了点坑,这里mark下。
部署postgres服务直接挂postgres镜像即可,但牵扯到初始化数据库/及磁盘映射,我在实际操作中发现报如下错误
cannot access '/docker-entrypoint-initdb.d/': Operation not permitted
最终的解决方案是docker-compose增加privileged: true
网上有提到挂载Volume时标明RW或者采用自定义镜像时增加chmod,自测都不可行。目前唯一方案即上述。
Alfred推出Universal Action也有几个月了,我也已经习惯用它来解决部分场景诉求,这里就总结下action在我的效率使用中扮演的角色。
这里谈下个人对于这种交互方式与之前Alfred提供的关键词,热键场景的区别
Universal Action与之前的场景根本区别在于触发条件的不同,Universal Action的触发条件是你选中任意一个元素【文件/链接/文本】,基于这样的输入值从而执行某个动作,比如你可以选中一段文本自动发Twitter,发邮件,选择一个URL自动打开浏览器链接等等,而之前的场景是你直接关键词又或者热键。所以区别主要在这里。