公司:古茗
古茗是中国大陆连锁调饮品牌,由王云安等人于2010年在浙江省台州温岭市创立。该品牌主打三、四线城市市场,是浙江加盟店数量最多的茶饮品牌。至2021年,全国门店数量已经突破5000家,分布在全国18个省市、139座城市。现由浙江古茗科技有限公司运营,总部在浙江省温岭市大溪镇。口号是“每天一杯喝不腻”。
组件复用方式探索
在页面开发过程中,发现两个小程序的工程目录下都有大量相同的全局components,每次修改都需要同时修改两个项目的组件代码,因此想要将这部分抽离出来。最常见的方式是抽离成npm包进行复用,但是无意间看到了这篇文章,于是想到是否可以使用远程组件的方式来进行复用。
古茗门店电子屏的设计与改进
各位熟知的在门店中除了电子菜单屏,还有电视机作为广告位来展示宣传视频,限时营销商品等等,在上一期中基于电子菜单的诉求,产生了自定义建站、定制化通用物料的等等需求,于是产出了后台建站设计方案与页面渲染的技术方案。
在后续的电视机业务中整体的流程还是十分相似,但由于实际业务不同,原有逻辑也会存在着多态。所以在做电视机业务中,只是将电子菜单的代码拷贝出了一份,在原有逻辑基础上修修补补,最终产出出了一份针对电视机业务的代码。
解释「解释解析器」
不知道大家有没有想过一个问题:"我们编写的JS代码只是一些字符串,它是怎么被机器执行的?",下面我们带着这个问题进入文章。
JavaScript 模块化演进历程
回顾 JavaScript 的发展历程,从最初的简单浏览器脚本语言,到如今构建互联网应用程序的现代编程语言,模块化技术在这一演变中发挥了关键作用。本篇文章将从 JavaScript 的模块化探索及模块化规范的持续演进两部分,回顾 JavaScript 模块化的演进历程。
关于请求这件小事
在日常开发过程中,经常与服务器进行交互。但其实,看似简单的请求,也有一些可以思考的点。大家都知道,浏览器是有并发限制的,最大并发数量是6-8个。那么,引出我们的第一个问题,针对一些相似请求,怎么合并请求?
古茗埋点测试实践
在前端页面的开发过程中,埋点不仅是获取用户行为数据的关键途径之一,也是产品优化和决策制定的重要依据。随着埋点需求的逐渐增多,保证埋点的正确性和完整性是我们需要解决的一个问题。
转 C 端后,我在古茗做的第一个需求
用微信、支付宝和抖音扫描门店展示的同一个二维码进入不同的页面,具体来说,支付宝和抖音端进入点单小程序的点单页,并定位到二维码所绑定的门店,微信端则进入二码合一页面。二码合一名称的由来是,将原来的点餐码和社群码统一成一个二维码,微信扫描之后进入二码合一页面,在该页面判断用户是否加过社群,根据结果在界面上展示不同的内容。
宣传物料定制化场景的实现与落地
门店宣传物料是指门店在日常营运时所需的包含且不局限于(宣传单页、横幅、贴纸、海报等)。在营销策略中我们较为熟知千人千面,当然宣传物料也是如此,我们需要满足不同店铺的营销、宣传需求来做宣传物料的定制化方案。
钉钉H5微应用实现桌面快捷方式
在我们公司的很多内部应用,都以钉钉为宿主环境。因此打开一个应用的里的某个功能,都至少要经过钉钉->从聊天切换到应用列表->打开应用->打开次级页面或功能,这样层层菜单区寻找。因此基于提高效率、方便使用的出发点,我们希望能够像微信小程序一样,借助于生成桌面快捷方式解决这个问题。
透析CDN技术架构
CDN(全称 Content Delivery Network),经常被我们使用在前端资源处理中,例如:图片、视频、音频、html等静态资源。当遇到加载性能问题的时候,需要提效,会优先想到使用CDN进行加速资源 处理。
你可能不知道的一些前端调试小技巧!
在日常工作中,我们难免会碰到各式各样的线上问题,而有些问题可能因为不同环境下的数据、构建产物不同等原因导致在本地或者测试环境不易复现,如果公司内没有比较完善的线上错误监控和日志分析平台,不妨尝试下以下的调试方法,也许就能帮助你解决线上的“疑难杂症”。
taro4.0支持vite?让我来试试
taro4.0已经beta版本好久了,去年底就关注到了相关的立项,据说今年的第二季度会发布正式版本。
小小 MQTT 拿下
MQTT 全称为 Message Queuing Telemetry Transport,中文名称为【消息队列遥测传输】,是一种轻量级的发布/订阅消息传递协议,广泛用于物联网(IoT)和其他需要可靠消息传输的场景。
古茗是怎么做前端数据中心的之接口分析篇
本文主要介绍了古茗前端数据中心的接口分析工作和数据处理方式。接口分析旨在了解接口的使用情况并及时发现错误,提供指标和错误分析。前端数据采集通过不同的hook方式在不同的端侧进行,如在Web侧通过hack XMLHttpRequest和Fetch,在小程序侧通过hack请求参数的complete回调,在Flutter侧通过覆盖HttpOverrides。数据处理使用nodejs+redis+influxdb+mysql,将数据存储到redis中并定时将列表型统计数据写入mysql。数据处理还包括统计趋势,通过按分钟维度的缓存和统计算法,将URL分类写入缓存并进行数据统计。每分钟,将缓存中的数据写入influxdb并清空缓存。
H5端高德地图海量点渲染性能优化实践
文章讲述了达到良好性能的目的,并指出在技术层面并没有高深的地方。然而,通过分析和解决问题的过程,可以更好地理解和掌握产品和技术实现。同时,对于以后遇到类似的性能问题,也提供了一些有价值的参考思路。
Popover 不完全指南
通过示例代码和动画效果展示了popover的效果,并提供了一个功能检测脚本。