在这个维基页面中,我们将解释如何使用我们的cmbSDK槽cordova插件作为自定义小部件在ITME项目
打开ITME Studio并创建新项目
设置项目分辨率
进入项目资源管理器的全局部分,打开项目标签->数据表视图,插入我们将使用的项目标签。我们将在本节的后面解释每个标记
所有标记都是本地的,对标记值的更改只影响更改所处的站点。
回到“图形”部分,右键单击“屏幕”类别,然后单击“插入”
设置屏幕属性,按“OK”。
设计您的标题屏幕并将其命名为标题。
在这里,我们有标题文本,标签将显示读取器设备电池电平和智能消息对象,显示当前阅读器设备连接状态。
在标题屏幕中,我们将添加我们的barcoderreader自定义小部件。
单击自定义窗口小部件图标
单击导入并找到您的条形码阅读器。cwp文件。barcoderreader应该显示为可用的小部件。选择它并单击OK。
标题屏幕中添加了barcoderreader自定义小部件
打开barcoderreader属性并进入小部件成员
使用Project标签的自定义窗口小部件的地图属性和设置操作SET + GET和设置要在回调事件中执行的脚本。
然后打开头屏幕脚本,并在头屏幕打开时调用setPreviewContainerPositionAndSizeEventTrigger和loadScanner方法。同时打开另一个屏幕(主屏幕)。
现在创建另一个屏幕并将其命名为main。
在此屏幕中,我们有矩形显示扫描结果,按钮开始/停止扫描和按钮以清除显示结果。
稍后右键单击“屏幕组”类别并创建“启动”屏幕组。
打开Project属性并将该组设置为Startup屏幕。
因为我们想部署这个应用程序作为HTML web界面和从移动设备交互,我们需要打开移动访问菜单至少一个,并在关闭时保存更改。此外,为了更好地与自定义小部件通信,将Process Values设置为最小值100。
当我们完成我们的屏幕和配置验证项目时。
和保存所有屏幕为网页访问的HTML
通过所有这些步骤,我们完成了ITME项目。
导航到您的ITME web应用程序物理路径。如果你使用本地IIS服务器,通常这个路径是C:\inetpub\wwwroot\ITME81,复制你下载的barcodeReaderServerFiles。
这些将托管在服务器上的cordova文件将帮助我们通过自定义小部件使用本地特性。稍后打开index.html并引用这些脚本:
当我们导航到服务器URL时,我们在查询字符串中添加了作为属性的平台。
在barcoderreader .js中,我们检查这个属性来知道要加载哪个cordova文件(iOS还是android)。
现在打开IIS管理器,右键单击ITME81应用程序,然后单击Add Virtual Directory:
将“CustomWidget”设置为别名,作为ITME项目的物理PAT集路径(C:\ Users \ Marko \ Documents \ InTouch Machine Edition V8.1项目\ CMBSDKSAMPLE)
请确保与对所选路径具有授权的用户进行连接。
在您的移动设备上运行Codgex包装器应用程序。在“服务器URL输入”框中插入服务器URL和查询字符串发送屏幕和GuestUser属性。单击“导航”按钮,您将被重定向到您的服务器URL(HTTTP://192.168.1.103/ITME81?屏幕= Header&GuestUser = 1在我们的情况下)。单击“导航”按钮应用程序,自动添加在查询字符串中的平台作为属性。
注意,您必须在从康耐克斯包装程序导航到服务器URL之前运行您的ITME项目。
使用这个属性,我们调用loadScanner(deviceType,sdk_key)方法,这是为了使用reader设备我们需要做的第一件事
有两个输入参数。如果我们使用MX Device执行扫描,第一个应该是0,如果我们使用Mobile Device执行扫描,第一个应该是1。第二个输入参数是sdk_key,它是可选的。我们需要设置我们的sdk许可密钥,只有当我们使用移动设备扫描条形码。否则我们将在条形码读取结果中使用星号。
此事件的结果在LoadScannerOutputdata属性中返回,LoadScanner事件称为回调函数
例子:
'For MX Device $ loadscanereventtrigger = "loadScanner(0)"'For Mobile Device $ loadscanereventtrigger = "loadScanner(1, SDK_KEY)"
使用这个属性,我们调用connect()方法来连接我们的阅读器设备,并且应该在我们加载阅读器设备之后调用。
此事件的结果在ConnectOutputdata属性中返回,并将Connect事件称为回调函数。
例子:
美元connectEventTrigger = " connect () "
通过这个属性,我们调用disconnect()方法来释放读取器设备上的连接
此事件的结果在disconnectOutputData属性中返回,并将disconnect事件作为回调函数调用。
例子:
美元disconnectEventTrigger = "断开()"
使用此属性,我们调用setPreviewContainerPositionAndsize(startpointx,startpointy,宽度,高度)方法,该方法具有4个输入参数。STARTPOINTX,STARTPOINTY,宽度和高度,它们以%为单位测量。
这应该在loadScanner方法之前调用,我们使用它来放置移动设备预览容器。
例子:
“预览容器,定位在0,0(左,上)100%右,30%底。美元setPreviewContainerPositionAndSizeEventTrigger = " setPreviewContainerPositionAndSize(30 0 0100)”
通过这个属性,我们调用togescanner()方法来启动/停止扫描过程。
例子:
$ togglescannereventtrigger =“togglescanner()”
启用/禁用符号符号,我们使用此属性触发SetyyMbologyEnabled(P1,P2,P3)方法。作为输入参数,我们设置了符号系统和状态。我们可以在一个呼叫中启用/禁用一个或多个符号。
符号列表:UNKNOWN, DATAMATRIX, QR, C128, UPC-EAN, C11, C39, C93, I2O5, CODABAR, EAN-UCC, PHARMACODE, MAXICODE, PDF417, MICROPDF417, DATABAR, POSTNET, PLANET, 4state -日本,4STATE-AUS, 4STATE-UPU, 4STATE-IMB, VERICODE, RPC, MSI, AZTECCODE, DOTCODE, C25, C39- convert - to - c32, OCR, 4STATE-RMC。
此事件的结果在setsymologyenabledoutputdata属性中返回,setsymologyenabled事件作为回调函数调用。
例子:
$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(DataMatrix ON, C128 OFF)"
通过触发setLightsOn(p1)方法,当我们开始扫描这个属性时,我们可以将light设置为默认启用/禁用。作为输入参数,如果我们想要启用光,我们设置ON,如果我们想要禁用光,我们设置OFF。
这个事件的结果在setLightsOnOutputData属性中返回,setLightsOn事件作为回调函数调用。
例子:
美元setLightsOnEventTrigger = " setLightsOn(上)
为了检查灯光是否在默认情况下被启用,我们触发isLightsOn()方法
这个事件的结果在isLightsOnOutputData属性中返回,isLightsOn事件作为回调函数调用。
例子:
美元isLightsOnEventTrigger = " isLightsOn ()
使用这个属性,我们调用sendCommand(p1, p2, p3…)方法来执行设置为输入参数的DMC命令。我们可以设置一个或多个dmc命令作为输入参数。
这个事件的结果在sendCommandOutputData属性中返回,sendCommand事件作为回调函数调用
例子:
$sendCommandEventTrigger = " sendCommand (GET BATTERY.CHARGE) "
表示当前阅读器连接状态的整数属性。有四个州:
0 - CONNECTION_STATE_DISCONNECTED
1 - CONNECTION_STATE_CONNECTING
2 - CONNECTION_STATE_CONNECTED
3 - CONNECTION_STATE_DISCONNECTING
包含最后一次扫描结果的字符串属性
Boolean属性,当读取器设备可用时为true,如果读取器设备不可用则为false。
Boolean属性将在扫描停止时扫描处于活动状态时为真,或者在停止扫描时为false。
当loadScanner方法被执行时,如果阅读器设备无法加载,它会返回成功消息或错误消息。
当connect方法被执行时,如果连接成功则返回true,如果连接无法完成则返回错误消息
当disconnect方法被执行时,如果在执行此方法时出现问题,它将返回成功消息或错误消息
在这个属性中,我们从issymologyenabled方法返回结果。如果启用了某些符号,则Result为ON,如果禁用了则为OFF,如果执行此方法时抛出了一些错误,则返回错误消息。由于isSymbologyEnabled方法可以有多个参数,我们将返回符号状态用“,”分隔。例如,如果我们调用$isSymbologyEnabledEventTrigger = "isSymbologyEnabled(DataMatrix, C128)"结果将是" ON,ON ",如果两个符号都是启用的。
注意,默认情况下,如果我们使用移动设备,没有启用符号。
从isLightsOn方法的结果,可以是ON如果灯是启用的,OFF如果是禁用的,或错误消息,如果发生了错误,而此命令被执行
表示sendCommand()方法的结果的字符串属性。如果有多个DMC命令作为输入参数,每个命令的结果将用“,”分隔。
例如,如果我们调用$ sendcommandeventtrigger =“sendcommand(get battery.charge,getlight.internal-enable)”结果将是“50,关闭”
从setLightsOn方法的结果,可以是ON,如果灯是启用的,如果是关闭,或错误消息,如果发生了错误,而此命令被执行
在这个属性中,我们从setsymologyenabled方法返回结果。如果启用了某些符号,则Result为ON,如果禁用了则为OFF,如果执行此方法时抛出了一些错误,则返回错误消息。因为setSymbologyEnabled方法可以有多个参数,我们将返回符号状态用“,”分隔。例如,如果我们调用$setSymbologyEnabledEventTrigger = "setSymbologyEnabled(DataMatrix, C128)"结果将是" ON,ON ",如果两个符号都是启用的。
当SendCommand方法触发并完成时,将执行此回调事件:$ sendcommandeventtrigger =“sendcommand(p1,p2,p3 ...)”
当isLightsOn方法被触发并完成时,这个回调事件将被执行:
当setLightsOn方法被触发并完成时,这个回调事件将被执行:
当isSymbologyEnabled方法被触发并完成时,这个回调事件将被执行:
当触发SetayyBbolyEnabled方法并完成:$ SetsymbologyEnableTTrigger =“SetyymbologyEnabled(P1,P2,P3,......)时,将执行此回调事件。
将在断开方法触发和完成时执行此回调事件:$ disconnecteventtrigger =“disconnect()”
当connect方法被触发并完成时,这个回调事件将被执行:
当loadScanner方法被触发并完成时,这个回调事件将被执行:
'这个回调事件将在togescanner方法被触发并完成时执行:
更改MX设备的可用性时,将执行此回调事件。
当扫描条形码时,将执行此回调事件
当读取器设备的连接状态发生改变时,将执行此回调事件