有赞零售 App 离线切换技术方案

一、离线模式的价值 有赞零售客户端的用户是需要经营线下门店的商家,在商家的经营时间内,如果软件不能保证正常使用会导致经营效率下降,甚至客户流失。因此除了不断优化软件性能,降低崩溃率,还要做好异常情况的降级处理,比如遇到网络故障和服务器故障等情况时,软件要保证核心功能的可用性,此时软件的工作模式被称为离线模式。 在离线模式下,客户端不能和服务端进行正常的数据通信,所有的数据存储和计算逻辑都要客户端独立完成。目前有赞零售客户端在离线模式下支持登录、收银支付、订单管理、会员积分、部分营销活动等核心功能,即使在极端情况下,有赞零售客户端依然保证商户的经营活动正常进行。 在客户端离线解决方案中主要有两个问题: 1、如何准确及时的触发或退出离线模式。…

Read More

有赞零售移动收银商品实践

文 | Alex、Siam 面对线下收银场景,针对商品收银业务,如何提升商家收银的效率?如何保证即使在弱网或无网条件下商家正常的收银?如何设计大量商品时搜索方案?如何对业务模块进行解耦和各种复杂的业务场景交互?都是在设计零售收银业务时,需要去认真思考的问题。 有赞零售移动团队在业务快速地迭代中,沉淀出商品收银的一套可行方案。 模块化设计 得益于零售移动的组件化框架,对业务线划分为店铺、交易、商品、营销等模块 路由负责页面跳转与组件间通信 私有化商品模块数据,商品模块提供查询接口 离线商品数据 客户端本地存储商品商品,即使在无网时,…

Read More

聊聊UI标准化

文 | Siam & Alex 一、背景 有赞零售从17年8月出生到现在,在过去的一年多时间里,整个零售APP团队忙于为线下商家提供各种经营场景的解决方案,在这种“赶工”下,毫无疑问,欠下了太多的技术债。UI风格不一致,交互体验不统一无疑是被吐槽最多的一点。为了避免开发与设计师相恨相杀,UI标准化就这样自然而然的提上了日程。 二、解决思路 设计师吐槽设计稿还原度低,已有的东西无法复用;开发吐槽设计稿不统一,交互模式不一致。因此UI标准化是开发与设计的标准。…

Read More

有赞移动 iOS 组件化(模块化)架构设计实践

一、背景 业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自16年起也在不断尝试各种组件化方案,在有赞微商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出 iOS 相关框架 Bifrost (雷神里的彩虹桥)。在过程中我们深刻体会到“没有绝对正确的架构,只有最合适的架构”这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。 本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,…

Read More