# 驱动中的全局变量 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' } ```