基本不怎么在微信发朋友圈的我,但最喜欢在博客发动态。所以哔哔、闪念、说说、胶囊诸如此类的,是我博客必备的功能。
奈何cuteen原生的闪念功能虽然简单,但就是太简单了,不能发图片。所以我决定把memo调用在博客。
众所周知,memo的api千奇百怪,各个版本api都有很大的变化。这次杜老师家有现成memoapi,我就直接在此基础上修改了。
memo的版本是0.22.1 (在原基础上升级了0.0.1的版本,对中文标签更好的支持)
主要是就在在tags标签的调取上,在0.22.0版本之前的v1版本:
GET /api/v1/memo?tag=标签名0.22.0版本语法又变了,现之前的 tag参数完全失效了,官方引入了全新的 filter查询系统:
# 旧语法(已失效)
GET /api/v1/memos?tag=代码
# 新语法
GET /api/v1/memos?filter=tag='代码'更坑的是:v0.22.0 对中文标签支持有 bug!即使使用新语法,也会报错。于是又升级到v0.22.1,却又遇到了新的语法问题:
# 错误写法(仍然会报错)
GET /api/v1/memos?filter=tag='代码'
# 正确写法(需要使用双等号)
GET /api/v1/memos?filter=tag=='代码'是的,从单等号升级到了双等号!这种细微的差别让人防不胜防。
memo的js新增的点:
对
tags标签的归纳(快速归纳相同标签)集成了第三方评论系统
twikoo,有助于更好的互动(虽然没什么互动)首页以及全站导航栏memo的调用基于服务器缓存json(提升速度)
修复了翻页功能
后期准备加上微信公众号私信调用(没错,就是以前的
哔哔公众号功能)
经验总结
- 版本兼容性是硬伤:Memos API 在不同版本间存在 breaking changes,且文档更新不及时
- 一定要先检查版本:调用 API 前先获取实例版本信息,再选择对应的语法
- 中文支持需要小心:早期版本对中文字符的支持存在问题,建议升级到
v0.22.1+ - 参数语法细微差别:从
tag=值到filter=tag='值'再到filter=tag=='值',细节决定成败
吐槽
MEMO API 的版本兼容性真的很重要!希望 Memos 团队能在未来版本中保持更好的向后兼容性,或者至少提供更详细的迁移文档。
























