3.0.25 • Published 11 months ago

kc v3.0.25

Weekly downloads
6
License
MIT
Repository
github
Last release
11 months ago

KC web系统快速构建工具

web项目骨架, 集成ktool,vlog工具库,集成express,集成dot模板引擎, 集成对redis、mongodb、mysql的直接使用

v3版本说明: 为更方便使用, 引入vue2(vue2.6,暂不使用v3版本)和element-ui组合形成基础的单页前端以实现一个基础的管理后台, 使之开箱可用.原dot模板生成页面的逻辑转为可选. 可能缺失了原来的灵活性(绑定了vue和element-ui), 但使用上更为便捷, 也可以在初始化时控制参数去掉引入前端组件(只使用核心lib部分). vue的部分加入了自定义的插件, 以实现类jquery和ajax相关的功能, 非管理后台的web项目也可以使用. 受限于vue2.6和element-ui, npm安装时会产生一些vulnerabilities, 暂时只能忽略.

前端vue开发: 1. 进入vue目录, npm i 安装所需要的库, 在此目录下执行npm run serve进行调试(可先启动主进程至15001端口作为后端服务), 访问http://localhost:8080/即可; 2. 使用npm run build编译到web/public中; 3. 默认会自动生成web/api/product.js(完整示例), cp, proj_p典型的curd表管理样例, 可根据情况修改或使用;

UPDATE:

  • v3.0.2 加入vue和element-ui结合的前端实现

特性:

  • 与jenkins,pm2配合,集成开发,生产等各种环境的加密配置发布, 可集成自动化部署新版,快速回退到任何版本
  • 快速json api生成(/web/api直接写api,注:_开头的文件会忽略)
  • 快速jst模板页面生成(/web/tpls直接写jst,注:p或pa开头的文件自动生成页面,其中pa_为验证session页面)
  • 集成各类数据库驱动(redis,mongodb,mysql,influx等),超简易的使用(运用proxy封装)
  • 自带登录与验证体系,并可定制,支持fail2ban配置
  • 自带内存或redis缓存功能(iCache, showFilter)
  • 自主实现的session,支持存放于redis,支持强安全配置
  • 日志可自定义输出(基于vlog,如输出到redis等),便于es分析
  • 自定义错误码,每个项目自动生成相关key等

关于数据库使用:

先在config中配置好连接参数.

redis

const kc = require('kc');
const redis = kc.redis.init(); //自动处理配置载入,异步初始化转为同步
redis.set('key1','val1', (err) => console.log('done')); //支持redis驱动的所有方法
redis.get('key1', (err, val) => console.log('key1:', err, val));

//自定义的带超时的set方法
redis.setWithTime('bbbb', 'hhhhh', 20, (e, j) => console.log('setWithTime:', e, j));

//通过ktool.promi转为await使用
const val = await ktool.promi(kc.redis.get)('key1'); //要求最新版ktool

//多个redis连接同时使用见lib/redis.test.js

mongodb

const kc = require('kc');
const mongo = kc.mongo.init(); //自动处理配置载入,异步初始化转为同步

//c后面跟collection名,再后面跟mongo原生驱动(非moogose)的方法,此方法是保证初始化完成的关键
mongo.c('user').insertOne({ 'phone': '12345678901' },  (e, re) => {console.log('re:%j', re.result); });

//pc后面跟collection名则返回promise,pQuery为自定义的query方法,直接使用find返回array(原生驱动返回cursor,需要再toArray,注意query默认只返回20条记录)
const reArr = await mongo.pc('user').pQuery({'phone':'12345678901'});

//自定义aggr方法,因为3.x版本的aggregate不再返回array,这里用自定义的aggr还原为返回array
const pipeline = [
  { '$match': { 'phone': '12345678901' } },
  { '$group': { '_id': '$phone', 'count': { '$sum': 1 } } }
];
const re = await mongo.pc('user').pAggr(pipeline);
console.log('pAggr', re);

//因为mongo驱动的方法均返回promise,也同时支持callback,所以mongo.pc('user').后可以跟所有的原生驱动方法

//自定方法包括query/aggr/logToDb,对应promise为pQuery/pAggr/pLogToDb

//多mongo连接同时支持见lib/mongo.test.js

mysql

const kc = require('kc');
const mysql = kc.mysql.init(); //自动处理配置载入,异步初始化转为同步

//c()方法参数为c(clusterNode, clusterSelector, configName),这也是保证初始化完成的关键,不可省略。
//conn.release();已经封装在内,无需再次调用
mysql.c().query('insert into tt1 set phone = "11111111111",name="aabb"');

mysql.c().query('select * from tt1 limit 3', (e, re) => {console.log('re:%j', re); });

//mysql.pc()方法支持await,暂未测试

