fork from bc4552c5a8
This commit is contained in:
82
exts/yapi-plugin-statistics/server.js
Normal file
82
exts/yapi-plugin-statistics/server.js
Normal file
@@ -0,0 +1,82 @@
|
||||
/**
|
||||
* Created by gxl.gao on 2017/10/24.
|
||||
*/
|
||||
const yapi = require('yapi.js');
|
||||
const mongoose = require('mongoose');
|
||||
const controller = require('./controller');
|
||||
const statisModel = require('./statisMockModel.js');
|
||||
const commons = require('./util.js');
|
||||
|
||||
module.exports = function() {
|
||||
yapi.connect.then(function() {
|
||||
let Col = mongoose.connection.db.collection('statis_mock');
|
||||
Col.createIndex({
|
||||
interface_id: 1
|
||||
});
|
||||
Col.createIndex({
|
||||
project_id: 1
|
||||
});
|
||||
Col.createIndex({
|
||||
group_id: 1
|
||||
});
|
||||
Col.createIndex({
|
||||
time: 1
|
||||
});
|
||||
Col.createIndex({
|
||||
date: 1
|
||||
});
|
||||
});
|
||||
|
||||
this.bindHook('add_router', function(addRouter) {
|
||||
addRouter({
|
||||
controller: controller,
|
||||
method: 'get',
|
||||
path: 'statismock/count',
|
||||
action: 'getStatisCount'
|
||||
});
|
||||
|
||||
addRouter({
|
||||
controller: controller,
|
||||
method: 'get',
|
||||
path: 'statismock/get',
|
||||
action: 'getMockDateList'
|
||||
});
|
||||
addRouter({
|
||||
controller: controller,
|
||||
method: 'get',
|
||||
path: 'statismock/get_system_status',
|
||||
action: 'getSystemStatus'
|
||||
});
|
||||
addRouter({
|
||||
controller: controller,
|
||||
method: 'get',
|
||||
path: 'statismock/group_data_statis',
|
||||
action: 'groupDataStatis'
|
||||
});
|
||||
});
|
||||
|
||||
// MockServer生成mock数据后触发
|
||||
this.bindHook('mock_after', function(context) {
|
||||
let interfaceId = context.interfaceData._id;
|
||||
let projectId = context.projectData._id;
|
||||
let groupId = context.projectData.group_id;
|
||||
//let ip = context.ctx.originalUrl;
|
||||
let ip = yapi.commons.getIp(context.ctx);
|
||||
|
||||
let data = {
|
||||
interface_id: interfaceId,
|
||||
project_id: projectId,
|
||||
group_id: groupId,
|
||||
time: yapi.commons.time(),
|
||||
ip: ip,
|
||||
date: commons.formatYMD(new Date())
|
||||
};
|
||||
let inst = yapi.getInst(statisModel);
|
||||
|
||||
try {
|
||||
inst.save(data).then();
|
||||
} catch (e) {
|
||||
yapi.commons.log('mockStatisError', e);
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user