0.9.3 • Published 4 years ago

zeanium-node v0.9.3

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

zeanium-node

NPM version Downloads

English Document

介绍

zeanium-node是基于zeanium, 是专门为nodejs开发的后端框架,提供了基础的cacheclidatabaseionetparsersessiontemplate. 基本的OOP使用语法请访问https://github.com/yangyxu/zeanium.

官方QQ群: 627104335

有任务问题可以添加qq群进行咨询

相关产品

基础模块列表

  • cache:有数据库缓存内存缓存redis缓存等三种cache的实现.
  • cli: 提供一系列基于zn命令行工具如zn run.
  • db: 提供不同数据库标准访问接口, 本框架已经提供基于mysql的实现方案, 也实现sql语句拼接及生成、mysql基于事件队列的事务机制、常见基础model实现及API操作.
  • net: 网络模块提供http、socket、web socket三种网络服务的实现接口,zeanium-node http模块是基于MVC框架.
  • session: 提供后台session管理机制, 有内存模式, 数据库模式.
  • template: 提供静态化模板引擎.
$ npm install zeanium-node -g

Node.js 版本 >= 6.0.0.

功能

  • 基础的http服务
  • 自定义插件机制
  • 框架最突出的亮点:动态开发、动态部署

    对于开发者来说这是非常重要的功能,常规的node.js开发需要借助于第三方库如forever, pm2等来守护node进程。使用我们的框架可以在不借助任何库的前提下可以动态开发和部署。如果你的工程代码发生改变,框架自身回去判断是否需要重新编译最新版本, 而且编译速度极快能看到整个编译过程.

  • 提供事件队列和promise来解决JavaScript异步
  • 支持promise
  • 支持中间件
  • 支持SQL事务来处理服务业务逻辑
  • 支持Model, Controller继承.
  • 自定义model(M)&view(V)&controller(C)
  • 自定义http服务处理路由
  • 提供静态化模板引擎
  • 实现MySql数据库驱动接口

文档和社区

  • 官方网站/文档(正在完善中...)
  • 插件: 我们提供系统开发常见的插件zn-plugin-adminzn-plugin-dbmszn-plugin-wechatzn-plugin-alipayzn-plugin-workflow
  • 官方QQ交流群: 627104335

开始学习

zeanium-node是基于zeanium框架底层实现的后端框架, 提供面向对象编程的继承、封装、多态特性,同理zeanium-node也具备这些特性。想了解更多的面向对象功能请参考zeanium

db模块定义常规的数据模型和数据访问层接口

  • 模型:Model、Collection、Store Model: 提供系统表结构数据模型的基类, 会对系统提交表单进行字段验证以及sql语句处理 Collection: 处理数据模型是某个具体的Model的几个对象 Store: 数据库对外统一接口
//定义数据库模型
zn.define(function () {

    //公共数据模型
    var model = zn.db.common.model;
    //zn.Model是定义数据库模型函数, 返回数据模型.
    return zn.Model("zn_rights_user", {
        mixins: [
            model.Base //继承基础数据模型对象
        ],
        //定义模型属性
        properties: {
            name: {
                value: null,            //字段值
                type: ['varchar', 100], //字段数据类型
                default: ''             //创建表字段默认值
            },
            pwd: {
                value: null,
                type: ['varchar', 100],
                default: ''
            },
            email: {
                value: null,
                type: ['varchar', 50],
                default: ''
            },
            phone: {
                value: null,
                type: ['varchar', 20],
                default: ''
            },
            address: {
                value: null,
                type: ['varchar', 250],
                default: ''
            },
            avatarImg: {
                value: null,
                type: ['varchar', 100],
                default: ''
            },
            lastLoginTime: {
                value: null,
                type: ['datetime'],
                format: "date_format({},'%Y-%c-%d %h:%i:%s')",
                default: null
            }
        }
    });
})
//定义控制器
zn.define(function () {

    return zn.Controller('user',{
        methods: {
            init: function (args){
                //构造函数
            },
            //定义login的接口
            login: {
                method: 'GET/POST',     //接口可接受的方法
                argv: {                 //接口参数,如值是null则是必填参数
                    username: null,
                    password: null
                },
                value: function (request, response, chain){
                    this.collection('zn_rights_user')
                        .selectOne(request.getValue())
                        .then(function (user){
                            if(user){
                                request.session.user = user;
                                response.success(user);
                            } else {
                                response.error('Username or password is incorrect.');
                            }
                        }, function (error){
                            response.error(error.message);
                        });
                }
            },
            selectUsers: {
                method: 'GET/POST',     //接口可接受的方法
                argv: {                 //接口参数,如值是null则是必填参数
                    where: {}
                },
                value: function (request, response, chain){
                    this.collection('zn_rights_user')
                        .select({
                            fields: ['id','name'],
                            where: request.getValue('where')
                        })
                        .then(function (data){
                            response.success(data)
                        }, function (error){
                            response.error(error.message);
                        });
                }
            }
        }
    });
});

