您的位置:首页 > 数据库 > MySQL

Mysql To Charts(五)--routers文件

2016-03-28 20:04 633 查看
在Mysql To Charts(二)–相关知识点中已经提到,路由文件中路由控制

定义了一系列路由代码,可以接收用户请求后渲染模板页面返回给客户端

对于routers下的.js文件的实现,现在先看看路由设计的一些方法

创建路由

//加载express框架
var express = require('express');
//创建一个express实例
var app = express();
//创建express的路由功能,可以根据需要创建多个路由,需要多少,创建多少。
var router = express.Router();


router.use方法

//路由,类似于java中的拦截器功能,在请求到达后台之前,先在这里处理
router.use(function(req, res, next) {
req.query["name"] = "tom";
console.info('进入路由,添加一个参数name=tom');
//next的作用是将请求转发,这个必须有,如果没有,请求到这就挂起了
next();
});


router.get方法

//加载路由,获取'/'页面
router.get('/', function(req, res, next) {
res.render('index', { title: 'SeewoSoftware', company: 'CVTE' });
});


其中

1. ‘/’:对应的“/”下的页面

2. ‘index’:对应到views文件下的同名.ejs文件(即index.ejs)

3. title/company:传到index.ejs文件的参数

现看看index.js文件的具体实现

现需要的是为每个项目做为一个页面曲线图展示,故每个项目都定义一个.ejs文件,在index.js中映射响应的子页面

定义一个函数

function subitemPage(project) {
router.get('/'+project, function (req, res, next) {
res.render(project, { title: project+'数据统计' });
});
}


将所有项目定义一个数组

var projectList = new Array(
'EasiNote3',
'EasiNote5',
'SeewoRemote',
'EasiBroadcast',
'EasiNet',
'jianjishi',
'EasiCamera',
'ArmyShow',
'SeewoAir',
'SeewoLink',
'shoukebao',
'EasiConnect',
'SeewoOS',
'SeewoCare',
'SeewoAdmin',
'UnifiedLanding',
'SeewoBBS',
'EN5Admin',
'TeacherTraining',
'SeewoClass',
'EasiNote4Linux'
);


然后直接遍历数组,调用函数即可

for(var i=0;i<projectList.length;i++){
subitemPage(projectList[i]);
}


在index.js文件中,必须还得定义主界面

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'SeewoSoftware', company: 'CVTE' });
});


其中,在Mysql To Charts(四)中提到的在index.js文件中请求数据库,让绘图的data中进行回调

/**
* 请求数据库数据
*/
router.get('/NextPage/report/data', function (req, res, next) {
jiraMysqlQuery.checkProjectBugNumber(req.param('projectName'), function(error, data) {
if(error) {
res.send({stateCode: 500});
}else {
res.send(data);
}
});
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: