up
This commit is contained in:
+11
-12
@@ -5,19 +5,14 @@ module.exports = {
|
|||||||
path : "/",
|
path : "/",
|
||||||
method : ["get", "post"],
|
method : ["get", "post"],
|
||||||
middleware: [],
|
middleware: [],
|
||||||
params : {},
|
params : {
|
||||||
|
"age": "int"
|
||||||
|
},
|
||||||
return : {},
|
return : {},
|
||||||
controller: async (ctx, app) => {
|
controller: async (ctx, app) => {
|
||||||
|
console.log(ctx.request.body);
|
||||||
// app.err.ParameterException()
|
// app.err.ParameterException()
|
||||||
app.event.emit('test.event2')
|
// app.event.emit('test.event2')
|
||||||
const where = {
|
|
||||||
// id: 4
|
|
||||||
}
|
|
||||||
const data = {
|
|
||||||
// id: 1,
|
|
||||||
uid: "77",
|
|
||||||
}
|
|
||||||
|
|
||||||
// const User = await app.table("User").where(where).findAll()
|
// const User = await app.table("User").where(where).findAll()
|
||||||
// const User = await app.table("User").time(["2022-04-9", "2022-04-10"]).findAll()
|
// const User = await app.table("User").time(["2022-04-9", "2022-04-10"]).findAll()
|
||||||
// const User = await app.table("User").where(where).findOrCreate(data)
|
// const User = await app.table("User").where(where).findOrCreate(data)
|
||||||
@@ -48,9 +43,13 @@ module.exports = {
|
|||||||
// await app.table("User").where({id: 1032}).data({age: 2}).setInc() // 字段值+2
|
// await app.table("User").where({id: 1032}).data({age: 2}).setInc() // 字段值+2
|
||||||
// const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setDec(0) // 字段值-2,不能低于0,如果低于0返回false
|
// const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setDec(0) // 字段值-2,不能低于0,如果低于0返回false
|
||||||
// const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setDec(0,10) // 字段值-2,不能低于0,如果低于0设置为10
|
// const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setDec(0,10) // 字段值-2,不能低于0,如果低于0设置为10
|
||||||
const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setInc(20, 10) // 字段值+2,不能大于20,如果大于20设置为10
|
// const {res, value} = await app.table("User").where({id: 1032}).data({age: 2}).setInc(20, 10) // 字段值+2,不能大于20,如果大于20设置为10
|
||||||
|
// const res = await app.table("User").count() // 统计
|
||||||
|
// const res = await app.table("User").data("age").sum() // 求和
|
||||||
|
// const res = await app.table("User").data("age").max() // 查询最大值
|
||||||
|
// const res = await app.table("User").data("age").min() // 查询最小值
|
||||||
|
|
||||||
|
|
||||||
ctx.body = {res, value}
|
ctx.body = {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
'use strict';
|
||||||
|
const bodyParser = require('koa-bodyparser')
|
||||||
|
// 错误处理
|
||||||
|
module.exports = bodyParser()
|
||||||
Binary file not shown.
@@ -1,6 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
module.exports = {
|
module.exports = {
|
||||||
time: {
|
register: ["bodyparser", "error", "time", "koaLogger", "verify"],
|
||||||
|
time : {
|
||||||
params: '123'
|
params: '123'
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
+105
-7
@@ -12,6 +12,7 @@ const Router = require("koa-router");
|
|||||||
const EventEmitter = require('events');
|
const EventEmitter = require('events');
|
||||||
const schedule = require("node-schedule");
|
const schedule = require("node-schedule");
|
||||||
const Sequelize = require("sequelize");
|
const Sequelize = require("sequelize");
|
||||||
|
const Parameter = require('parameter');
|
||||||
|
|
||||||
module.exports = class Bamboo extends Koa {
|
module.exports = class Bamboo extends Koa {
|
||||||
constructor(agrs, options) {
|
constructor(agrs, options) {
|
||||||
@@ -20,11 +21,16 @@ module.exports = class Bamboo extends Koa {
|
|||||||
this.fulfill = false //启动完成
|
this.fulfill = false //启动完成
|
||||||
this.modelAmend = false //模型文件是否有改动
|
this.modelAmend = false //模型文件是否有改动
|
||||||
this.config = {}
|
this.config = {}
|
||||||
this.utils = this.registeredContextUtils(xe)
|
this.utils = {}
|
||||||
|
this.registeredContextUtils({"xe": xe})
|
||||||
|
this.registeredParameter()
|
||||||
|
// const ajv = new Ajv({})
|
||||||
|
// this.registeredContextUtils({"ajv": ajv})
|
||||||
this.logger = null
|
this.logger = null
|
||||||
this.Sequelize = null
|
this.Sequelize = null
|
||||||
this.mysql = null
|
this.mysql = null
|
||||||
this.sqlite = null
|
this.sqlite = null
|
||||||
|
this.ajv = null
|
||||||
this.event = new EventEmitter()
|
this.event = new EventEmitter()
|
||||||
this.registeredConfig()
|
this.registeredConfig()
|
||||||
this.setLogger()
|
this.setLogger()
|
||||||
@@ -100,6 +106,11 @@ module.exports = class Bamboo extends Koa {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registeredParameter(){
|
||||||
|
this.parameter = new Parameter();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//注册 mysql数据库
|
//注册 mysql数据库
|
||||||
async registeredDB() {
|
async registeredDB() {
|
||||||
console.log('注册 数据库');
|
console.log('注册 数据库');
|
||||||
@@ -272,9 +283,14 @@ module.exports = class Bamboo extends Koa {
|
|||||||
visit: (obj) => {
|
visit: (obj) => {
|
||||||
for (let methodElement of obj.method) {
|
for (let methodElement of obj.method) {
|
||||||
router[methodElement](obj.path, async (ctx, next) => {
|
router[methodElement](obj.path, async (ctx, next) => {
|
||||||
ctx['logger'] = this.logger
|
const validate = this.parameter.validate(obj.params, ctx.request.body);
|
||||||
await obj.controller(ctx, this.application)
|
if (validate) {
|
||||||
next();
|
console.error(validate);
|
||||||
|
this.errorException.ParameterException(validate);
|
||||||
|
}else{
|
||||||
|
await obj.controller(ctx, this.application)
|
||||||
|
next();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return obj
|
return obj
|
||||||
@@ -338,9 +354,10 @@ module.exports = class Bamboo extends Koa {
|
|||||||
|
|
||||||
//注册 utils
|
//注册 utils
|
||||||
registeredContextUtils(args) {
|
registeredContextUtils(args) {
|
||||||
console.log('注册 utils');
|
this.utils = {
|
||||||
console.log('xe version', this.xe.VERSION);
|
...this.utils,
|
||||||
return args
|
...args
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//logger
|
//logger
|
||||||
@@ -689,6 +706,82 @@ module.exports = class Bamboo extends Koa {
|
|||||||
return res && res.dataValues || null
|
return res && res.dataValues || null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计查询结果数
|
||||||
|
*/
|
||||||
|
async count() {
|
||||||
|
if (!this.tableName) { this.errorException.HttpException("请传表名") }
|
||||||
|
const res = await this.mysql.models[this.tableName].count(
|
||||||
|
this.tableData,
|
||||||
|
{
|
||||||
|
where : this.tableWhere,
|
||||||
|
order : this.tableOrder || [['updatedAt', 'DESC']], // 时间排序
|
||||||
|
group : this.tableGroup,
|
||||||
|
attributes : this.tableAttributes,
|
||||||
|
transaction: this.t
|
||||||
|
}
|
||||||
|
)
|
||||||
|
this.resetDbData()
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 求和
|
||||||
|
*/
|
||||||
|
async sum() {
|
||||||
|
if (!this.tableName) { this.errorException.HttpException("请传表名") }
|
||||||
|
const res = await this.mysql.models[this.tableName].sum(
|
||||||
|
this.tableData,
|
||||||
|
{
|
||||||
|
where : this.tableWhere,
|
||||||
|
order : this.tableOrder || [['updatedAt', 'DESC']], // 时间排序
|
||||||
|
group : this.tableGroup,
|
||||||
|
attributes : this.tableAttributes,
|
||||||
|
transaction: this.t
|
||||||
|
}
|
||||||
|
)
|
||||||
|
this.resetDbData()
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询最大值
|
||||||
|
*/
|
||||||
|
async max() {
|
||||||
|
if (!this.tableName) { this.errorException.HttpException("请传表名") }
|
||||||
|
const res = await this.mysql.models[this.tableName].max(
|
||||||
|
this.tableData,
|
||||||
|
{
|
||||||
|
where : this.tableWhere,
|
||||||
|
order : this.tableOrder || [['updatedAt', 'DESC']], // 时间排序
|
||||||
|
group : this.tableGroup,
|
||||||
|
attributes : this.tableAttributes,
|
||||||
|
transaction: this.t
|
||||||
|
}
|
||||||
|
)
|
||||||
|
this.resetDbData()
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询最小值
|
||||||
|
*/
|
||||||
|
async min() {
|
||||||
|
if (!this.tableName) { this.errorException.HttpException("请传表名") }
|
||||||
|
const res = await this.mysql.models[this.tableName].min(
|
||||||
|
this.tableData,
|
||||||
|
{
|
||||||
|
where : this.tableWhere,
|
||||||
|
order : this.tableOrder || [['updatedAt', 'DESC']], // 时间排序
|
||||||
|
group : this.tableGroup,
|
||||||
|
attributes : this.tableAttributes,
|
||||||
|
transaction: this.t
|
||||||
|
}
|
||||||
|
)
|
||||||
|
this.resetDbData()
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新数据
|
* 更新数据
|
||||||
* @param {object} data 数据.
|
* @param {object} data 数据.
|
||||||
@@ -859,6 +952,10 @@ module.exports = class Bamboo extends Koa {
|
|||||||
setTransaction : this.setTransaction,
|
setTransaction : this.setTransaction,
|
||||||
commitTransaction: this.commitTransaction,
|
commitTransaction: this.commitTransaction,
|
||||||
save : this.save,
|
save : this.save,
|
||||||
|
count : this.count,
|
||||||
|
sum : this.sum,
|
||||||
|
max : this.max,
|
||||||
|
min : this.min,
|
||||||
find : this.find,
|
find : this.find,
|
||||||
findAll : this.findAll,
|
findAll : this.findAll,
|
||||||
findOrCreate : this.findOrCreate,
|
findOrCreate : this.findOrCreate,
|
||||||
@@ -868,6 +965,7 @@ module.exports = class Bamboo extends Koa {
|
|||||||
// S: this.sqlite.models,
|
// S: this.sqlite.models,
|
||||||
// M: this.mysql.models,
|
// M: this.mysql.models,
|
||||||
C: this.config,
|
C: this.config,
|
||||||
|
U: this.utils,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,7 @@
|
|||||||
"@babel/polyfill": "^7.4.4",
|
"@babel/polyfill": "^7.4.4",
|
||||||
"@babel/preset-env": "^7.16.8",
|
"@babel/preset-env": "^7.16.8",
|
||||||
"@babel/runtime": "^7.5.5",
|
"@babel/runtime": "^7.5.5",
|
||||||
|
"ajv": "^8.11.0",
|
||||||
"babel-loader": "^8.2.3",
|
"babel-loader": "^8.2.3",
|
||||||
"clean-webpack-plugin": "^4.0.0",
|
"clean-webpack-plugin": "^4.0.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
@@ -52,6 +53,7 @@
|
|||||||
"log4js": "^6.4.4",
|
"log4js": "^6.4.4",
|
||||||
"mysql2": "^2.3.3",
|
"mysql2": "^2.3.3",
|
||||||
"node-schedule": "^2.1.0",
|
"node-schedule": "^2.1.0",
|
||||||
|
"parameter": "^3.6.0",
|
||||||
"pm2": "^5.1.2",
|
"pm2": "^5.1.2",
|
||||||
"require-all": "^3.0.0",
|
"require-all": "^3.0.0",
|
||||||
"require-directory": "^2.1.1",
|
"require-directory": "^2.1.1",
|
||||||
|
|||||||
Reference in New Issue
Block a user