试一下

npm install zeanium-node -g
git clone https://github.com/yangyxu/zn-app-demo.git
cd zn-app-demo
npm install
zn run

The terminal will show the message for http server.

安装项目依赖

npm install

启动应用

系统启动默认配置是当前目录下的zn.server.config.js, 所以如果服务启动文件是这个文件名就可以直接运行zn run来启动服务。 也可以自定义启动配置文件,则需要运行zn run config:your.config.js

zn run || zn run config:xxx.config.js

如果您启动服务有一下内容输出到控制台则说明启动:

2016-08-17 21:12:44.043 [INFO] [ Begin ] Scanning Path:../www/
2016-08-17 21:12:44.051 [INFO] Loading Application: ../www/__zn__
2016-08-17 21:12:44.059 [INFO] Register Project(Application): __zn__
2016-08-17 21:12:44.060 [INFO] [ End ] Scanning Path(Application:1):../www/
2016-08-17 21:12:44.060 [INFO] [ Begin ] Scanning Path:../bin/
2016-08-17 21:12:44.063 [INFO] [ End ] Scanning Path(Application:0):../bin/
2016-08-17 21:12:44.066 [INFO] http://0.0.0.0:8080
2016-08-17 21:12:44.068 [INFO] http://127.0.0.1:8080
2016-08-17 21:12:44.069 [INFO] You can press [ control + c ] to stop current zeanium server.

文档

http://www.zeanium.com

The MIT License (MIT)

MIT

0.9.3

4 years ago

0.9.2

4 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.5

5 years ago

0.8.4

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.48

6 years ago

0.6.47

6 years ago

0.6.46

6 years ago

0.6.45

6 years ago

0.6.44

6 years ago

0.6.43

6 years ago

0.6.42

6 years ago

0.6.41

6 years ago

0.6.40

6 years ago

0.6.39

7 years ago

0.6.38

7 years ago

0.6.37

7 years ago

0.6.36

7 years ago

0.6.35

7 years ago

0.6.34

7 years ago

0.6.33

7 years ago

0.6.32

7 years ago

0.6.31

7 years ago

0.6.29

7 years ago

0.6.28

7 years ago

0.6.27

7 years ago

0.6.26

7 years ago

0.6.25

7 years ago

0.6.24

7 years ago

0.6.23

7 years ago

0.6.22

7 years ago

0.6.21

7 years ago

0.6.20

7 years ago

0.6.19

7 years ago

0.6.18

7 years ago

0.6.17

7 years ago

0.6.16

7 years ago

0.6.15

7 years ago

0.6.14

7 years ago

0.6.13

7 years ago

0.6.12

7 years ago

0.6.11

7 years ago

0.6.10

7 years ago

0.6.9

7 years ago

0.6.8

7 years ago

0.6.7

7 years ago

0.6.6

7 years ago

0.6.5

7 years ago

0.6.4

7 years ago

0.6.3

7 years ago

0.6.2

7 years ago

0.6.1

7 years ago

0.6.0

7 years ago

0.5.9

7 years ago

0.5.8

7 years ago

0.5.7

7 years ago

0.5.6

7 years ago

0.5.5

7 years ago

0.5.4

7 years ago

0.5.3

7 years ago

0.5.2

7 years ago

0.5.1

7 years ago

0.5.0

7 years ago

0.4.29

7 years ago

0.4.28

7 years ago

0.4.27

7 years ago

0.4.26

7 years ago

0.4.25

7 years ago

0.4.24

7 years ago

0.4.23

7 years ago

0.4.22

7 years ago

0.4.21

7 years ago

0.4.20

7 years ago

0.4.19

7 years ago

0.4.18

7 years ago

0.4.17

7 years ago

0.4.16

7 years ago

0.4.15

7 years ago

0.4.14

7 years ago

0.4.13

7 years ago

0.4.12

7 years ago

0.4.11

7 years ago

0.4.10

7 years ago

0.4.9

7 years ago

0.4.8

7 years ago

0.4.7

7 years ago

0.4.6

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.4

7 years ago

0.3.3

7 years ago

0.3.2

7 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.9

8 years ago

0.2.8

8 years ago

0.2.7

8 years ago

0.2.6

8 years ago

0.2.5

8 years ago

0.2.4

8 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.1.16

8 years ago

0.1.15

8 years ago

0.1.14

8 years ago

0.1.13

8 years ago

0.1.12

8 years ago

0.1.11

8 years ago

0.1.10

8 years ago

0.1.9

8 years ago

0.1.8

8 years ago

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago