自定义模块

1. 概述

Enhancer 支持将常用后端代码块以模块的形式封装,提高系统的复用性和可维护性。定义好的模块可以在任何后台运行的代码中使用,包括自定义接口, 事件响应后台过程(JS 过程或者 SQL 前后脚本), 其他自定义模块, 系统启动函数, 登录前中后校验

2. 定义模块

工作台->自定义模块 开发面板中添加一个自定义模块,命名为 my-custom-module:

var message = 'Hello world!';

// Node JS 通用模块规范,使用 module.exports 才能将代码导出暴露给外部使用。
module.exports = {  
    add: function(x, y) {
        return x + y;
    },
    sub: function(x, y) {
        return x - y;
    },
    query: function(Enhancer, id, callback) {
        var dbService = Enhancer.getDatabaseService();
        var sql = `SELECT * FROM employee WHERE id = ?`;
        dbService.execute(sql, [id], function(err, result) {
            if (err) {
                callback(err);
                return;
            }
            callback(null, result);
        });
    }
};

定义完毕之后,其他地方使用该模块只需书写 var mod = require('@custom/模块名') 即可。

注意:自定义模块内不支持直接使用 Enhancer 全局对象和 @变量@,如果有使用,需要自己留出方法传递参数。

3. 使用模块

【例一】模块传参及调用


var mod = require('@custom/my-custom-module');

var x = @11-X@;
var y = @11-Y@;

var result = mod.add(x, y);

console.log('Result:', result);

【例二】数据库查询

var mod = require('@custom/my-custom-module');
var id = @11-ID@;
mod.query(Enhancer, id, function(err, result) {
    if (err) {
        console.log('发生错误,原因:');
        console.error(err);
        return;
    }
    console.log('查询结果:', result);

});

results matching ""

    No results matching ""