使用方法

  1. 安装nodejs;
  2. 安装kc库;

    npm install kc -g
  3. kc init指令:生成项目结构;

    kc init [projectName] [port]
    npm i
  4. config/default.json修改本地配置(配置可参考config/test.json),正式参数可放入product.json(命名随意);

  5. kc config指令:生成远端加密配置文件

    kc config product.json

    product.json放置在config目录下,为标准JSON格式,生成的配置文件密文为config/项目名.js,通过jenkins发布到指定服务端,git上不保存product.json等非default.json文件

  6. 前端vue开发, 进入vue目录, npm i 安装所需要的库, 在此目录下执行npm run serve进行调试(可先启动主进程至15001端口,将作为后端服务), 使用npm run build编译到web/public中.

  7. process.json配置进程

  8. 启动项目,如使用deploy的方式启动,需要pm2新版本

    pm2 startOrRestart process.json
  9. kc api指令:增加接口 && api目录说明

    kc api apiName

    可自动生成新api的框架代码在web/api/apiName.js中

  10. 增加页面 && tpls目录(暂缺说明)

api说明(见IAPI.md)


3.0.24

1 year ago

3.0.25

11 months ago

3.0.23

1 year ago

3.0.22

1 year ago

3.0.21

2 years ago

3.0.20

2 years ago

3.0.17

3 years ago

3.0.14

3 years ago

3.0.15

3 years ago

3.0.18

3 years ago

3.0.19

2 years ago

3.0.13

3 years ago

3.0.12

3 years ago

3.0.10

3 years ago

3.0.11

3 years ago

3.0.8

3 years ago

2.0.99

3 years ago

3.0.9

3 years ago

3.0.7

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

2.0.97

4 years ago

2.0.98

4 years ago

2.0.95

4 years ago

2.0.94

4 years ago

2.0.93

4 years ago

2.0.92

4 years ago

2.0.91

4 years ago

2.0.90

4 years ago

2.0.89

4 years ago

2.0.88

4 years ago

2.0.87

4 years ago

2.0.86

4 years ago

2.0.85

4 years ago

2.0.84

4 years ago

2.0.83

5 years ago

2.0.82

5 years ago

2.0.81

5 years ago

2.0.80

5 years ago

2.0.79

5 years ago

2.0.78

5 years ago

2.0.77

5 years ago

2.0.76

5 years ago

2.0.75

5 years ago

2.0.74

5 years ago

2.0.73

5 years ago

2.0.72

6 years ago

2.0.71

6 years ago

2.0.70

6 years ago

2.0.69

6 years ago

2.0.68

6 years ago

2.0.67

6 years ago

2.0.66

6 years ago

2.0.65

6 years ago

2.0.64

6 years ago

2.0.63

6 years ago

2.0.62

6 years ago

2.0.61

6 years ago

2.0.60

7 years ago

2.0.59

7 years ago

2.0.58

7 years ago

2.0.57

7 years ago

2.0.56

7 years ago

2.0.55

7 years ago

2.0.54

7 years ago

2.0.53

7 years ago

2.0.52

7 years ago

2.0.51

7 years ago

2.0.50

7 years ago

2.0.49

7 years ago

2.0.48

7 years ago

2.0.47

7 years ago

2.0.46

7 years ago

2.0.45

7 years ago

2.0.44

7 years ago

2.0.43

7 years ago

2.0.42

7 years ago

2.0.40

8 years ago

2.0.39

8 years ago

2.0.38

8 years ago

2.0.37

8 years ago

2.0.36

8 years ago

2.0.35

8 years ago

2.0.34

8 years ago

2.0.33

8 years ago

2.0.32

8 years ago

2.0.31

8 years ago

2.0.30

8 years ago

2.0.29

8 years ago

2.0.28

8 years ago

2.0.27

8 years ago

2.0.26

8 years ago

2.0.25

8 years ago

2.0.24

8 years ago

2.0.23

8 years ago

2.0.22

8 years ago

2.0.21

8 years ago

2.0.20

8 years ago

2.0.19

8 years ago

2.0.18

8 years ago

2.0.17

8 years ago

2.0.16

8 years ago

2.0.15

8 years ago

2.0.14

8 years ago

2.0.13

8 years ago

2.0.12

8 years ago

2.0.11

8 years ago

2.0.10

8 years ago

2.0.9

8 years ago

2.0.8

8 years ago

2.0.7

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

1.0.58

8 years ago

1.0.57

8 years ago

1.0.56

8 years ago

1.0.55

8 years ago

1.0.54

8 years ago

1.0.53

8 years ago

1.0.52

8 years ago

1.0.51

8 years ago

1.0.50

8 years ago

1.0.49

8 years ago

1.0.48

8 years ago

1.0.47

8 years ago

1.0.46

8 years ago

1.0.45

8 years ago

1.0.44

8 years ago

1.0.43

8 years ago

1.0.42

8 years ago

1.0.41

8 years ago

1.0.40

8 years ago

1.0.39

9 years ago

1.0.38

9 years ago

1.0.37

9 years ago

1.0.36

9 years ago

1.0.35

9 years ago

1.0.34

9 years ago

1.0.33

9 years ago

1.0.32

9 years ago

1.0.31

9 years ago

1.0.30

9 years ago

1.0.29

9 years ago

1.0.28

9 years ago

1.0.27

9 years ago

1.0.26

9 years ago

1.0.24

9 years ago

1.0.23

9 years ago

1.0.22

9 years ago

1.0.21

9 years ago

1.0.20

9 years ago

1.0.19

9 years ago

1.0.18

9 years ago

1.0.17

9 years ago

1.0.16

9 years ago

1.0.15

9 years ago

1.0.12

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

9 years ago

1.0.6

9 years ago

0.1.0

10 years ago