本文由巩鹏军分享,原题“IM兼容性基建”,即时通讯网有修订。
提示:“一个App”指的是同一个IM服务端,只服务于一个特定的IM产品。
boolean isSupportRedEnvelop(String appVersion) { return gte(appVersion, "2.1.0"); }
List<Integer> toNums(String version) { Matcher matcher = Pattern .compile("/[0-9]+\\.[0-9]+\\.[0-9]+") .matcher(version); String versionString = matcher.find() ? matcher.group(0).substring(1) : "1.0.0"; List<Integer> verNums = Arrays .stream(versionString.split("\\.")) .map(Integer::valueOf) .collect(Collectors.toList()); return verNums; } boolean gte(String version, String target) { List<Integer> appVerNums = toNums(version); Integer appMajor = appVerNums.get(0); Integer appMinor = appVerNums.get(1); Integer appPatch = appVerNums.get(2); List<Integer> targetNums = toNums(target); Integer targetMajor = targetNums.get(0); Integer targetMinor = targetNums.get(1); Integer targetPatch = targetNums.get(2); return (appMajor >= targetMajor) || (appMinor >= targetMinor) || (appPatch >= targetPatch); }
提示:“多个App”指的是同一个IM服务端,可能作为通用服务,作为多个不同APP产品中的聊天模块使用的场景。
boolean isSupportRedEnvelop(String version) { return (app.equals("App1")&>e(version,"2.1.0"))|| (app.equals("App2")&>e(version,"2.2.3"))|| (app.equals("App3")&>e(version,"6.1")); }
boolean isSupportRedEnvelop(String appVersion){ return gte(appVersion, "2.1.0"); }
boolean isSupportRedEnvelop(Integer coreVersion){ return coreVersion >= 2; }
curl "https://{domain}/api/v1/xxx" \ -H "platform: ios" \ -H "app_version: 8.0.25" \ -H "core_level: 220819"
{ "platform":"ios", "app_version":"8.0.25", "core_level":"220819" }
/ platform\/(ios|android|mac|win|linux) app_version\/([0-9]\.[0-9]+\.[0-9]+) core_level\/([1-9][0-9]+)( |$)/
boolean isSupportRedEnvelop(Integer coreLevel) { return coreLevel >= 220819; }
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.125000 second(s), 43 queries , Gzip On.