技术干货 | Native 页面下如何实现导航栏的定制化开发?

简介: 通过不同实际场景的描述,供大家参考完成 Native 页面的定制化开发。

公众号首图0926.jpg

很多 mPaaS Coder 在接入 H5 容器后都会对容器的导航栏进行深度定制,本文旨在通过不同实际场景的描述,供大家参考完成 Native 页面的定制化开发。

欢迎关注 mPaaS 公众号,下期推文,我们将为大家介绍 jsapi 下如何动态修改导航栏,敬请期待🤞🏻

Native 修改导航栏左侧返回按钮

(一)自定义 NBPluginBase 插件中修改

1.自定义原生 BarButtonItem

监听 kNBEvent_Scene_NavigationItem_Left_Back_Create_Before,在此监听事件中设置自定义 BarButtonItem

//监听kNBEvent_Scene_NavigationItem_Left_Back_Create_Before,在此监听事件中:UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 44, 44);
button.backgroundColor = [UIColor whiteColor];
[button setTitle:@"取消" forState:UIControlStateNormal];
button.titleLabel.font = [UIFont systemFontOfSize:14.0];
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];       event.context.currentViewController.navigationItem.leftBarButtonItem.customView = button;

注:此方案自定义button,需要自行实现关闭页面逻辑。

2.修改返回按钮

监听 kNBEvent_Scene_NavigationItem_Left_Back_Create_After,在此监听事件中修改默认返回按钮样式,包括文案颜色、返回箭头等,文案内容默认不可修改。

//监听kNBEvent_Scene_NavigationItem_Left_Back_Create_After,在此监听事件中:
// 修改返回按钮样式
NSArray *leftBarButtonItems = event.context.currentViewController.navigationItem.leftBarButtonItems;
if ([leftBarButtonItems count] == 1) {if (leftBarButtonItems[0] && [leftBarButtonItems[0] isKindOfClass:[AUBarButtonItem class]]) {//在默认返回按钮基础上,修改返回箭头和文案颜色AUBarButtonItem *backItem = leftBarButtonItems[0];backItem.backButtonColor = [UIColor greenColor];backItem.titleColor = [UIColor orangeColor];// [UIColor colorFromHexString:@"#00ff00"];//隐藏、显示返回箭头backItem.hideBackButtonImage = NO;//backItem.backButtonTitle; 标题内容更改无效。// 隐藏返回文案:文案设置为透明,保留返回按钮 s 点击区域//backItem.titleColor = [UIColor clearColor];}
}

(二)H5容器中自定义修改

1.方式一,在 viewWillAppear 获取自定义启动参数,根据参数自定义返回按钮。

- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];// 当前页面的启动参数NSDictionary *expandParams = self.psdScene.createParam.expandParams;NSLog(@"[mpaas] expandParams: %@", expandParams);
}

获取启动参数后,依据自定义参数实现自定义按钮。

// 修改默认返回按钮文案颜色NSString *backButtonColorString = expandParams[@"backButtonColor"];if ([backButtonColorString isKindOfClass:[NSString class]] && [backButtonColorString length] > 0) {UIColor *backButtonColor = [UIColor colorFromHexString:backButtonColorString];NSArray *leftBarButtonItems = self.navigationItem.leftBarButtonItems;if ([leftBarButtonItems count] == 1) {if (leftBarButtonItems[0] && [leftBarButtonItems[0] isKindOfClass:[AUBarButtonItem class]]) {backItem.backButtonTitle = @"测试";// 返回按钮titlebackItem.titleColor = backButtonColor;// 返回按钮文本颜色backItem.backButtonColor = [UIColor blueColor];// 设置箭头颜色backItem.hideBackButtonImage = NO;//隐藏返回按钮图片,提供给框架使用// 返回按钮图片 backItem.backButtonImage; 设置无效,只可隐藏or显示}}}

2.方式二,可以在 viewWillAppear 自定义整个返回区域 AUBarButtonItem 按钮、个数:

AUBarButtonItem *backItem = [AUBarButtonItem barButtonItemWithIconFontName:kICONFONT_BACK iconColor:[UIColor lightGrayColor] target:self action:@selector(custBack:)];  AUBarButtonItem *backItem = [AUBarButtonItem backBarButtonItemWithTitle:@"测试" backArrowColor:[UIColor redColor] target:self action:@selector(custBack:)];
backItem.customView.frame = CGRectMake(0, 0, 44, 44);AUBarButtonItem *closeItem = [AUBarButtonItem barButtonItemWithIconFontName:kICONFONT_SYSTEM_CANCEL_BOLD iconColor:[UIColor lightGrayColor] target:self action:@selector(custClose:)];
closeItem.customView.frame = CGRectMake(0, 0, 30, 44);self.navigationItem.leftBarButtonItems = @[backItem,closeItem];

如果要修改 BarButtonItem 的文字大小、颜色等深度定制可以参考以下代码:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 40, 40);
[button setTitle:@"我的" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setBackgroundColor: [UIColor whiteColor]];
button.titleLabel.font = [UIFont systemFontOfSize:14.0f];
AUBarButtonItem *backItem = [[AUBarButtonItem alloc] initWithCustomView:button];
//返回按钮事件
- (void)custBack:(id)sender{NSLog(@"back -----");[self back];
}
//关闭所有session
- (void)custClose:(id)sender{NSLog(@"close   ------");NSArray<NBSession *> *sessions = [[NBContext sharedContext] sessions];for (NBSession* session in sessions) {[[NBContext sharedContext] exitSession:session animated:YES];}
}

Native 修改导航栏左侧关闭按钮

(一)在自定义 NBPluginBase 插件中关闭按钮需自行创建

监听 kNBEvent_Scene_NavigationItem_Left_Close_Create_Before,在此监听事件中创建关闭按钮。

//监听kNBEvent_Scene_NavigationItem_Left_Close_Create_Before,在此监听事件中:
// 创建关闭按钮
[event preventDefault];
NBNavigationItemLeftCloseEvent *itemEvent = (NBNavigationItemLeftCloseEvent *)event;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 44, 44);
button.backgroundColor = [UIColor whiteColor];
[button setTitle:@"关闭" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
itemEvent.customView = button;

监听kNBEvent_Scene_NavigationItem_Left_Close_Create_After,在此监听事件中修改关闭按钮样式。

//监听kNBEvent_Scene_NavigationItem_Left_Close_Create_After,在此监听事件中:
// 修改关闭按钮样式
[event preventDefault];
NBNavigationItemLeftCloseEvent *itemEvent = (NBNavigationItemLeftCloseEvent *)event;
UIButton *closeButton = (UIButton *)itemEvent.customView;
[closeButton setTitle:@"关闭" forState:UIControlStateNormal];
[closeButton setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];

Native 修改导航栏标题

(一)在viewWillAppear 获取自定义启动参数,根据参数自定义标题

//打开H5离线包
NSString *appId = @"20190927";[[MPNebulaAdapterInterface shareInstance]startH5ViewControllerWithNebulaApp:@{@"appId":appId,@"defaultTitle":@"测试",@"readTitle":@"NO",@"titleColor":@"ff0000",@"titleFont":@"18.0"}];//启动参数设置标题文案、颜色、大小;

这里的参数key值appId、defaultTitle、readTitle为框架默认不可修改,其余参数 key 值自定义。

- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];// 当前页面的启动参数NSDictionary *expandParams = self.psdScene.createParam.expandParams;NSLog(@"[mpaas] expandParams: %@", expandParams);// 设置导航栏标题NSString *titleColorString = expandParams[@"titleColor"];NSString *titleFont = expandParams[@"titleFont"];if ([titleColorString isKindOfClass:[NSString class]] && [titleColorString length] > 0 && [titleFont length] > 0) {UIColor *titleColor = [UIColor colorFromHexString:titleColorString];id<NBNavigationTitleViewProtocol> titleView =          self.navigationItem.titleView;[[titleView mainTitleLabel] setTextColor:titleColor];float font = [titleFont floatValue];[[titleView mainTitleLabel] setFont:[UIFont systemFontOfSize:font]];}
}

