3.0.23 • Published 1 month ago

kc v3.0.23

Weekly downloads
6
License
MIT
Repository
github
Last release
1 month 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.23

1 month ago

3.0.22

1 month ago

3.0.21

10 months ago

3.0.20

11 months ago

3.0.17

2 years ago

3.0.14

2 years ago

3.0.15

2 years ago

3.0.18

1 year ago

3.0.19

1 year ago

3.0.13

2 years ago

3.0.12

2 years ago

3.0.10

2 years ago

3.0.11

2 years ago

3.0.8

2 years ago

2.0.99

2 years ago

3.0.9

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

2.0.97

2 years ago

2.0.98

2 years ago

2.0.95

3 years ago

2.0.94

3 years ago

2.0.93

3 years ago

2.0.92

3 years ago

2.0.91

3 years ago

2.0.90

3 years ago

2.0.89

3 years ago

2.0.88

3 years ago

2.0.87

3 years ago

2.0.86

3 years ago

2.0.85

3 years ago

2.0.84

3 years ago

2.0.83

4 years ago

2.0.82

4 years ago

2.0.81

4 years ago

2.0.80

4 years ago

2.0.79

4 years ago

2.0.78

4 years ago

2.0.77

4 years ago

2.0.76

4 years ago

2.0.75

4 years ago

2.0.74

4 years ago

2.0.73

4 years ago

2.0.72

4 years ago

2.0.71

4 years ago

2.0.70

4 years ago

2.0.69

4 years ago

2.0.68

4 years ago

2.0.67

5 years ago

2.0.66

5 years ago

2.0.65

5 years ago

2.0.64

5 years ago

2.0.63

5 years ago

2.0.62

5 years ago

2.0.61

5 years ago

2.0.60

5 years ago

2.0.59

5 years ago

2.0.58

5 years ago

2.0.57

5 years ago

2.0.56

5 years ago

2.0.55

5 years ago

2.0.54

6 years ago

2.0.53

6 years ago

2.0.52

6 years ago

2.0.51

6 years ago

2.0.50

6 years ago

2.0.49

6 years ago

2.0.48

6 years ago

2.0.47

6 years ago

2.0.46

6 years ago

2.0.45

6 years ago

2.0.44

6 years ago

2.0.43

6 years ago

2.0.42

6 years ago

2.0.40

6 years ago

2.0.39

7 years ago

2.0.38

7 years ago

2.0.37

7 years ago

2.0.36

7 years ago

2.0.35

7 years ago

2.0.34

7 years ago

2.0.33

7 years ago

2.0.32

7 years ago

2.0.31

7 years ago

2.0.30

7 years ago

2.0.29

7 years ago

2.0.28

7 years ago

2.0.27

7 years ago

2.0.26

7 years ago

2.0.25

7 years ago

2.0.24

7 years ago

2.0.23

7 years ago

2.0.22

7 years ago

2.0.21

7 years ago

2.0.20

7 years ago

2.0.19

7 years ago

2.0.18

7 years ago

2.0.17

7 years ago

2.0.16

7 years ago

2.0.15

7 years ago

2.0.14

7 years ago

2.0.13

7 years ago

2.0.12

7 years ago

2.0.11

7 years ago

2.0.10

7 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

1.0.58

7 years ago

1.0.57

7 years ago

1.0.56

7 years ago

1.0.55

7 years ago

1.0.54

7 years ago

1.0.53

7 years ago

1.0.52

7 years ago

1.0.51

7 years ago

1.0.50

7 years ago

1.0.49

7 years ago

1.0.48

7 years ago

1.0.47

7 years ago

1.0.46

7 years ago

1.0.45

7 years ago

1.0.44

7 years ago

1.0.43

7 years ago

1.0.42

7 years ago

1.0.41

7 years ago

1.0.40

7 years ago

1.0.39

7 years ago

1.0.38

7 years ago

1.0.37

7 years ago

1.0.36

8 years ago

1.0.35

8 years ago

1.0.34

8 years ago

1.0.33

8 years ago

1.0.32

8 years ago

1.0.31

8 years ago

1.0.30

8 years ago

1.0.29

8 years ago

1.0.28

8 years ago

1.0.27

8 years ago

1.0.26

8 years ago

1.0.24

8 years ago

1.0.23

8 years ago

1.0.22

8 years ago

1.0.21

8 years ago

1.0.20

8 years ago

1.0.19

8 years ago

1.0.18

8 years ago

1.0.17

8 years ago

1.0.16

8 years ago

1.0.15

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

0.1.0

8 years ago