开发者社区> 咖啡机(K.F.J)> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Node.js躬行记(16)——活动配置化

简介:   一直想将一些常规活动抽象化,制作成可配置的。原先的计划是做成拖拽的,那种可视化搭建,运营也能自己搭建页面。   这是一个美好的愿景,但是现实不允许我花太多精力去制作这样一个系统。经过权衡后,先设计成一个可配置化的系统。   先对一类常用的打榜活动做定制化的设计,解决当前问题,立竿见影的提升工作效率。   先说说此系统的价值,当它完成后,受益方将包括设计组、Web组、产品组、QA组和数据分析组。
+关注继续查看

  一直想将一些常规活动抽象化,制作成可配置的。原先的计划是做成拖拽的,那种可视化搭建,运营也能自己搭建页面。

  这是一个美好的愿景,但是现实不允许我花太多精力去制作这样一个系统。经过权衡后,先设计成一个可配置化的系统。

  先对一类常用的打榜活动做定制化的设计,解决当前问题,立竿见影的提升工作效率。

  先说说此系统的价值,当它完成后,受益方将包括设计组、Web组、产品组、QA组和数据分析组。

  (1)设计组不用再考虑界面模块,只需将精力集中到配色和插图上。

  (2)产品组不用再跟进此类活动,她们可以置身事外,设计做好的图可以直接给配置人员。

  (3)QA组不用再过一遍测试,她们只要查看页面表现是否正常即可。

  (4)数据分析组不用再为每个活动手动制订报表,根据存储的信息,可自动生成。

  (5)Web组不用再投入人力去研发界面和接口了,只要页面稳定运行,都不用修线上BUG了。

  原先这么一个活动,人力时间包括2天开发,3天测试,1天产品,6天时间,而现在可以浓缩到几十分钟,大大提升了生产力。

  设计组虽然不会减少页面设计的时间,但是切图的时间绝对能少很多。

  数据分析组本来创建报表也不会费时间,但是会打断他们的工作,自动生成后,运营就完全不用找他们了。

  当然,第一版在人性化使用方面还是欠缺的,后期还有很大的优化空间。


一、规范


  为了完成这个系统,首先是要和各方通气,我直接拉了个会议,叫上相关人员,开了40分钟左右。

  会议中,最重要的是和设计组制定规范,包括图片尺寸、页面元素、字体颜色、间距等。


2.png


  其实之前与设计组制订过一次规范,这次是在之前的规范之上,再做进一步的完善和补充。

  与产品也要确定界面呈现,例如活动前样式、活动规则等都有多套显示方案,这些是统一还是作为配置的一部分,都要在动手前确认好。

  根据会上确认的规范,就可以开始设计界面了。


二、界面


  界面设计比较朴素,就是根据规范中需要的内容,设计输入框、下拉框等控件。


3.png


  其中图片管理是整个页面的核心,通过它,可以添加页面各个位置的图片,完成页面的搭建。

  本来是想设置成上传按钮的,但这样弹框会比较长,并且实现复杂度上会比较高,经过权衡后,还是使用了简单的文本框,将地址填入即可。

  列表页面设计的也很精简,为了方便查看活动,特地加上了预览按钮,鼠标移到预览按钮中,还可生成二维码,方便手机扫码查看。



三、存储


  原先计划是将数据存储于MongoDB中,因为存储的好几个字段都是JSON格式。

  若存储在MySQL中,那么在写入和读取时需要分别对其进行JSON序列化和反序列化。

  但是后面和数据组沟通,才了解到若要自动生成报表,那么他们就得读表,而MongoDB他们无法读取,之前没有连接,需要开发成本。

  为了众乐乐,最终决定存储于MySQL中,这样的话,数据组也不用额外开发了。

  这样的话,配置就完成了,但是活动页面的数据源是从另外的位置读取的。

  我们组会维护一个定时任务,5分钟读取一次服务端的接口,然后存储到指定缓存中,活动的数据源就是这个缓存数据。

  要完成这个活动系统,需要我们组三个人共同完成,由我负责管理后台的配置界面,另外一人完成活动的接口,还有一人编写H5页面。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Node.js躬行记(11)——E2E测试
  Cypress是为现代网络构建的前端测试工具,解决了开发人员和 QA 工程师在测试应用程序时面临的关键痛点。   在这个测试框架中包含了E2E测试、集成测试和单元测试(内嵌了Mocha),我们需要的是它的E2E测试的能力。   官网中包含详尽的API接口文档,以及多个视频教程、实例等,只要有耐心,看完文档,上手是不成问题的。   之所以要引入E2E测试,主要是为了保证主流程能够不出错,尤其是在后期做修修补补后,有一个可靠的方式告诉我们当前页面是正常的就行。
38 0
Node.js躬行记(10)——接口日志查询
  当运营向我们上报BUG时,我们第一时间是捕获相关的接口。从监控系统中,就可以查到用户使用时接口的请求和响应数据。   若接口的请求正常,那么就需要深入到接口代码中,查看相关的日志,通常会先浏览数据库查询语句以及内部接口的通信日志。   在本地也可以查看到上述日志,但有个问题,有时候打开某个页面会报错,那是因为本地的数据库没有与测试或正式环境的同步。   可能是有些字段缺失了,也可能是某张表缺失了,情况比较多。所以,最保险的是在测试或正式环境查看。
103 0
Node.js 支持 ES6 模块的进展
本文讲的是Node.js 支持 ES6 模块的进展,如果你没有读过我之前的文章,在继续阅读之前,建议你看一下,里面描述了两种模块系统架构一些重大差异。简单来说:CommonJS 和 ES6 模块的根本差异在于模块结构解析完全并能够在其他代码里使用的时机。
1485 0
node.js模块的坑
在写一个工具的时候,需要将xml转为json方便处理,以前电脑上装的node.js的版本为0.8,结果我再安装node-xml2json时提示版本过低,然后我又重装安装了最新版本。 然后再次尝试安装,首先报python版本不对,不支持3.0,然后再降级,再然后说windows系统需要先安装node-expat,装这个模块又需要先装node-gyp,好吧然后我一直安装失败…   最后我使用了这个模块: node-xml2json   根据thomasfrank大师写的 XML to JSON 改造的,唯一要注意的是如果xml中的节点属性有大写,转换之后全部成小写了。
879 0
node.js入门学习
什么是Node.js?还服务器端javascript?对于这个概念我在这篇文章不做解释,可以自己去搜索了解下,服务器端js不是新技术,只是最近的node.js的火爆让他爆发了,我会在以后的文章里解释什么是node.js。
883 0
+关注
咖啡机(K.F.J)
每天进步一点点 研磨生活的香甜
350
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载