NeralJS需求整理及思路
NeralJs希望通过解析json数据,动态创建和渲染报表,每个报表呈现一定时间范围的数据,通过使用表格图表等不同的方式,使数据的呈现不死板,且更容易看出规律。
说通俗点,就是动态在一个区域内生成多张图表。
经过深思熟虑(其实写之前什么都没想,想到一点写一点),有以下几个问题需要考虑:
1、由于数据是在报表呈现时从后台直接拉取的,那么在json中应该保存的就是这组数据的定义,如何定义?
如某淘宝商店销售天数据:[10,12,8,9,3,1,12],这些数据都被保存在后台,并被命名为DayIncom,当然天数据每天都有,所以数据库中根据时间存了很多组,所以还需要确定时间区间。如时间是2014/12/5至2014/12/12日。
最后json中保存格式变成这样:
{
title:'淘宝销售天数据',//对应到图例
uid: 'DayIncome',
dataRange: { start: '2014/11/8', end: '2014/-1/-1' },
}
通过ajax向后台发送请求,请求内容如上,后台解析数据返回需要的内容。
2、动态数据加载,如果数据组太多,如何减少请求?
如果一个报表页面每个需要加载10个左右的数据组,那么ajax服务就需要请求10次,不仅效率低下而且服务器会负载,所以需要建立一个ajax的管理模块,将需要请求的数据收集起来,一次发送,同时在接收完毕时触发自定义消息,通知视图管理模块更新图表内容。
3、ajax管理模块ajaxManager的功能确定
ajax管理模块需要接收多组如上1中所说的数据对象,并统一发送请求,并允许对象监听请求成功事件,将指定的数据告诉视图管理模块。整理一下这句需求得到下面的几个函数:
function AjaxManager(){
void addRequest(info);//接收多组数据对象
void DoRequest();//统一发送请求
void OnReady(uid,function);//允许对象监听请求成功事件,并返回对应的数据
}
4、视图管理模块ViewManager的确定
视图管理模块需要对所有的视图进行管理,考虑到之后可能会需要修改和移动视图的功能,暂定功能为增、删、改。同时,为了模块清晰,功能单一,只是生产一个空的div框,内部实现,如多标签等功能,交给Panel模块实现。模块需要增删,所以不能简单的使用内部index的方式定位到模块(原来有3个div,编号0,1,2。现在删除1号视图框,则2号的实际保存编号变成1),使用随机生成的GUid作为框体的id属性
{
x: 20,
y: 20,
width: 800,
height: 510
}
5、Panel模块的确定
Panel模块用于生成多标签的框体,同时控制内部内容的显示。何为内部内容显示,即需要解析json数据,向Ajax管理模块增加ajax请求,并读取返回的内容,渲染图表。
下图创建一个两个标签的panel:
{
tab_count:2,
tab_text:["标签1","标签2"]
}
6、综合
{
components: [
{//对应一个chart控件
type: 'line',
series:[
{
title:'淘宝销售天数据',//对应到图例
uid: 'DayIncome',
dataRange: { start: '2014/11/8', end: '2014/-1/-1' },
}
],
panel_index:"标签2"
}
],
panels: {
canvas: {
width: 1200,
height: 600
},
data: [
{
x: 20,
y: 20,
width: 800,
height: 510,
tab_count:2,
tab_text:["标签1","标签2"]
},
{
x: 835,
y: 20,
width: 300,
height: 250,
tab_count:1,
tab_text:["标签3"]
},
{
x: 835,
y: 280,
width: 300,
height: 250,
tab_count:1,
tab_text:["标签4"]
}
]
}
};
NeralJS需求整理及思路的更多相关文章
- 用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理
在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小.在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识.老 ...
- CMDB服务器管理系统【s5day87】:需求讨论-设计思路
自动化运维平台愿景和服务器管理系统背景 服务器管理系统 管理后台示例 需求和设计 为什么开发服务器管理系统? 背景: 原来是用Excel维护服务器资产,samb服务[多个运维人员手动维护] 搭建运维自 ...
- python UI自动化实战记录一:测试需求与测试思路
测试需求: 项目包含两个数据展示页面,数据均来自于四个数据源接口. 测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新.需验证页面上的数据与数据源接口数据一 ...
- python接口测试-项目实践(一) 测试需求与测试思路
测试需求: 第三方系统提供了3个接口,需要测试前端显示的字符串里的对应数据与接口数据是否一致. 测试分层: 开发人员的设计:每周从接口取一次数据,拼接完成后保存到数据库.再从数据库取数提供接口给前端开 ...
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
- Axure XMind整理交互思路
本部分主要是为了研究Xmind思维导图总结设计原型的思路
- mess系统 开发技术,需求整理
1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页 ...
- 怎么用思维导图软件iMindMap整理发文思路
如果你是一个普通的博客作者,那么你就应该明白在枯竭时寻找灵感就像是一场噩梦,即使你有一千个想法,但是你无法将它们关联起来也是无用的,所以,为什么不试试iMindMap思维导图呢,尝试创新,进行组建,你 ...
- 16.MindManager整理交互思路
点住主题同时按ins键可以插入一个支节点 右键主题选择下方的排列图表 可以选择排列方式 按住主题同时ctr+v就会粘帖成一个子主题 文本也可以复制黏贴 主题内容可以直接选择拖动更改结构 选择主题框上的 ...
随机推荐
- CHAR数组转成STRING:C++
有些时候,键入了CHAR数组却不会知道到底有多长,是不是很差评呢?但是,转成STRING就可以啦QWQ #include <iostream> #include <cstdio> ...
- WordPress插件制作笔记(一)---First Plugins Demo
1->add_action HOOK简单说明: http://codex.wordpress.org/Plugin_API/Action_Reference (参考网址) //在后台页脚位置加 ...
- ubuntu 下telnet 操纵memcache 实现
memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中.这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护.假设memcache安装目录:/us ...
- 专门讲讲这个MYSQL授权当中的with grant option的作用
对象的owner将权限赋予某个用户(如:testuser1) grant select ,update on bd_corp to testuser1 [with grant option ]1.如果 ...
- Gridview中奇偶数行颜色设置
在gridview中的RowDataBound事件里面写 switch (e.Row.RowType) {case DataControlRowType.Header: e.Row.BackColor ...
- Android中观察者模式的升入理解
以前对Java中的观察者模式只知道一点皮毛,在接触Android的过程中,逐渐认识到观察者模式是如此的重要,android中许多地方都用到了观察者模式例如ContentResolver操作,来总结一下 ...
- 【HDOJ】1104 Remainder
bfs. #include <cstdio> #include <cstring> #include <cstdlib> #include <queue> ...
- 【7】JAVA---地址App小软件(AddrBusiness.class)(逻辑层)
这个...没多少好解释的... 表现层的增删改查的具体实现类. package cn.hncu.addr.business; import javax.swing.JOptionPane; impor ...
- linux内核链表的移植与使用
一. Linux内核链表为双向循环链表,和数据结构中所学链表类似,具体不再细讲.由于在内核中所实现的函数十分经典,所以移植出来方便后期应用程序中的使用. /********************* ...
- M - 约会安排 - hdu 4553
寒假来了,又到了小明和女神们约会的季节. 小明虽为�丝级码农,但非常活跃,女神们常常在小明网上的大段发言后热情回复“呵呵”,所以,小明的最爱就是和女神们约会.与此同时,也有很多基友找他开黑,由于数量 ...