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 25 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 87


# 驱动中的全局变量

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   //  用户完整名  例:管理员
    USER_ID   // 用户id  例: 1
    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'
    }
```