Native 修改导航栏右侧按钮

(一)NBPluginBase 插件中自定义修改

1.在 NBPluginBase 中,

监听 kNBEvent_Scene_NavigationItem_Right_Setting_Create_Before,在此监听事件中创建导航栏右侧按钮。

//监听kNBEvent_Scene_NavigationItem_Right_Setting_Create_Before,在此监听事件中:
NBNavigationItemRightSettingEvent *settingEvent = (id)event;
settingEvent.adjustsWidthToFitText = YES;
settingEvent.maxWidth = [UIScreen mainScreen].bounds.size.width / 4.0f;
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 33, 40);
[button setTitle:@"设置" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setBackgroundColor: [UIColor whiteColor]];
settingEvent.customView = button;
[event preventDefault];

2.在 NBPluginBase 中

监听kNBEvent_Scene_NavigationItem_Right_Setting_Create_After,在此监听事件中修改导航栏右侧按钮。

//监听kNBEvent_Scene_NavigationItem_Right_Setting_Create_After,在此监听事件中:
NBNavigationItemRightSettingEvent *settingEvent = (id)event;
settingEvent.adjustsWidthToFitText = YES;
settingEvent.maxWidth = [UIScreen mainScreen].bounds.size.width / 4.0f;
UIButton *button = settingEvent.customView;
button.titleLabel.font = [UIFont systemFontOfSize:14.0f];
button.frame = CGRectMake(0, 0, 40, 40);
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
[button setBackgroundColor: [UIColor whiteColor]];
[event stopPropagation];//去掉默认按钮图片

注:

1. 在插件中自定义导航栏右侧按钮,必须要在打开H5容器的启动参数中设置@{@"showOptionMenu": @"YES"} 否则设置右侧按钮无效。

2. 必须要在kNBEvent_Scene_NavigationItem_Right_Setting_Create_After监听事件中实现[event stopPropagation];否则showOptionMenu按钮的默认图片没有办法去掉。

(二)H5 容器中自定义修改

1.在 viewWillAppear 获取自定义启动参数,根据参数自定义设置 AUBarButtonItem按钮。

(1)图片样式:

AUBarButtonItem *rightItem1 = [[AUBarButtonItem alloc] initWithImage:image1 style:UIBarButtonItemStylePlain target:self action:@selector(rightBarItemPressed1)];
AUBarButtonItem *rightItem2 = [[AUBarButtonItem alloc] initWithImage:image2 style:UIBarButtonItemStylePlain target:self action:@selector(rightBarItemPressed2)];
//单个按钮
self.navigationItem.rightBarButtonItem = rightItem1;
//多个按钮
self.navigationItem.rightBarButtonItems = @[rightItem1, rightItem2];

(2)文字样式:

AUBarButtonItem *titleItem1 = [[AUBarButtonItem alloc]initWithTitle:@"按钮" style:UIBarButtonItemStylePlain target:self action:@selector(rightBarItemPressed1)];
AUBarButtonItem *titleItem2 = [[AUBarButtonItem alloc]initWithTitle:@"右侧" style:UIBarButtonItemStylePlain target:self action:@selector(rightBarItemPressed2)];
//单个按钮
self.navigationItem.rightBarButtonItem = rightItem1;
//多个按钮
self.navigationItem.rightBarButtonItems = @[titleItem1, titleItem2];

2.如果要修改 BarButtonItem 的文字大小、颜色等深度定制参考以下代码:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 40, 40);
[button setTitle:@"我的" forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setBackgroundColor: [UIColor whiteColor]];
button.titleLabel.font = [UIFont systemFontOfSize:14.0f];
AUBarButtonItem *rightItem = [[AUBarButtonItem alloc] initWithCustomView:button];

Native 自定义导航栏

(一)隐藏原生导航栏

自定义导航栏,要先隐藏原生导航栏。

//隐藏容器类navBar
self.options.showTitleBar = NO;
//隐藏系统层navBar
[self.navigationController setNavigationBarHidden:YES];

