【自问自答】在 IM 消息设计中,新旧版本,如何兼容?
我们是混合开发,如何新增加消息类型而不导致用户使用异常呢?
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
回答:
依赖端的能力,可以让端提供一个支持能力的列表
比如 wx sdk 的 checkJsApi 的能力。
wx.checkJsApi({ jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
success: function(res) {
// 以键值对的形式返回,可用的api值true,不可用为false
// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
}
});
当然,实现上可以有多种方案,比如说我们在升级客户端的时候,加入一下所有支持的消息类型。这样我们可以直接通过 url 拿到当然版本所支持的类型。
如果是不需要客户端的能力,可以直接使用。比如说显示一个表情什么的,我们直接开放就可以了。
当然,也可以使用客户端的版本号来判断。但是不建议写死在代码中,可以考虑配置化。apollo 之类的东西
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
以上是 【自问自答】在 IM 消息设计中,新旧版本,如何兼容? 的全部内容, 来源链接: utcz.com/p/933871.html