电商经典的sku选择v2优化版迭代最近公司又要做新的业务需求,所以sku选择重新写一次,比起之前的做法,更加简洁、逻辑更清晰。(以前的sku选择旧文章直接从博客中删除了,当前文章即为最优版本) 业务说明电商业务中,商品的规格选择是最常见的操作,如果规格比较少,完全可以使用扁平化的一维数组完全展示,例如红色+128G+6G内存; 但我们平台的部分商品,规格非常多,可能交叉握手后达到几十上百种,这时候就不能展示组合后的选择,因为太 2023-10-24 #js
vue2使用pinia描述最近又要开始做新项目了,H5本来想用vue3,但是通过电商H5数据埋点统计了一下,发现使用ios9.x还是有一部分人,vue3会存在兼容性问题,为了保证所有用户都能正常使用,只能放弃vue3,继续使用vue2; vue2目前的最新版本为v2.7.14,而且vue从v2.7开始,内置支持了组合式 API,所以基本上可以无障碍使用vue3的特性与语法; vue2.7.x中使用pinia项目的总 2023-03-13
升级macos到13.x,导致SSH失效的问题问题这几天把macos系统升级到了13.2.1,在使用git的时候出现错误,总之报错信息的意思就是ssh有问题,授权信息有问题,那就可以确定,是升级macos13后导致ssh出现了异常; 经过查询,是因为macos13默认关闭了ssh-rsa算法,所以导致本地现有的ssh失效。 解决方法在macos中,直接打开命令行工具,输入open ~/.ssh,会打开一个目录在此目录中,新建一个config文 2023-03-06 #macos
生成指定数量的质数为什么做这个闲着没事又看到自己很久以前做的SKU选择的需求,以前的代码写得逻辑有点乱,我完全看不懂了; 就打算重构一下SKU选择,当时正好看到一篇文章,每个最小单元规格用一个唯一的质数做标记,例如: 红色->2,6G内存->3,128G硬盘->5;那么只要这3个规格组合起来,就是 红色;6G内存;128G硬盘,组合后的规格标记为 2*3*5=30; 为什么要这样标记,因为质数只能 2022-07-06 #js
hex转rgba需求周五的下午,已经离职但仍然心系我这个开发的产品大佬问了这样的一个需求,说他们公司的前端说不好做;其实就是一个样式,左边的Q区域,默认是黑色,右边的标题描述区域,颜色是浅灰色; 当用户想要自行设置时,比如说设置一个蓝色,那么左边Q区域就是选定的蓝色,而右边区域,不做任何人为干预,自动变为浅蓝色; 而且他们还不许用一个透明块覆盖去实现;一般来说,管理系统选定的颜色其实为HEX16进制色,例如:#F 2022-07-02 #js
生成互补色需求及业务场景突然又想起很久以前的一个需求,在首页Banner的位置,背景色可以通过管理系统动态配置,但是UI图默认的TAB菜单文字颜色为白色,这时候会出现一个问题,假如背景色也设置为浅色系,文字也是浅色,那么用户就完全看不清;同理,假如背景色为深色系,文字也是深色,同样看不清;所以这时候就需要前端根据已有背景色,计算出文字到底是什么颜色才能让用户看得清晰、能无障碍使用; 例如:背景色为浅色,则文 2022-06-26 #js
全网独家骚操作-富文本超长内容展开收起需求用户评论列表,每一条评论可能有很长的内容,所以产品要求如果内容>3行,则最多展示3行,下方出现按钮,可以进行’展开’、’收起’操作; 如果内容<=3行,则完整展示,并且没有任何操作按钮; 目前服务端返给前端的评论内容数据,是富文本形式; 需要达成的效果 实现思路点击按钮前,默认情况需要满足以下几个条件: 以行数进行计算,不要计算内容有多少个字,因为是富文本,而且可能还有乱七八糟的 2022-06-24 #css
forEach循环中的同步和异步问题业务最近做了一个需求,首页弹窗,当我们从服务端拿到一组图片数据时(可能有好几张),先确保该图加载完成,再进行弹窗,关闭后继续下一个;可以看出遍历图片数组,每一项依次处理; 用forEach能否实现正好碰到这个需求,是关于循环的,而且循环内还是同步的方法,需要顺序执行,为什么我这里要使用for循环来实现?forEach也能循环遍历啊,用了会发生什么呢? 我觉得有必要写一篇文章来认真分析下。 写一个类 2022-05-31 #js