(二)创建 navBarView

  1. 创建 AUCustomNavigationBar 初始化方法必须要 navigationBarForCurrentVC: 否则按钮设置无效。
  2. 赋值给 self.customNavigationBar 容器会自动适配H5页面高度,否则需自行适配页面。
//创建navBarView,必须要用此方法
AUCustomNavigationBar *navBar = [AUCustomNavigationBar navigationBarForCurrentVC:self];
[self.view addSubview:navBar];
//设置给容器VC
self.customNavigationBar = navBar;

(三)自定义背景样式

设置背景色、渐变色等,setNavigationBarBlurEffective 设置毛玻璃效果,支持更多样式自选。

//设置背景颜色,渐变色可自行设置
navBar.backgroundColor = [UIColor lightGrayColor];
[navBar setNavigationBarBlurEffectiveWithStyle:UIBlurEffectStyleDark]; // 毛玻璃效果,更多样式自选

(四)设置左侧导航按钮

1.设置左侧导航按钮方式一:

//导航左侧按钮
navBar.backButtonTitle = @"取消";
navBar.backTitleLabel.font = [UIFont systemFontOfSize:16.0];
navBar.backButtonTitleColor = [UIColor orangeColor];
navBar.backButtonImage = [UIImage imageNamed:@"back_button@2x"];
[navBar addSubview:navBar.leftItem];

2.设置左侧导航按钮,自行关联事件方式二,与方式一冲突,两者选其一。

//自行关联事件方式,与上述属性设置冲突。
//image和title两者选其一
[navBar setNavigationBarLeftItemWithImage:[UIImage imageNamed:@"back_button@2x"]target:self action:@selector(leftItemImageClick)];
[navBar setNavigationBarLeftItemWithTitle:@"取消" target:self action:@selector(leftItemTitleClick)];

(五)设置导航栏标题

1.设置导航栏标题方式一:

//设置导航栏标题
navBar.title = @"标题";
navBar.titleColor = [UIColor redColor];
navBar.titleLabel.font = [UIFont systemFontOfSize:14.0];

2.设置导航栏标题,AUDoubleTitleView双标题titleView方式二:

//设置双标题titleView
AUDoubleTitleView *titleView = [[AUDoubleTitleView alloc]initWithTitle:@"主标题" detailTitle:@"副标题"];
navBar.titleView = titleView;
//这里使用了mPaaS下双标题UI,也可自行实现titleView

(六)设置导航栏右侧按钮

1.单个右侧按钮

(1)设置单个按钮方式一:

//设置导航右侧按钮
navBar.rightItemTitle = @"菜单";
navBar.rightItemTitleColor = [UIColor blackColor];
//image和title两者选其一
navBar.rightItemImage = [UIImage imageNamed:@"rightTT@2x"];

(2)设置单个按钮方式二:

//自行关联事件方式
//image和title两者选其一
[navBar setNavigationBarRightItemWithTitle:@"菜单" target:self action:@selector(rightItemTitleClick)];
[navBar setNavigationBarRightItemWithImage:[UIImage imageNamed:@"rightTT@2x"] target:self action:@selector(rightItemImageClick)];

2.深度自定义单、多个右侧按钮

深度自定义右侧按钮、文字、大小、图片,自行关联事件。

//深度自定义右侧按钮、文字、大小、图片、关联事件
AUButton *button = [AUButton buttonWithStyle:AUButtonStyleNone title:@"右一" target:self action:@selector(rightItemTitleClick)];
button.titleLabel.font = [UIFont systemFontOfSize:16.0];
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];AUButton *button1 = [AUButton buttonWithStyle:AUButtonStyleNone];
[button1 setImage:[UIImage imageNamed:@"rightTT@2x"] forState:UIControlStateNormal];
navBar.rightItemList = @[button,button1];

本文作者:阿里云 mPaaS TAM 团队(石鹏飞 荣阳)

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512300.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解云计算OpenAPI体系

简介&#xff1a; 就云计算的API来看&#xff0c;当前并没有类似POSIX这样的API标准&#xff0c;基本上各大厂商各自为政。当然&#xff0c;有一些业界主流标准例如OAS获得多数云厂商的支持&#xff0c;但云厂商本身的API却往往由于历史原因、技术路线原因百花齐放&#xff0c;…

