scanonweb 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +203 -0
- package/dist/index.d.ts +266 -0
- package/dist/scanonweb.cjs.js +580 -0
- package/dist/scanonweb.esm.js +578 -0
- package/dist/scanonweb.umd.js +586 -0
- package/dist/scanonweb.umd.min.js +9 -0
- package/package.json +67 -0
- package/src/index.d.ts +266 -0
- package/src/index.js +557 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 BrainySoft
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# ScanOnWeb
|
|
2
|
+
|
|
3
|
+
ScanOnWeb 是一个用于与本地扫描服务程序通信的 JavaScript SDK。它通过 WebSocket 连接与本地扫描托盘程序进行通信,提供完整的扫描功能。
|
|
4
|
+
|
|
5
|
+
## 特性
|
|
6
|
+
|
|
7
|
+
- 🔌 WebSocket 通信,支持多端口自动连接
|
|
8
|
+
- 📄 支持多种扫描模式(彩色、黑白、灰度)
|
|
9
|
+
- 🖼️ 支持图像处理(旋转、编辑、删除)
|
|
10
|
+
- 📤 支持多种上传格式(PDF、TIFF、JPG)
|
|
11
|
+
- 🔧 支持双面扫描、自动进纸等高级功能
|
|
12
|
+
- 📱 支持多种模块格式(UMD、ESM、CJS)
|
|
13
|
+
- 🎯 TypeScript 支持
|
|
14
|
+
|
|
15
|
+
## 安装
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install scanonweb
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 使用方法
|
|
22
|
+
|
|
23
|
+
### ES6 模块
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
import ScanOnWeb from 'scanonweb';
|
|
27
|
+
|
|
28
|
+
const scanner = new ScanOnWeb();
|
|
29
|
+
|
|
30
|
+
// 设置事件回调
|
|
31
|
+
scanner.onGetDevicesListEvent = (msg) => {
|
|
32
|
+
console.log('扫描设备列表:', msg);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
scanner.onScanFinishedEvent = (msg) => {
|
|
36
|
+
console.log('扫描完成:', msg);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// 开始扫描
|
|
40
|
+
scanner.startScan();
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### CommonJS
|
|
44
|
+
|
|
45
|
+
```javascript
|
|
46
|
+
const ScanOnWeb = require('scanonweb');
|
|
47
|
+
|
|
48
|
+
const scanner = new ScanOnWeb();
|
|
49
|
+
// ... 使用方法同上
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 浏览器 UMD
|
|
53
|
+
|
|
54
|
+
```html
|
|
55
|
+
<script src="node_modules/scanonweb/dist/scanonweb.umd.min.js"></script>
|
|
56
|
+
<script>
|
|
57
|
+
const scanner = new ScanOnWeb();
|
|
58
|
+
|
|
59
|
+
scanner.onScanFinishedEvent = function(msg) {
|
|
60
|
+
console.log('扫描完成:', msg);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
scanner.startScan();
|
|
64
|
+
</script>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Vue 3 使用示例
|
|
68
|
+
|
|
69
|
+
```vue
|
|
70
|
+
<template>
|
|
71
|
+
<div>
|
|
72
|
+
<button @click="startScan">开始扫描</button>
|
|
73
|
+
<button @click="getDevices">获取设备列表</button>
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
|
|
77
|
+
<script setup>
|
|
78
|
+
import { onMounted, ref } from 'vue';
|
|
79
|
+
import ScanOnWeb from 'scanonweb';
|
|
80
|
+
|
|
81
|
+
const scanner = ref(null);
|
|
82
|
+
|
|
83
|
+
onMounted(() => {
|
|
84
|
+
scanner.value = new ScanOnWeb();
|
|
85
|
+
|
|
86
|
+
// 设置回调函数
|
|
87
|
+
scanner.value.onGetDevicesListEvent = (msg) => {
|
|
88
|
+
console.log('设备列表:', msg);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
scanner.value.onScanFinishedEvent = (msg) => {
|
|
92
|
+
console.log('扫描完成:', msg);
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
const startScan = () => {
|
|
97
|
+
scanner.value?.startScan();
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
const getDevices = () => {
|
|
101
|
+
scanner.value?.loadDevices();
|
|
102
|
+
};
|
|
103
|
+
</script>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## API 文档
|
|
107
|
+
|
|
108
|
+
### 构造函数
|
|
109
|
+
|
|
110
|
+
```javascript
|
|
111
|
+
const scanner = new ScanOnWeb();
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 配置参数
|
|
115
|
+
|
|
116
|
+
扫描配置参数可以通过 `scanner.scaner_work_config` 访问和修改:
|
|
117
|
+
|
|
118
|
+
```javascript
|
|
119
|
+
scanner.scaner_work_config = {
|
|
120
|
+
showUI: false, // 是否显示扫描控件工作界面
|
|
121
|
+
dpi_x: 300, // DPI 分辨率 X
|
|
122
|
+
dpi_y: 300, // DPI 分辨率 Y
|
|
123
|
+
deviceIndex: 0, // 选中的扫描仪设备索引
|
|
124
|
+
showDialog: false, // 是否显示设备内置对话框
|
|
125
|
+
autoFeedEnable: true, // 是否使用自动进纸器
|
|
126
|
+
autoFeed: false, // 是否自动装填纸张
|
|
127
|
+
dupxMode: false, // 是否使用双面扫描模式
|
|
128
|
+
autoDeskew: false, // 是否使用自动纠偏模式
|
|
129
|
+
autoBorderDetection: false, // 是否使用自动边框检测
|
|
130
|
+
colorMode: 'RGB', // 色彩模式: 'RGB', 'BW', 'GRAY'
|
|
131
|
+
transMode: 'memory' // 数据传输模式: 'memory', 'file', 'native'
|
|
132
|
+
};
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 主要方法
|
|
136
|
+
|
|
137
|
+
#### 设备管理
|
|
138
|
+
- `loadDevices()` - 加载所有可用的扫描设备
|
|
139
|
+
- `selectScanDevice(deviceIndex)` - 选择扫描设备
|
|
140
|
+
|
|
141
|
+
#### 扫描操作
|
|
142
|
+
- `startScan()` - 开始扫描
|
|
143
|
+
- `clearAll()` - 清除全部扫描结果
|
|
144
|
+
|
|
145
|
+
#### 图像操作
|
|
146
|
+
- `getImageCount()` - 获取图像总数
|
|
147
|
+
- `getAllImage()` - 获取所有图像
|
|
148
|
+
- `getImageById(index)` - 获取指定索引的图像
|
|
149
|
+
- `rotateImage(index, angle)` - 旋转图像
|
|
150
|
+
- `deleteImageByIndex(index)` - 删除指定图像
|
|
151
|
+
|
|
152
|
+
#### 上传功能
|
|
153
|
+
- `uploadAllImageAsPdfToUrl(url, id, desc)` - 以PDF格式上传所有图像
|
|
154
|
+
- `uploadAllImageAsTiffToUrl(url, id, desc)` - 以TIFF格式上传所有图像
|
|
155
|
+
- `uploadJpgImageByIndex(url, id, desc, index)` - 以JPG格式上传指定图像
|
|
156
|
+
|
|
157
|
+
### 事件回调
|
|
158
|
+
|
|
159
|
+
设置事件回调函数来处理扫描过程中的各种事件:
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
// 获取设备列表回调
|
|
163
|
+
scanner.onGetDevicesListEvent = (msg) => {
|
|
164
|
+
console.log('设备列表:', msg);
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
// 扫描完成回调
|
|
168
|
+
scanner.onScanFinishedEvent = (msg) => {
|
|
169
|
+
console.log('扫描完成,图像数量:', msg.imageCount);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
// 选择设备回调
|
|
173
|
+
scanner.onSelectScanDeviceEvent = (msg) => {
|
|
174
|
+
console.log('设备选择完成:', msg);
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
// 获取图像回调
|
|
178
|
+
scanner.onGetImageByIdEvent = (msg) => {
|
|
179
|
+
console.log('获取图像:', msg);
|
|
180
|
+
};
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## 系统要求
|
|
184
|
+
|
|
185
|
+
- 需要安装对应的扫描托盘服务程序
|
|
186
|
+
- 支持的浏览器:Chrome、Firefox、Safari、Edge
|
|
187
|
+
- Node.js >= 14.0.0(用于服务端)
|
|
188
|
+
|
|
189
|
+
## 许可证
|
|
190
|
+
|
|
191
|
+
MIT License
|
|
192
|
+
|
|
193
|
+
## 技术支持
|
|
194
|
+
|
|
195
|
+
如需更多文档帮助请访问官网:https://www.brainysoft.cn
|
|
196
|
+
|
|
197
|
+
## 更新日志
|
|
198
|
+
|
|
199
|
+
### 1.0.1
|
|
200
|
+
- 初始版本发布
|
|
201
|
+
- 支持基本扫描功能
|
|
202
|
+
- 支持多种输出格式
|
|
203
|
+
- 添加 TypeScript 支持
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScanOnWeb - 扫描控件 JavaScript SDK
|
|
3
|
+
* TypeScript 定义文件
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 扫描配置参数接口
|
|
8
|
+
*/
|
|
9
|
+
export interface ScanConfig {
|
|
10
|
+
/** 是否显示扫描控件工作界面 */
|
|
11
|
+
showUI: boolean;
|
|
12
|
+
/** DPI 分辨率 X */
|
|
13
|
+
dpi_x: number;
|
|
14
|
+
/** DPI 分辨率 Y */
|
|
15
|
+
dpi_y: number;
|
|
16
|
+
/** 选中的扫描仪硬件设备id索引 */
|
|
17
|
+
deviceIndex: number;
|
|
18
|
+
/** 是否显示设备内置对话框 */
|
|
19
|
+
showDialog: boolean;
|
|
20
|
+
/** 是否使用自动进纸器 */
|
|
21
|
+
autoFeedEnable: boolean;
|
|
22
|
+
/** 是否自动装填纸张 */
|
|
23
|
+
autoFeed: boolean;
|
|
24
|
+
/** 是否使用双面扫描模式 */
|
|
25
|
+
dupxMode: boolean;
|
|
26
|
+
/** 是否使用自动纠偏模式 */
|
|
27
|
+
autoDeskew: boolean;
|
|
28
|
+
/** 是否使用自动边框检测 */
|
|
29
|
+
autoBorderDetection: boolean;
|
|
30
|
+
/** 色彩模式 */
|
|
31
|
+
colorMode: 'RGB' | 'BW' | 'GRAY';
|
|
32
|
+
/** 数据传输模式 */
|
|
33
|
+
transMode: 'memory' | 'file' | 'native';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* WebSocket 消息接口
|
|
38
|
+
*/
|
|
39
|
+
export interface WebSocketMessage {
|
|
40
|
+
/** 命令类型 */
|
|
41
|
+
cmd_type: string;
|
|
42
|
+
/** 图像数量 */
|
|
43
|
+
imageCount?: number;
|
|
44
|
+
/** 当前设备索引 */
|
|
45
|
+
currentIndex?: number;
|
|
46
|
+
/** 其他属性 */
|
|
47
|
+
[key: string]: any;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 扫描控件类
|
|
52
|
+
*/
|
|
53
|
+
export default class ScanOnWeb {
|
|
54
|
+
/** 扫描配置参数 */
|
|
55
|
+
scaner_work_config: ScanConfig;
|
|
56
|
+
|
|
57
|
+
/** WebSocket 连接对象 */
|
|
58
|
+
h5socket: WebSocket | null;
|
|
59
|
+
|
|
60
|
+
/** 扫描结果图像总数 */
|
|
61
|
+
imageCount: number;
|
|
62
|
+
|
|
63
|
+
// 事件回调函数(可选)
|
|
64
|
+
onGetDevicesListEvent?: (msg: WebSocketMessage) => void;
|
|
65
|
+
onScanFinishedEvent?: (msg: WebSocketMessage) => void;
|
|
66
|
+
onSelectScanDeviceEvent?: (msg: WebSocketMessage) => void;
|
|
67
|
+
onGetImageCountEvent?: (msg: WebSocketMessage) => void;
|
|
68
|
+
onGetAllImageEvent?: (msg: WebSocketMessage) => void;
|
|
69
|
+
onGetImageByIdEvent?: (msg: WebSocketMessage) => void;
|
|
70
|
+
onLoadImageFromUrlEvent?: (msg: WebSocketMessage) => void;
|
|
71
|
+
onRotateImageEvent?: (msg: WebSocketMessage) => void;
|
|
72
|
+
onGetImageSizeEvent?: (msg: WebSocketMessage) => void;
|
|
73
|
+
onUploadAllImageAsPdfToUrlEvent?: (msg: WebSocketMessage) => void;
|
|
74
|
+
onUploadAllImageAsTiffToUrlEvent?: (msg: WebSocketMessage) => void;
|
|
75
|
+
onUploadJpgImageByIndexEvent?: (msg: WebSocketMessage) => void;
|
|
76
|
+
onUploadEvent?: (msg: WebSocketMessage) => void;
|
|
77
|
+
onImageEditedEvent?: (msg: WebSocketMessage) => void;
|
|
78
|
+
onImageDrapEvent?: (msg: WebSocketMessage) => void;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* 构造函数
|
|
82
|
+
*/
|
|
83
|
+
constructor();
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 通过连接多个websocket server端口返回一个可用的websocket连接对象
|
|
87
|
+
* @param wssUrls WebSocket服务器URL数组
|
|
88
|
+
* @returns WebSocket连接Promise
|
|
89
|
+
*/
|
|
90
|
+
getConnectedServer(wssUrls: string[]): Promise<WebSocket>;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* 尝试检测websocket哪个端口可以成功连接
|
|
94
|
+
*/
|
|
95
|
+
tryConnect(): void;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* 初始化websocket相关的函数绑定
|
|
99
|
+
* @param server WebSocket服务器实例
|
|
100
|
+
*/
|
|
101
|
+
initWebsocketCallback(server: WebSocket): void;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* WebSocket错误处理
|
|
105
|
+
* @param event 错误事件
|
|
106
|
+
*/
|
|
107
|
+
onSocketError(event: Event): void;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* 判断回调函数是否存在
|
|
111
|
+
* @param f 要检查的函数
|
|
112
|
+
* @returns 函数是否存在且为函数类型
|
|
113
|
+
*/
|
|
114
|
+
isCallbackExist(f: any): f is Function;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* WebSocket消息处理
|
|
118
|
+
* @param event WebSocket消息事件
|
|
119
|
+
*/
|
|
120
|
+
onSocketMessage(event: MessageEvent): void;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 通过websocket发送数据给webscoket服务端
|
|
124
|
+
* @param commandData 要发送的命令数据
|
|
125
|
+
*/
|
|
126
|
+
sendWebSocketCommand(commandData: object): void;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* 设置授权信息
|
|
130
|
+
* @param licenseMode 授权模式
|
|
131
|
+
* @param key1 授权密钥1
|
|
132
|
+
* @param key2 授权密钥2
|
|
133
|
+
* @param licenseServerUrl 授权服务器URL
|
|
134
|
+
*/
|
|
135
|
+
setLicenseKey(licenseMode: string, key1: string, key2: string, licenseServerUrl: string): void;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* 加载所有可用的扫描设备
|
|
139
|
+
*/
|
|
140
|
+
loadDevices(): void;
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* 设置当前选中的扫描设备id
|
|
144
|
+
* @param deviceIndex 设备索引
|
|
145
|
+
*/
|
|
146
|
+
selectScanDevice(deviceIndex: number): void;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 开始扫描
|
|
150
|
+
*/
|
|
151
|
+
startScan(): void;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 清除全部扫描结果
|
|
155
|
+
*/
|
|
156
|
+
clearAll(): void;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 获取图像总数
|
|
160
|
+
*/
|
|
161
|
+
getImageCount(): void;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* 获取所有图像
|
|
165
|
+
*/
|
|
166
|
+
getAllImage(): void;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* 发送指令获取某一页图像到托盘服务
|
|
170
|
+
* @param index 图像索引
|
|
171
|
+
*/
|
|
172
|
+
getImageById(index: number): void;
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* 发送指令远程加载服务器端的多页图像到托盘服务
|
|
176
|
+
* @param url 图像URL
|
|
177
|
+
*/
|
|
178
|
+
loadImageFromUrl(url: string): void;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* 发送指令旋转某一页图像到托盘服务
|
|
182
|
+
* @param index 图像索引
|
|
183
|
+
* @param angle 旋转角度
|
|
184
|
+
*/
|
|
185
|
+
rotateImage(index: number, angle: number): void;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* 发送指令获取某一页图像的宽度到托盘服务
|
|
189
|
+
* @param index 图像索引
|
|
190
|
+
*/
|
|
191
|
+
getImageSize(index: number): void;
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* 发送指令删除某一页图像到托盘服务
|
|
195
|
+
* @param index 图像索引
|
|
196
|
+
*/
|
|
197
|
+
deleteImageByIndex(index: number): void;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* 以pdf格式上传全部图像到服务器端
|
|
201
|
+
* @param url 上传URL
|
|
202
|
+
* @param id 标识ID
|
|
203
|
+
* @param desc 描述信息
|
|
204
|
+
*/
|
|
205
|
+
uploadAllImageAsPdfToUrl(url: string, id: string, desc: string): void;
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* 以tiff格式上传全部图像到服务器端
|
|
209
|
+
* @param url 上传URL
|
|
210
|
+
* @param id 标识ID
|
|
211
|
+
* @param desc 描述信息
|
|
212
|
+
*/
|
|
213
|
+
uploadAllImageAsTiffToUrl(url: string, id: string, desc: string): void;
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* 以jpg格式上传某一页图像到服务器端
|
|
217
|
+
* @param url 上传URL
|
|
218
|
+
* @param id 标识ID
|
|
219
|
+
* @param desc 描述信息
|
|
220
|
+
* @param index 图像索引
|
|
221
|
+
*/
|
|
222
|
+
uploadJpgImageByIndex(url: string, id: string, desc: string, index: number): void;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* 全部图像保存到客户端本地文件
|
|
226
|
+
* @param filename 文件名
|
|
227
|
+
*/
|
|
228
|
+
saveAllImageToLocal(filename: string): void;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* 从客户端本地读取图像,通过打开文件对话框选择图像文件
|
|
232
|
+
*/
|
|
233
|
+
openClientLocalfile(): void;
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* ftp上传全部图像文件到服务器端
|
|
237
|
+
* @param serverIp 服务器IP
|
|
238
|
+
* @param port 端口
|
|
239
|
+
* @param username 用户名
|
|
240
|
+
* @param password 密码
|
|
241
|
+
* @param serverPath 服务器路径
|
|
242
|
+
* @param filename 文件名
|
|
243
|
+
*/
|
|
244
|
+
ftpUploadAllImage(serverIp: string, port: number, username: string, password: string, serverPath: string, filename: string): void;
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* 设置上传按钮是否可见
|
|
248
|
+
* @param visible 是否可见
|
|
249
|
+
*/
|
|
250
|
+
setUploadButtonVisible(visible: boolean): void;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* 设置焦点
|
|
254
|
+
*/
|
|
255
|
+
setFocus(): void;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* 隐藏窗口
|
|
259
|
+
*/
|
|
260
|
+
hidden(): void;
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* 关闭websocket连接
|
|
264
|
+
*/
|
|
265
|
+
closeWebSocket(): void;
|
|
266
|
+
}
|