script_javascript_driver.md 1.95 KB
Newer Older
Scott Sun's avatar
Scott Sun committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24


# 驱动中的全局变量

1. 各种包
```js
    var _ = require('lodash');
    var process = require('process');
    var fs = require('fs');
    var Err = require('topsin.error');
    var Gen = require('topcam.gencom');
    var options = require('minimist')(process.argv);
    var ARGV = options['_'];
    var crypto = require('topsin.crypto');
    var os = require('os');
    var IKM = require('topcam.ikm6');
    var GUI = require('topsin.gengui').newGui();
    var logger = require('topsin.logger');
```

2. 其他
```js
    USER_NAME   // 用户名  例:admin 
    USER_FULLNAME   //  用户完整名  例:管理员
Scott Sun's avatar
Scott Sun committed
25
    USER_ID   // 用户id  例:1
Scott Sun's avatar
Scott Sun committed
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
    JOB   // 料号名  例:demo
    JOB_ID // 料号id  例:1
    GEN_TYPE  // GEN类型  例:genesis
    CONF  // 配置 
    APP  // 框架中 APP的api
    GEN   // GEN 对象
    GUI   // GUI 对象
    IKM   // IKM 对象
```

## 驱动中的全局函数

```js
    addFlowNotes({notes:"msg"})    // 更新脚本状态信息
    updateFlowReport({job_id:1,process_id:22,mode:'befor||append',report:html字符串})   // 更新脚本状态信息
    doScript(脚本名称)    // 执行一段脚本 返回脚本里的返回值
```

## 例子

```js
    var $ = require('topcam.scriptfunc').argv();
    var ikm = $.ikm;
    var gen = $.gen;

    try {
        GUI.msg(USER_NAME).msg(USER_FULLNAME)
        .msg(USER_ID).msg(JOB_ID).msg(GEN_TYPE).msg(CONF)
        .msg(ikm.get_job_id("demo")).msg(gen.getMatrix({job:JOB}))
        return 'Done';
    } catch (error) {
        gui.msg(error)
        return 'error'
    }
```

* doScript函数
1. test.js
```js
    function test(a){
        GUI.msg(a)
    }
    return {
        test:test
    }
```
2. 
```js
    
    var $ = require('topcam.scriptfunc').argv();
    var ikm = $.ikm;
    var gen = $.gen;

    try {
        var _ = doScript("test")
        _.test("一段信息")
        return 'Done';
    } catch (error) {
        gui.msg(error)
        return 'error'
    }
Scott Sun's avatar
Scott Sun committed
87
```