Gartner:2025年有效细分市场中过半企业的 IT 支出将转向云

来源 | CSDN云计算 根据Gartner的最新预测&#xff0c;2025年有效细分市场中的企业在公有云计算领域的IT支出将超过传统IT服务支出。 Gartner的“云迁移”研究只包括可以迁移到云的企业IT市场&#xff0c;即应用软件、基础设施软件、业务流程服务和系统基础设施市场。2025年在这…

阿里云容器服务全面升级为 ACK Anywhere,让云的边界拓展至企业需要的每个场景

简介&#xff1a; 2021 年 9 月 26 日上海阿里云计算峰会上&#xff0c;阿里巴巴研究员、阿里云云原生应用平台负责人丁宇宣布&#xff0c;阿里云容器服务全面升级为 ACK Anywhere&#xff0c;让企业在任何需要云的地方&#xff0c;都能获得一致的容器基础设施能力。 此次升级的…

Redis 突然变慢了如何排查并解决?

作者 | 码哥字节来源 | 码哥字节Redis 通常是我们业务系统中一个重要的组件&#xff0c;比如&#xff1a;缓存、账号登录信息、排行榜等。一旦 Redis 请求延迟增加&#xff0c;可能就会导致业务系统“雪崩”。最近遇到了一个bug&#xff0c;经过查找发现 Redis 报 Could not ge…

成本直降50% | 阿里云发布云原生网关,开启下一代网关新进程

简介&#xff1a; 融合流量网关与微服务网关的下一代网关—云原生网关来啦&#xff01;优势满满&#xff01; 流量网关和微服务网关必须分开构建吗&#xff1f; 在容器技术和 K8s 主导的云原生时代&#xff0c;这个命题正浮现出新的答案。 更经济&#xff1a;将流量网关与微…

MongoDB 5.0新特性概览

简介&#xff1a; MongoDB 5.0标志着一个新的发布周期的到来&#xff0c;以更快地交付新特性给到用户。版本化API与在线重新分片相结合&#xff0c;使用户不必担心未来的数据库升级以及业务变化问题&#xff1b;本地原生时间序列数据平台也使MongoDB能支持更广泛的工作负载和业…

深入前端研发效能治理:数据化运营思路及其实践

简介&#xff1a; 数据中台前端研发无不让人厚重真实地感受到“唯一不变的是变化”。拿集团的数据资产服务平台来说&#xff0c;业务上经过两年的发展&#xff0c;已由单一的数据管理和使用平台发展成了集团具有一定规模和影响力的全域数据要素交易所&#xff0c;而从前端技术侧…

啥情况?为什么我的 Service 无法注入进来?

作者 | 敖丙来源 | 敖丙今天同事火急火燎的走了过来&#xff0c;说&#xff1a;快帮我看看这个错误&#xff0c;啥情况啊&#xff1f;我一看报错&#xff1a;Field xxxService in com.xx.xx.service.impl.XxXServiceImpl required a bean of type com.xx.xx.service.XxxService…

oracle sga pga mysql_oracle实例内存(SGA和PGA)调整-xin

一、名词解释(1)SGA&#xff1a;System Global Area是Oracle Instance的基本组成部分&#xff0c;在实例启动时分配;系统全局域SGA主要由三部分构成&#xff1a;共享池、数据缓冲区、日志缓冲区。(2)共享池&#xff1a;Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数…

IoT Studio可视化搭建平台编辑历史功能的思考与探索

简介&#xff1a; 在前端可视化搭建领域中“重做”和“撤销”这两个功能已经是标配中的标配&#xff0c;毕竟只要有用户行为的地方就可能会有出错&#xff0c;这两个功能无疑就是为用户提供了“后悔药”。目前有各种各样的可视化搭建平台&#xff0c;本文介绍IoT Studio可视化搭…

云计算架构设计6大原则,你遵循了吗?| 赠书

作者 | 吕昭波 2006年&#xff0c;第一个云计算&#xff08;Cloud Computing&#xff09;产品诞生&#xff0c;云计算的概念也被提出&#xff0c;现在云计算几乎已经渗入所有的行业和应用场景中。我们不一定能直接感受到云计算对日常生活、工作、学习的影响&#xff0c;但作为I…

python写自动化工具_微软最强 Python 自动化工具开源了!不用写一行代码!

1. 前言最近&#xff0c;微软开源了一款非常强大的 Python 自动化依赖库&#xff1a;playwright-python它支持主流的浏览器&#xff0c;包含&#xff1a;Chrome、Firefox、Safari、Microsoft Edge 等&#xff0c;同时支持以无头模式、有头模式运行playwright-python 提供了同步…

复杂推理模型从服务器移植到Web浏览器的理论和实战

简介&#xff1a; 随着机器学习的应用面越来越广&#xff0c;能在浏览器中跑模型推理的Javascript框架引擎也越来越多了。在项目中&#xff0c;前端同学可能会找到一些跑在服务端的python算法模型&#xff0c;很想将其直接集成到自己的代码中&#xff0c;以Javascript语言在浏览…

国家网络安全宣传周:勒索病毒利如刀,上网备好技能包

简介&#xff1a; 近年来&#xff0c;勒索病毒携带着日趋成熟的手段革新和愈发隐蔽、复杂的“进化”能力&#xff0c;开启了“重装上阵”的疯狂模式&#xff0c;“出镜率”大有提高。由于大型政企机构的网络资产价值高&#xff0c;就成了勒索病毒的头号“猎物”。 政企机构信息…

漫画:什么是“低代码”开发平台?

作者 | 小灰来源 | 程序员小灰什么是低代码&#xff1f;其实&#xff0c;这并不是最近才出现的新概念。自从计算机诞生以来&#xff0c;人们就一直在想方设法提升计算机程序编写的效率。从最初的机器语言&#xff0c;发展到现在的C、Java、Python等高级语言&#xff1b;从完全独…

OpenKruise 如何实现应用的可用性防护?

简介&#xff1a; OpenKruise 在 2021.9.6 发布了最新的 v0.10.0 版本新增了弹性拓扑管理和应用安全防护等能力&#xff0c;本文将为大家揭晓 OpenKruise 是如何实现应用的可用性防护能力。 前言 OpenKruise 是阿里云开源的云原生应用自动化管理套件&#xff0c;也是当前托管…

Serverless 工程实践 | Serverless 应用优化与调试秘诀

简介&#xff1a; 本文将以阿里云函数计算为例&#xff0c;提供了在线调试、本地调试等多种应用优化与调试方案。 作者&#xff5c;刘宇 前言&#xff1a;本文将以阿里云函数计算为例&#xff0c;提供了在线调试、本地调试等多种应用优化与调试方案。 Serverless 应用调试秘…

新一代容器平台ACK Anywhere,来了

简介&#xff1a; 近日&#xff0c;阿里云容器服务全面升级为ACK Anywhere&#xff0c;让企业在任何需要云的地方&#xff0c;都能获得一致的容器基础设施能力。 5G、AR、AIoT 等场景在推动新一代云架构的演进&#xff0c;而容器重塑了云的使用方式。 近日&#xff0c;阿里云…

高密自智,体小量大,希捷Exos Corvault存储系统为数据洞察赋能

2022年2月24日——全球领先的海量数据存储基础设施解决方案提供商希捷科技&#xff08;NASDAQ&#xff1a;STX&#xff09;在线上举办了主题为“高密自智&#xff0c;体小量大”的新一代PB级自修复存储系统——Exos Corvault新品鉴赏会。 此次鉴赏会邀请到了E企研究院首席研究…

Apache Flink 在汽车之家的应用与实践

简介&#xff1a; 汽车之家如何基于 Flink 上线了 AutoStream 平台并持续打磨。 本文整理自汽车之家实时计算平台负责人邸星星在 Flink Forward Asia 2020 分享的议题《Apache Flink 在汽车之家的应用及实践》。主要内容包括&#xff1a; 背景及现状AutoStream 平台基于 Flink …