@lambo-design-mobile/lambo-js-bridge 1.0.0-beta.28 → 1.0.0-beta.30
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/.versionrc +23 -23
- package/CHANGELOG.md +344 -335
- package/README.md +523 -523
- package/demo/index.vue +454 -454
- package/index.js +3 -3
- package/package.json +1 -1
- package/src/sdk/BrowserAdapter.js +63 -63
- package/src/sdk/CordovaAdapter.js +20 -20
- package/src/sdk/DingTalkAdapter.js +20 -20
- package/src/sdk/LPAPI.js +1117 -1033
- package/src/sdk/LamboJsBridge.js +102 -105
- package/src/sdk/MobileIMAdaoter.js +44 -25
- package/src/sdk/WeComAdapter.js +367 -367
- package/src/sdk/YunTuAdapter.js +316 -323
- package/src/sdk/yuntu.js +55 -55
package/src/sdk/LPAPI.js
CHANGED
|
@@ -1,1034 +1,1118 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Created by HuDianxing on 2017-12-16.
|
|
3
|
-
*
|
|
4
|
-
* 德佟电子标签打印机 JavaScript 接口的封装。
|
|
5
|
-
*
|
|
6
|
-
* Copyright(C) 2011~2017, 上海道臻信息技术有限公司
|
|
7
|
-
*
|
|
8
|
-
*/
|
|
9
|
-
const api = {};
|
|
10
|
-
let LPAPIPlugin = new Proxy({window}, {
|
|
11
|
-
get(target, prop, receiver) {
|
|
12
|
-
const original = target[prop];
|
|
13
|
-
if (typeof original === "undefined" && typeof window?.printer?.[prop] === "function") {
|
|
14
|
-
return async function (...args) {
|
|
15
|
-
return window.printer[prop].apply(window.printer, args);
|
|
16
|
-
};
|
|
17
|
-
} else if (typeof original !== "undefined") {
|
|
18
|
-
return original;
|
|
19
|
-
} else {
|
|
20
|
-
console.error(`获取安卓平台打印机接口${prop}失败`);
|
|
21
|
-
return (...args) => {console.error(`调用${prop}接口失败,调用参数为%O`, args)};
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
let lpapiModel = window.lpapiModel;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
-
* @param
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
*
|
|
154
|
-
* @param
|
|
155
|
-
*
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
* @param
|
|
226
|
-
*
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
*
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
if (Mobile.
|
|
328
|
-
|
|
329
|
-
}
|
|
330
|
-
};
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
*
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
*
|
|
369
|
-
* @param
|
|
370
|
-
*
|
|
371
|
-
*
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
api.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
};
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
*
|
|
406
|
-
*
|
|
407
|
-
* @param
|
|
408
|
-
*
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
*
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
*
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
*
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
*
|
|
510
|
-
*
|
|
511
|
-
* @param
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
*
|
|
515
|
-
*
|
|
516
|
-
*
|
|
517
|
-
*
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
*
|
|
550
|
-
* @param
|
|
551
|
-
*
|
|
552
|
-
* @
|
|
553
|
-
*
|
|
554
|
-
*
|
|
555
|
-
*
|
|
556
|
-
*
|
|
557
|
-
*/
|
|
558
|
-
api.
|
|
559
|
-
if (Mobile.isAndroid()) {
|
|
560
|
-
LPAPIPlugin.
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
*
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
*
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
*
|
|
601
|
-
* @param
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
*
|
|
607
|
-
*
|
|
608
|
-
*
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
* @param
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
*
|
|
700
|
-
*
|
|
701
|
-
* @
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
*
|
|
727
|
-
* @param
|
|
728
|
-
*
|
|
729
|
-
* @param
|
|
730
|
-
*
|
|
731
|
-
* @param
|
|
732
|
-
*
|
|
733
|
-
* @param
|
|
734
|
-
*
|
|
735
|
-
* @
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
*
|
|
757
|
-
*
|
|
758
|
-
* @param
|
|
759
|
-
*
|
|
760
|
-
*
|
|
761
|
-
*
|
|
762
|
-
*
|
|
763
|
-
*
|
|
764
|
-
*
|
|
765
|
-
*
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
});
|
|
777
|
-
} else if (Mobile.isIOS()) {
|
|
778
|
-
lpapiModel.
|
|
779
|
-
}
|
|
780
|
-
};
|
|
781
|
-
|
|
782
|
-
/**
|
|
783
|
-
*
|
|
784
|
-
* @param success 成功回调函数;
|
|
785
|
-
* @param error 失败回调函数;
|
|
786
|
-
* @param
|
|
787
|
-
*
|
|
788
|
-
* @param
|
|
789
|
-
*
|
|
790
|
-
* @param
|
|
791
|
-
*
|
|
792
|
-
* @param
|
|
793
|
-
*
|
|
794
|
-
* @
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
*
|
|
814
|
-
*
|
|
815
|
-
* @param
|
|
816
|
-
*
|
|
817
|
-
*
|
|
818
|
-
*
|
|
819
|
-
*
|
|
820
|
-
*
|
|
821
|
-
*
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Created by HuDianxing on 2017-12-16.
|
|
3
|
+
*
|
|
4
|
+
* 德佟电子标签打印机 JavaScript 接口的封装。
|
|
5
|
+
*
|
|
6
|
+
* Copyright(C) 2011~2017, 上海道臻信息技术有限公司
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
const api = {};
|
|
10
|
+
let LPAPIPlugin = new Proxy({window}, {
|
|
11
|
+
get(target, prop, receiver) {
|
|
12
|
+
const original = target[prop];
|
|
13
|
+
if (typeof original === "undefined" && typeof window?.printer?.[prop] === "function") {
|
|
14
|
+
return async function (...args) {
|
|
15
|
+
return window.printer[prop].apply(window.printer, args);
|
|
16
|
+
};
|
|
17
|
+
} else if (typeof original !== "undefined") {
|
|
18
|
+
return original;
|
|
19
|
+
} else {
|
|
20
|
+
console.error(`获取安卓平台打印机接口${prop}失败`);
|
|
21
|
+
return (...args) => {console.error(`调用${prop}接口失败,调用参数为%O`, args)};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
let lpapiModel = window.lpapiModel;
|
|
26
|
+
|
|
27
|
+
let defaultSuccess = (result) => {console.log("success result " + JSON.stringify(result));};
|
|
28
|
+
let defaultError = (err) => {console.log("err result " + JSON.stringify(err));};
|
|
29
|
+
|
|
30
|
+
/***************************************************************************
|
|
31
|
+
* 打印机的打开与断开操作。
|
|
32
|
+
**************************************************************************/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 以字符串的形式返回已经安装过的所有打印机名称,不同打印机名称间以英文","分隔。
|
|
36
|
+
* @param names 打印机型号,
|
|
37
|
+
* 空字符串表示返回所有型号的打印机
|
|
38
|
+
* 要获取多个型号的打印机,多个型号之间可以用";"进行分割;
|
|
39
|
+
* @param success 成功回调函数;
|
|
40
|
+
* @param fail 失败回调函数;
|
|
41
|
+
* 平台支持:Android+IOS;
|
|
42
|
+
*/
|
|
43
|
+
api.getAllPrinters = function (names, success, fail) {
|
|
44
|
+
if (typeof names === "function") {
|
|
45
|
+
fail = success;
|
|
46
|
+
success = names;
|
|
47
|
+
names = "";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (Mobile.isAndroid()) {
|
|
51
|
+
LPAPIPlugin.getAllPrinters(success, fail, {
|
|
52
|
+
name: names
|
|
53
|
+
});
|
|
54
|
+
} else if (Mobile.isIOS()) {
|
|
55
|
+
// 设置型号限制
|
|
56
|
+
if (names) {
|
|
57
|
+
var nameKeys = names.split(";");
|
|
58
|
+
lpapiModel.jsSetSupportPrefixs(nameKeys);
|
|
59
|
+
}
|
|
60
|
+
lpapiModel.jsScanPrinters(function(array){
|
|
61
|
+
var str = array.join(",");
|
|
62
|
+
success(str);
|
|
63
|
+
}, fail);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* - JS 调用: window.printer.connectPrinter(success, error, options)
|
|
68
|
+
* - 描述: 连接到指定的打印机。
|
|
69
|
+
* - 参数 (options):
|
|
70
|
+
* - name (String, 必选): 要连接的打印机的名称或地址。具体是名称还是地址取决于原生实现。若为空字符串则选择第一台打印机
|
|
71
|
+
* - 成功回调数据 (result):
|
|
72
|
+
* - success (bool): true 表示连接成功,false 表示连接失败。
|
|
73
|
+
* - 示例: {"success": true}
|
|
74
|
+
* - 失败回调数据 (error): {"message": "错误描述"}
|
|
75
|
+
*/
|
|
76
|
+
api.connectPrinter = function (success, error, options) {
|
|
77
|
+
if (Mobile.isAndroid()) {
|
|
78
|
+
LPAPIPlugin.connectPrinter(success, error, options);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* #### getPrinterStatus
|
|
84
|
+
* - JS 调用: window.printer.getPrinterStatus(success, error)
|
|
85
|
+
* - 描述: 获取当前连接打印机的状态(如正常、缺纸、开盖等)。
|
|
86
|
+
* - 参数 (options): 无
|
|
87
|
+
* - 成功回调数据 (result):
|
|
88
|
+
* - status (String): 表示打印机状态的字符串。具体状态值取决于原生实现。
|
|
89
|
+
* - 示例: {"status": "NORMAL"} 或 {"status": "OUT_OF_PAPER"}
|
|
90
|
+
* - 失败回调数据 (error): {"message": "错误描述"}
|
|
91
|
+
*/
|
|
92
|
+
api.getPrinterStatus = function (success, error) {
|
|
93
|
+
if (Mobile.isAndroid()) {
|
|
94
|
+
LPAPIPlugin.getPrinterStatus(success, error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* - JS 调用: window.printer.printText(success, error, options)
|
|
101
|
+
* - 描述: 快速打印文本,通常用于小票类打印机。会创建一个包含该文本的独立打印任务并提交。
|
|
102
|
+
* - 参数 (options): 类似于 drawText,但具体参数和行为(如是否自动换行、定位)可能与 drawText 不同,更侧重于流式打印。
|
|
103
|
+
* - text (String, 必选)
|
|
104
|
+
* - width, height, orientation, x, y, fontHeight (可选,默认值可能不同)。
|
|
105
|
+
* - 成功回调数据 (result): {"success": true}
|
|
106
|
+
* - 失败回调数据 (error): {"message": "错误描述"}
|
|
107
|
+
*/
|
|
108
|
+
api.printText = function (success, error, options) {
|
|
109
|
+
if (Mobile.isAndroid()) {
|
|
110
|
+
LPAPIPlugin.printText(success, error, options);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* - JS 调用: window.printer.printBarcode(success, error, options)
|
|
116
|
+
* - 描述: 快速打印一维条码。创建独立打印任务。
|
|
117
|
+
* - 参数 (options): 类似于 draw1DBarcode。
|
|
118
|
+
* - text (String, 必选)
|
|
119
|
+
* - type, width, height, x, y, textHeight (可选)。
|
|
120
|
+
* - 成功回调数据 (result): {"success": true}
|
|
121
|
+
* - 失败回调数据 (error): {"message": "错误描述"}
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
api.printBarcode = function (success, error, options) {
|
|
125
|
+
if (Mobile.isAndroid()) {
|
|
126
|
+
LPAPIPlugin.printBarcode(success, error, options);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* - JS 调用: window.printer.printQRCode(success, error, options)
|
|
132
|
+
* - 描述: 快速打印二维码。创建独立打印任务。
|
|
133
|
+
* - 参数 (options): 类似于 draw2DQRCode。
|
|
134
|
+
* - text (String, 必选)
|
|
135
|
+
* - width, x, y (可选)。
|
|
136
|
+
* - 成功回调数据 (result): {"success": true}
|
|
137
|
+
* - 失败回调数据 (error): {"message": "错误描述"}
|
|
138
|
+
*/
|
|
139
|
+
|
|
140
|
+
api.printQRCode = function (success, error, options) {
|
|
141
|
+
if (Mobile.isAndroid()) {
|
|
142
|
+
LPAPIPlugin.printQRCode(success, error, options);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 以数组的形式返货制定型号打印机的详细信息;
|
|
150
|
+
* @param names 打印机型号(或者成功回调函数),
|
|
151
|
+
* 空字符串表示返回所有型号的打印机
|
|
152
|
+
* 要获取多个型号的打印机,多个型号之间可以用";"进行分割;
|
|
153
|
+
* @param success 成功的结果回调函数;
|
|
154
|
+
* @param error 失败的结果回调函数;
|
|
155
|
+
* 平台支持:Android;
|
|
156
|
+
*/
|
|
157
|
+
api.getAllPrinterAddresses = function (names, success, error = defaultError) {
|
|
158
|
+
if (typeof names === "function") {
|
|
159
|
+
success = names;
|
|
160
|
+
names = "";
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (Mobile.isAndroid()) {
|
|
164
|
+
LPAPIPlugin.getAllPrinterAddresses(success, error, {
|
|
165
|
+
name: names
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// /**
|
|
171
|
+
// * 获取默认打印机详细信息;
|
|
172
|
+
// *
|
|
173
|
+
// * @param names 所要获取打印机的型号,不指定则获取所有型号;
|
|
174
|
+
// * @param success 成功的结果回调函数;
|
|
175
|
+
// * @param error 失败的结果回调函数;
|
|
176
|
+
// * 平台支持:Android;
|
|
177
|
+
// */
|
|
178
|
+
// api.getFirstPrinter = function (names, success, error = defaultError) {
|
|
179
|
+
// if (typeof names === "function"){
|
|
180
|
+
// success = names;
|
|
181
|
+
// names = "";
|
|
182
|
+
// }
|
|
183
|
+
//
|
|
184
|
+
// if (Mobile.isAndroid()) {
|
|
185
|
+
// LPAPIPlugin.getFirstPrinter(success, error, {
|
|
186
|
+
// name: names
|
|
187
|
+
// });
|
|
188
|
+
// }
|
|
189
|
+
// };
|
|
190
|
+
|
|
191
|
+
// /**
|
|
192
|
+
// * 打开指定名称的打印机(异步调用)。
|
|
193
|
+
// * @param printerName
|
|
194
|
+
// * 打印机名称。打印机名称类型:
|
|
195
|
+
// * 1、空字符串:打开当前客户端系统上的第一个支持的打印机;
|
|
196
|
+
// * 2、打印机型号:例如:DT20S;
|
|
197
|
+
// * 3、打印机名称:例如:DT20S-60901687;
|
|
198
|
+
// * 4、MAC地址:打开指定地址的打印机,例如:00:18:E4:0C:68:CA。
|
|
199
|
+
// * @param success 成功回调函数;
|
|
200
|
+
// * @param fail 失败回调函数;
|
|
201
|
+
// * 平台支持:Android+IOS;
|
|
202
|
+
// */
|
|
203
|
+
// api.openPrinter = function (printerName, success, fail) {
|
|
204
|
+
// var printer = printerName;
|
|
205
|
+
// var successCallback = success;
|
|
206
|
+
// var failCallback = fail;
|
|
207
|
+
// if (typeof printerName === "function") {
|
|
208
|
+
// successCallback = printerName;
|
|
209
|
+
// failCallback = success;
|
|
210
|
+
// printer = null;
|
|
211
|
+
// }
|
|
212
|
+
//
|
|
213
|
+
// if (Mobile.isAndroid()) {
|
|
214
|
+
// LPAPIPlugin.openPrinter(successCallback, failCallback, {
|
|
215
|
+
// name: printer
|
|
216
|
+
// });
|
|
217
|
+
// } else if (Mobile.isIOS()) {
|
|
218
|
+
// lpapiModel.jsOpenPrinter(success, fail, [printerName]);
|
|
219
|
+
// }
|
|
220
|
+
// };
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* 断开当前打印机的连接。
|
|
224
|
+
* 平台支持:Android+IOS;
|
|
225
|
+
* @param success 成功回调函数;
|
|
226
|
+
* @param error 失败回调函数;
|
|
227
|
+
*/
|
|
228
|
+
api.closePrinter = function (success = defaultSuccess, error = defaultError) {
|
|
229
|
+
if (Mobile.isAndroid()) {
|
|
230
|
+
LPAPIPlugin.closePrinter(success, error);
|
|
231
|
+
} else if (Mobile.isIOS()) {
|
|
232
|
+
lpapiModel.jsClosePrinter();
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* 得到当前使用的打印机名称。
|
|
238
|
+
* @param success 成功回调函数;
|
|
239
|
+
* @param error 失败回调函数;
|
|
240
|
+
* @return 如果已连接打印机,则返回当前使用的打印机名称,否则返回空字符串。
|
|
241
|
+
* 平台支持:Android+IOS;
|
|
242
|
+
*/
|
|
243
|
+
api.getPrinterName = function (success, error) {
|
|
244
|
+
if (Mobile.isAndroid()) {
|
|
245
|
+
LPAPIPlugin.getPrinterName(success, error);
|
|
246
|
+
} else if (Mobile.isIOS()) {
|
|
247
|
+
lpapiModel.jsConnectingPrinterName(success, error);
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* 获取当前打印机的链接信息;
|
|
253
|
+
* @param success 成功回调函数;
|
|
254
|
+
* @param error 失败回调函数;
|
|
255
|
+
* 平台支持:Android;
|
|
256
|
+
*/
|
|
257
|
+
api.getPrinterState = function (success, error = defaultError) {
|
|
258
|
+
if (Mobile.isAndroid()) {
|
|
259
|
+
LPAPIPlugin.getPrinterState(success, error);
|
|
260
|
+
}
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* 获取当前已连接打印机的详细信息;
|
|
265
|
+
* @param success 成功回调函数;
|
|
266
|
+
* @param error 失败回调函数;
|
|
267
|
+
* @param success 结果回调函数;
|
|
268
|
+
* 平台支持:Android;
|
|
269
|
+
*/
|
|
270
|
+
api.getPrinterInfo = function (success, error = defaultError) {
|
|
271
|
+
if (Mobile.isAndroid()) {
|
|
272
|
+
LPAPIPlugin.getPrinterInfo(success, error);
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* 判断当前打印机是否打开(连接成功)?
|
|
278
|
+
* 平台支持:Android;
|
|
279
|
+
* @param success 成功回调函数;
|
|
280
|
+
* @param error 失败回调函数;
|
|
281
|
+
*/
|
|
282
|
+
api.isPrinterOpened = function (success, error) {
|
|
283
|
+
if (Mobile.isAndroid()) {
|
|
284
|
+
LPAPIPlugin.isPrinterOpened(success, error);
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* 重新连接上次连接的打印机(异步调用)。
|
|
290
|
+
* @param success 成功回调函数;
|
|
291
|
+
* @param error 失败回调函数;
|
|
292
|
+
* @return 异步连接操作是否成功提交?
|
|
293
|
+
* 注意:返回成功仅仅表示操作被提交成功,并不代表着连接成功了,具体的连接结果会通过回调函数给出通知。
|
|
294
|
+
* 平台支持:Android;
|
|
295
|
+
*/
|
|
296
|
+
api.reopenPrinter = function (success, error) {
|
|
297
|
+
if (Mobile.isAndroid()) {
|
|
298
|
+
LPAPIPlugin.reopenPrinter(success, error);
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
/***************************************************************************
|
|
303
|
+
* 打印任务的开始,分页,结束等操作。
|
|
304
|
+
**************************************************************************/
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* 以指定的参数,开始一个打印任务。
|
|
308
|
+
*
|
|
309
|
+
* @param width
|
|
310
|
+
* 标签宽度(单位mm)。
|
|
311
|
+
* @param height
|
|
312
|
+
* 标签高度(单位mm)。
|
|
313
|
+
* @param orientation
|
|
314
|
+
* 标签打印方向。0:不旋转;90:顺时针旋转90度;180:旋转180度;270:逆时针旋转90度。
|
|
315
|
+
* @param success 成功回调函数;
|
|
316
|
+
* @param error 失败回调函数;
|
|
317
|
+
* @return 成功与否?
|
|
318
|
+
* 平台支持:Android+IOS;
|
|
319
|
+
*/
|
|
320
|
+
api.startJob = function (width, height, orientation, success = defaultSuccess, error = defaultError) {
|
|
321
|
+
if (Mobile.isAndroid()) {
|
|
322
|
+
LPAPIPlugin.startJob(success, error,{
|
|
323
|
+
width: width,
|
|
324
|
+
height: height,
|
|
325
|
+
orientation: orientation
|
|
326
|
+
});
|
|
327
|
+
} else if (Mobile.isIOS()) {
|
|
328
|
+
lpapiModel.jsStartPrint([width, height, orientation, 1]);
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* 开始一个打印页面。
|
|
334
|
+
* @param success 成功回调函数;
|
|
335
|
+
* @param error 失败回调函数;
|
|
336
|
+
* 平台支持:Android;
|
|
337
|
+
*/
|
|
338
|
+
api.startPage = function (success, error) {
|
|
339
|
+
if (Mobile.isAndroid()) {
|
|
340
|
+
LPAPIPlugin.startPage(success, error);
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* 结束一个打印页面。
|
|
346
|
+
* 平台支持:Android;
|
|
347
|
+
*/
|
|
348
|
+
api.endPage = function (success = defaultSuccess, error = defaultError) {
|
|
349
|
+
if (Mobile.isAndroid()) {
|
|
350
|
+
LPAPIPlugin.endPage(success, error);
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* 结束绘图任务。
|
|
356
|
+
* 调用endJob()后,并未将打印任务提交给打印机,但是可以通过调用getJobPages(),然后以图片形式获取打印任务;
|
|
357
|
+
* @param success 成功回调函数;
|
|
358
|
+
* @param error 失败回调函数;
|
|
359
|
+
* 平台支持:Android;
|
|
360
|
+
*/
|
|
361
|
+
api.endJob = function (success = defaultSuccess, error = defaultError) {
|
|
362
|
+
if (Mobile.isAndroid()) {
|
|
363
|
+
LPAPIPlugin.endJob(success, error);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* 取消绘图任务,用于取消任务提交前的所有绘制操作。
|
|
369
|
+
* @param success 成功回调函数;
|
|
370
|
+
* @param error 失败回调函数;
|
|
371
|
+
* 平台支持:Android
|
|
372
|
+
*/
|
|
373
|
+
api.abortJob = function (success = defaultSuccess, error = defaultError) {
|
|
374
|
+
if (Mobile.isAndroid()) {
|
|
375
|
+
LPAPIPlugin.abortJob(success, error);
|
|
376
|
+
}
|
|
377
|
+
};
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* 提交打印数据,进行真正的打印。
|
|
381
|
+
* @param success 成功回调函数;
|
|
382
|
+
* @param error 失败回调函数;
|
|
383
|
+
* @param options 可选,具体参数取决于打印机和原生实现
|
|
384
|
+
* 平台支持:Android+IOS;
|
|
385
|
+
*/
|
|
386
|
+
api.commitJob = function (success, error, options =null) {
|
|
387
|
+
if (Mobile.isAndroid()) {
|
|
388
|
+
LPAPIPlugin.commitJob(success, error, options);
|
|
389
|
+
} else if (Mobile.isIOS()) {
|
|
390
|
+
lpapiModel.jsCommitPrint(success, error);
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
// /**
|
|
395
|
+
// * 取消当前的打印操作,用于在提交打印任务后执行取消操作。
|
|
396
|
+
// * 平台支持:Android;
|
|
397
|
+
// */
|
|
398
|
+
// api.cancel = function () {
|
|
399
|
+
// if (Mobile.isAndroid()) {
|
|
400
|
+
// LPAPIPlugin.cancel();
|
|
401
|
+
// }
|
|
402
|
+
// };
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* 调用函数endJob() 之后可以调用该函数,获取base64图片格式的打印任务;
|
|
406
|
+
* @param success 数据获取成功回调函数(返回值);
|
|
407
|
+
* @param error 数据获取失败回调函数(返回值);
|
|
408
|
+
* 平台支持:Android;
|
|
409
|
+
*/
|
|
410
|
+
api.getJobPages = function (success, error = defaultError) {
|
|
411
|
+
if (Mobile.isAndroid()) {
|
|
412
|
+
LPAPIPlugin.getJobPages(success, error);
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
// /**
|
|
417
|
+
// * 打印base64格式的图片对象
|
|
418
|
+
// * @param image base64格式图片或者URL路径;
|
|
419
|
+
// * @param success 打印成功回调;
|
|
420
|
+
// * @param fail 打印失败回调;
|
|
421
|
+
// * 平台支持:Android;
|
|
422
|
+
// */
|
|
423
|
+
// api.printImage = function (image, success, fail) {
|
|
424
|
+
// if (Mobile.isAndroid()) {
|
|
425
|
+
// LPAPIPlugin.printImage({
|
|
426
|
+
// image: image || ""
|
|
427
|
+
// }, success, fail);
|
|
428
|
+
// }
|
|
429
|
+
// };
|
|
430
|
+
|
|
431
|
+
/***************************************************************************
|
|
432
|
+
* 打印参数设置。
|
|
433
|
+
**************************************************************************/
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* 得到当前打印动作的顺时针旋转角度。
|
|
437
|
+
*
|
|
438
|
+
* @param success 成功回调函数;
|
|
439
|
+
* @param error 失败回调函数;
|
|
440
|
+
* 当前打印动作的顺时针旋转角度(0,90,180,270)。
|
|
441
|
+
* 平台支持:Android;
|
|
442
|
+
*/
|
|
443
|
+
api.getItemOrientation = function (success, error = defaultError) {
|
|
444
|
+
if (Mobile.isAndroid()) {
|
|
445
|
+
LPAPIPlugin.getItemOrientation(success, error);
|
|
446
|
+
}
|
|
447
|
+
};
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* 设置打印动作的旋转角度。
|
|
451
|
+
* @param success 成功回调函数;
|
|
452
|
+
* @param error 失败回调函数;
|
|
453
|
+
* @param orientation
|
|
454
|
+
* orientation: 旋转角度。参数描述如下:
|
|
455
|
+
* 0:不旋转;
|
|
456
|
+
* 90:顺时针旋转90度;
|
|
457
|
+
* 180:旋转180度;
|
|
458
|
+
* 270:逆时针旋转90度。
|
|
459
|
+
* 平台支持:Android + IOS;
|
|
460
|
+
*/
|
|
461
|
+
api.setItemOrientation = function (orientation, success = defaultSuccess, error = defaultError) {
|
|
462
|
+
if (Mobile.isAndroid()) {
|
|
463
|
+
LPAPIPlugin.setItemOrientation(success, error, {
|
|
464
|
+
orientation: orientation || 0
|
|
465
|
+
});
|
|
466
|
+
} else if (Mobile.isIOS()) {
|
|
467
|
+
lpapiModel.jsSetItemOrientation([orientation]);
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* 得到当前打印动作的水平对齐方式。
|
|
473
|
+
*
|
|
474
|
+
* @param success 成功回调函数;
|
|
475
|
+
* @param error 失败回调函数;
|
|
476
|
+
* 水平对齐方式值如下:
|
|
477
|
+
* 0:水平居左;
|
|
478
|
+
* 1:水平居中;
|
|
479
|
+
* 2:水平居右;
|
|
480
|
+
* 平台支持:Android;
|
|
481
|
+
*/
|
|
482
|
+
api.getItemHorizontalAlignment = function (success, error = defaultError) {
|
|
483
|
+
if (Mobile.isAndroid()) {
|
|
484
|
+
LPAPIPlugin.getItemHorizontalAlignment(success, error);
|
|
485
|
+
}
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* 设置打印动作的水平对齐方式。
|
|
490
|
+
*
|
|
491
|
+
* @param alignment
|
|
492
|
+
* 水平对齐方式。参数描述如下:
|
|
493
|
+
* 0:水平居左(默认方式);
|
|
494
|
+
* 1:水平居中;
|
|
495
|
+
* 2:水平居右。
|
|
496
|
+
* 平台支持:Android + IOS;
|
|
497
|
+
*/
|
|
498
|
+
api.setItemHorizontalAlignment = function (alignment, success = defaultSuccess, error = defaultError) {
|
|
499
|
+
if (Mobile.isAndroid()) {
|
|
500
|
+
LPAPIPlugin.setItemHorizontalAlignment(success, error,{
|
|
501
|
+
alignment: alignment || 0
|
|
502
|
+
});
|
|
503
|
+
} else if (Mobile.isIOS()) {
|
|
504
|
+
lpapiModel.jsSetItemHorizontalAlignment([alignment]);
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* 得到当前打印动作的垂直对齐方式。
|
|
510
|
+
*
|
|
511
|
+
* @param success 成功回调函数;
|
|
512
|
+
* @param error 失败回调函数;
|
|
513
|
+
* 后续打印动作的垂直对齐方式。返回结果描述如下:
|
|
514
|
+
* 0:垂直居上;
|
|
515
|
+
* 1:垂直居中;
|
|
516
|
+
* 2:垂直居下;
|
|
517
|
+
* 平台支持:Android;
|
|
518
|
+
*/
|
|
519
|
+
api.getItemVerticalAlignment = function (success, error = defaultError) {
|
|
520
|
+
if (Mobile.isAndroid()) {
|
|
521
|
+
LPAPIPlugin.getItemVerticalAlignment(success, error);
|
|
522
|
+
} else if (Mobile.isIOS()) {
|
|
523
|
+
|
|
524
|
+
}
|
|
525
|
+
};
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* 设置打印动作的垂直对齐方式。
|
|
529
|
+
* @param success 成功回调函数;
|
|
530
|
+
* @param error 失败回调函数;
|
|
531
|
+
* @param alignment
|
|
532
|
+
* 垂直对齐方式,参数描述如下:
|
|
533
|
+
* 0:垂直居上(默认方式);
|
|
534
|
+
* 1:垂直居中;
|
|
535
|
+
* 2:垂直居下。
|
|
536
|
+
* 平台支持:Android + IOS;
|
|
537
|
+
*/
|
|
538
|
+
api.setItemVerticalAlignment = function (alignment, success = defaultSuccess, error = defaultError) {
|
|
539
|
+
if (Mobile.isAndroid()) {
|
|
540
|
+
LPAPIPlugin.setItemVerticalAlignment(success, error, {
|
|
541
|
+
alignment: alignment || 0
|
|
542
|
+
});
|
|
543
|
+
} else if (Mobile.isIOS()) {
|
|
544
|
+
lpapiModel.jsSetItemVerticalAlignment([alignment]);
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* 得到线条画笔对齐方式。
|
|
550
|
+
* @param success 成功回调函数;
|
|
551
|
+
* @param error 失败回调函数;
|
|
552
|
+
* @return 线条画笔对齐方式,<br>
|
|
553
|
+
* 数值为以下两者之一:<br>
|
|
554
|
+
* PenAlignment.CENTER:绘制的线以指定的位置为中央;<br>
|
|
555
|
+
* PenAlignment.INSET:绘制的线在指定的位置内侧。<br>
|
|
556
|
+
* 平台支持:Android;
|
|
557
|
+
*/
|
|
558
|
+
api.getItemPenAlignment = function (success, error = defaultError) {
|
|
559
|
+
if (Mobile.isAndroid()) {
|
|
560
|
+
LPAPIPlugin.getItemPenAlignment(success, error);
|
|
561
|
+
}
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
/**
|
|
565
|
+
* 设置线条画笔对齐方式。
|
|
566
|
+
* @param success 成功回调函数;
|
|
567
|
+
* @param error 失败回调函数;
|
|
568
|
+
* @param penAlignment
|
|
569
|
+
* 线条画笔对齐方式,<br>
|
|
570
|
+
* 数值为以下两者之一:<br>
|
|
571
|
+
* PenAlignment.CENTER:绘制的线以指定的位置为中央; <br>
|
|
572
|
+
* PenAlignment.INSET:绘制的线在指定的位置内侧。
|
|
573
|
+
* 平台支持:Android;
|
|
574
|
+
*/
|
|
575
|
+
api.setItemPenAlignment = function (penAlignment, success = defaultSuccess, error = defaultError) {
|
|
576
|
+
if (Mobile.isAndroid()) {
|
|
577
|
+
LPAPIPlugin.setItemPenAlignment(success, error,{
|
|
578
|
+
alignment: penAlignment
|
|
579
|
+
});
|
|
580
|
+
}
|
|
581
|
+
};
|
|
582
|
+
|
|
583
|
+
/***************************************************************************
|
|
584
|
+
* 打印对象的绘制操作。
|
|
585
|
+
**************************************************************************/
|
|
586
|
+
|
|
587
|
+
/**
|
|
588
|
+
* 打印文本。
|
|
589
|
+
*
|
|
590
|
+
* @param success 成功回调函数;
|
|
591
|
+
* @param error 失败回调函数;
|
|
592
|
+
*
|
|
593
|
+
* @param text
|
|
594
|
+
* 文本内容。
|
|
595
|
+
* @param x
|
|
596
|
+
* 打印对象的位置(单位mm)。
|
|
597
|
+
* @param y
|
|
598
|
+
* 打印对象的位置(单位mm)。
|
|
599
|
+
* @param width
|
|
600
|
+
* 打印对象的宽度(单位mm)。
|
|
601
|
+
* @param height
|
|
602
|
+
* 打印对象的高度(单位mm)。
|
|
603
|
+
* height 为 0 时,真正的打印文本高度会根据内容来扩展;否则当指定的高度不足以打印指定的文本时,会自动缩小字体来适应指定的高度进行文本打印。
|
|
604
|
+
* @param fontHeight
|
|
605
|
+
* 文本的字体高度(单位mm)。
|
|
606
|
+
* @param fontStyle
|
|
607
|
+
* 文本的字体风格(可按位组合),可以不指定,默认为0(正常)。0:正常;1:粗体;2:斜体;3:粗斜体 ;4:下划线;8:删除线。
|
|
608
|
+
* @return 打印成功与否?
|
|
609
|
+
*/
|
|
610
|
+
api.drawText = function (text, x, y, width, height, fontHeight, fontStyle, success = defaultSuccess, error = defaultError) {
|
|
611
|
+
if (Mobile.isAndroid()) {
|
|
612
|
+
LPAPIPlugin.drawText(success, error, {
|
|
613
|
+
text: text,
|
|
614
|
+
x: x || 0,
|
|
615
|
+
y: y || 0,
|
|
616
|
+
width: width || 0,
|
|
617
|
+
height: height || 0,
|
|
618
|
+
fontHeight: fontHeight || 0,
|
|
619
|
+
fontStyle: fontStyle || 0
|
|
620
|
+
});
|
|
621
|
+
} else if (Mobile.isIOS()) {
|
|
622
|
+
lpapiModel.jsDrawText([text, x, y, width, height, "", fontHeight, fontStyle]);
|
|
623
|
+
}
|
|
624
|
+
};
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* 以指定的线宽,打印矩形框。
|
|
628
|
+
* @param success 成功回调函数;
|
|
629
|
+
* @param error 失败回调函数;
|
|
630
|
+
* @param x
|
|
631
|
+
* 绘制的矩形框的左上角水平位置(单位mm)。
|
|
632
|
+
* @param y
|
|
633
|
+
* 绘制的矩形框的左上角垂直位置(单位mm)。
|
|
634
|
+
* @param width
|
|
635
|
+
* 绘制的矩形框的水平宽度(单位mm)。
|
|
636
|
+
* @param height
|
|
637
|
+
* 绘制的矩形框的垂直高度(单位mm)。
|
|
638
|
+
* @param lineWidth
|
|
639
|
+
* 矩形框的线宽(单位mm)。矩形框的线宽是向矩形框内部延伸的。
|
|
640
|
+
* @return 打印成功与否?
|
|
641
|
+
*/
|
|
642
|
+
api.drawRectangle = function (x, y, width, height, lineWidth, success = defaultSuccess, error = defaultError) {
|
|
643
|
+
if (Mobile.isAndroid()) {
|
|
644
|
+
LPAPIPlugin.drawRectangle(success, error,{
|
|
645
|
+
x: x,
|
|
646
|
+
y: y,
|
|
647
|
+
width: width,
|
|
648
|
+
height: height,
|
|
649
|
+
lineWidth: lineWidth
|
|
650
|
+
});
|
|
651
|
+
} else if (Mobile.isIOS()) {
|
|
652
|
+
lpapiModel.jsDrawRectangle([x, y, width, height, lineWidth, false]);
|
|
653
|
+
}
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
/**
|
|
657
|
+
* 打印填充的矩形框。
|
|
658
|
+
* @param success 成功回调函数;
|
|
659
|
+
* @param error 失败回调函数;
|
|
660
|
+
* @param x
|
|
661
|
+
* 绘制的填充矩形框的左上角水平位置(单位mm)。
|
|
662
|
+
* @param y
|
|
663
|
+
* 绘制的填充矩形框的左上角垂直位置(单位mm)。
|
|
664
|
+
* @param width
|
|
665
|
+
* 绘制的填充矩形框的水平宽度(单位mm)。
|
|
666
|
+
* @param height
|
|
667
|
+
* 绘制的填充矩形框的垂直高度(单位mm)。
|
|
668
|
+
* @return 打印成功与否?
|
|
669
|
+
*/
|
|
670
|
+
api.fillRectangle = function (x, y, width, height, success = defaultSuccess, error = defaultError) {
|
|
671
|
+
if (Mobile.isAndroid()) {
|
|
672
|
+
LPAPIPlugin.fillRectangle(success, error,{
|
|
673
|
+
x: x,
|
|
674
|
+
y: y,
|
|
675
|
+
width: width,
|
|
676
|
+
height: height
|
|
677
|
+
});
|
|
678
|
+
} else if (Mobile.isIOS()) {
|
|
679
|
+
lpapiModel.jsDrawRectangle([x, y, width, height, 0.1, true]);
|
|
680
|
+
}
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
/**
|
|
684
|
+
* 以指定的线宽,打印圆角矩形框。
|
|
685
|
+
* @param success 成功回调函数;
|
|
686
|
+
* @param error 失败回调函数;
|
|
687
|
+
* @param x
|
|
688
|
+
* 绘制的圆角矩形框的左上角水平位置(单位mm)。
|
|
689
|
+
* @param y
|
|
690
|
+
* 绘制的圆角矩形框的左上角垂直位置(单位mm)。
|
|
691
|
+
* @param width
|
|
692
|
+
* 绘制的圆角矩形框的水平宽度(单位mm)。
|
|
693
|
+
* @param height
|
|
694
|
+
* 绘制的圆角矩形框的垂直高度(单位mm)。
|
|
695
|
+
* @param cornerWidth
|
|
696
|
+
* 圆角宽度(单位mm)。
|
|
697
|
+
* @param cornerHeight
|
|
698
|
+
* 圆角高度(单位mm)。
|
|
699
|
+
* @param lineWidth
|
|
700
|
+
* 圆角矩形框的线宽(单位mm)。圆角矩形框的线宽是向圆角矩形框内部延伸的。
|
|
701
|
+
* @return 打印成功与否?
|
|
702
|
+
*/
|
|
703
|
+
api.drawRoundRectangle = function (x, y, width, height, cornerWidth, cornerHeight, lineWidth, success = defaultSuccess, error = defaultError) {
|
|
704
|
+
if (Mobile.isAndroid()) {
|
|
705
|
+
LPAPIPlugin.drawRoundRectangle(success, error,{
|
|
706
|
+
x: x,
|
|
707
|
+
y: y,
|
|
708
|
+
width: width,
|
|
709
|
+
height: height,
|
|
710
|
+
cornerWidth: cornerWidth,
|
|
711
|
+
cornerHeight: cornerHeight,
|
|
712
|
+
lineWidth: lineWidth
|
|
713
|
+
});
|
|
714
|
+
} else if (Mobile.isIOS()) {
|
|
715
|
+
lpapiModel.jsDrawRoundRectangle([x, y, width, height, lineWidth, cornerWidth, false]);
|
|
716
|
+
}
|
|
717
|
+
};
|
|
718
|
+
|
|
719
|
+
/**
|
|
720
|
+
* 打印填充的圆角矩形框。
|
|
721
|
+
* @param success 成功回调函数;
|
|
722
|
+
* @param error 失败回调函数;
|
|
723
|
+
* @param x
|
|
724
|
+
* 绘制的填充圆角矩形框的左上角水平位置(单位mm)。
|
|
725
|
+
* @param y
|
|
726
|
+
* 绘制的填充圆角矩形框的左上角垂直位置(单位mm)。
|
|
727
|
+
* @param width
|
|
728
|
+
* 绘制的填充圆角矩形框的水平宽度(单位mm)。
|
|
729
|
+
* @param height
|
|
730
|
+
* 绘制的填充圆角矩形框的垂直高度(单位mm)。
|
|
731
|
+
* @param cornerWidth
|
|
732
|
+
* 圆角宽度(单位mm)。
|
|
733
|
+
* @param cornerHeight
|
|
734
|
+
* 圆角高度(单位mm)。
|
|
735
|
+
* @return 打印成功与否?
|
|
736
|
+
*/
|
|
737
|
+
api.fillRoundRectangle = function (x, y, width, height, cornerWidth, cornerHeight, success = defaultSuccess, error = defaultError) {
|
|
738
|
+
if (Mobile.isAndroid()) {
|
|
739
|
+
LPAPIPlugin.fillRoundRectangle(success, error,{
|
|
740
|
+
x: x,
|
|
741
|
+
y: y,
|
|
742
|
+
width: width,
|
|
743
|
+
height: height,
|
|
744
|
+
cornerWidth: cornerWidth,
|
|
745
|
+
cornerHeight: cornerHeight
|
|
746
|
+
});
|
|
747
|
+
} else if (Mobile.isIOS()) {
|
|
748
|
+
lpapiModel.jsDrawRoundRectangle([x, y, width, height, 0.1, cornerWidth, true]);
|
|
749
|
+
}
|
|
750
|
+
};
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* 以指定的线宽,打印椭圆/圆。
|
|
754
|
+
* @param success 成功回调函数;
|
|
755
|
+
* @param error 失败回调函数;
|
|
756
|
+
* @param x
|
|
757
|
+
* 绘制的椭圆的左上角水平位置(单位mm)。
|
|
758
|
+
* @param y
|
|
759
|
+
* 绘制的椭圆的左上角垂直位置(单位mm)。
|
|
760
|
+
* @param width
|
|
761
|
+
* 绘制的椭圆的水平宽度(单位mm)。
|
|
762
|
+
* @param height
|
|
763
|
+
* 绘制的椭圆的垂直高度(单位mm)。
|
|
764
|
+
* @param lineWidth
|
|
765
|
+
* 椭圆的线宽(单位mm)。椭圆的线宽是向椭圆内部延伸的。
|
|
766
|
+
* @return 打印成功与否?
|
|
767
|
+
*/
|
|
768
|
+
api.drawEllipse = function (x, y, width, height, lineWidth, success = defaultSuccess, error = defaultError) {
|
|
769
|
+
if (Mobile.isAndroid()) {
|
|
770
|
+
LPAPIPlugin.drawEllipse(success, error,{
|
|
771
|
+
x: x,
|
|
772
|
+
y: y,
|
|
773
|
+
width: width,
|
|
774
|
+
height: height,
|
|
775
|
+
lineWidth: lineWidth
|
|
776
|
+
});
|
|
777
|
+
} else if (Mobile.isIOS()) {
|
|
778
|
+
lpapiModel.jsDrawEllipse([x, y, width, height, lineWidth, false]);
|
|
779
|
+
}
|
|
780
|
+
};
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* 打印填充的椭圆/圆。
|
|
784
|
+
* @param success 成功回调函数;
|
|
785
|
+
* @param error 失败回调函数;
|
|
786
|
+
* @param x
|
|
787
|
+
* 绘制的填充椭圆的左上角水平位置(单位mm)。
|
|
788
|
+
* @param y
|
|
789
|
+
* 绘制的填充椭圆的左上角垂直位置(单位mm)。
|
|
790
|
+
* @param width
|
|
791
|
+
* 绘制的填充椭圆的水平宽度(单位mm)。
|
|
792
|
+
* @param height
|
|
793
|
+
* 绘制的填充椭圆的垂直高度(单位mm)。
|
|
794
|
+
* @return 打印成功与否?
|
|
795
|
+
*/
|
|
796
|
+
api.fillEllipse = function (x, y, width, height, success = defaultSuccess, error = defaultError) {
|
|
797
|
+
if (Mobile.isAndroid()) {
|
|
798
|
+
LPAPIPlugin.fillEllipse(success, error,{
|
|
799
|
+
x: x,
|
|
800
|
+
y: y,
|
|
801
|
+
width: width,
|
|
802
|
+
height: height
|
|
803
|
+
});
|
|
804
|
+
} else if (Mobile.isIOS()) {
|
|
805
|
+
lpapiModel.jsDrawEllipse([x, y, width, height, 0.1, true]);
|
|
806
|
+
}
|
|
807
|
+
};
|
|
808
|
+
|
|
809
|
+
/**
|
|
810
|
+
* 以指定的线宽,打印圆。
|
|
811
|
+
* @param success 成功回调函数;
|
|
812
|
+
* @param error 失败回调函数;
|
|
813
|
+
* @param x
|
|
814
|
+
* 绘制的圆形的X轴圆心位置(单位mm)。
|
|
815
|
+
* @param y
|
|
816
|
+
* 绘制的圆形的Y轴圆心位置(单位mm)。
|
|
817
|
+
* @param radius
|
|
818
|
+
* 绘制的圆的半径(单位mm)。
|
|
819
|
+
* @param lineWidth
|
|
820
|
+
* 圆的线宽(单位mm)。圆的线宽是向圆内部延伸的。
|
|
821
|
+
* @return 打印成功与否?
|
|
822
|
+
*/
|
|
823
|
+
api.drawCircle = function (x, y, radius, lineWidth, success = defaultSuccess, error = defaultError) {
|
|
824
|
+
x = x - radius;
|
|
825
|
+
y = y - radius;
|
|
826
|
+
|
|
827
|
+
if (Mobile.isAndroid()) {
|
|
828
|
+
LPAPIPlugin.drawCircle(success, error,{
|
|
829
|
+
x: x,
|
|
830
|
+
y: y,
|
|
831
|
+
radius: radius,
|
|
832
|
+
lineWidth: lineWidth
|
|
833
|
+
});
|
|
834
|
+
} else if (Mobile.isIOS()) {
|
|
835
|
+
lpapiModel.jsDrawCircle([x, y, radius * 2, radius * 2, lineWidth, false]);
|
|
836
|
+
}
|
|
837
|
+
};
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* 打印填充的圆。
|
|
841
|
+
* @param success 成功回调函数;
|
|
842
|
+
* @param error 失败回调函数;
|
|
843
|
+
* @param x
|
|
844
|
+
* 绘制的圆形的X轴圆心位置(单位mm)。
|
|
845
|
+
* @param y
|
|
846
|
+
* 绘制的圆形的Y轴圆心位置(单位mm)。
|
|
847
|
+
* @param radius
|
|
848
|
+
* 绘制的填充圆的半径(单位mm)。
|
|
849
|
+
* @return 打印成功与否?
|
|
850
|
+
*/
|
|
851
|
+
api.fillCircle = function (x, y, radius, success = defaultSuccess, error = defaultError) {
|
|
852
|
+
x = x - radius;
|
|
853
|
+
y = y - radius;
|
|
854
|
+
|
|
855
|
+
if (Mobile.isAndroid()) {
|
|
856
|
+
LPAPIPlugin.fillCircle(success, error,{
|
|
857
|
+
x: x,
|
|
858
|
+
y: y,
|
|
859
|
+
radius: radius
|
|
860
|
+
});
|
|
861
|
+
} else if (Mobile.isIOS()) {
|
|
862
|
+
lpapiModel.jsDrawCircle([x, y, radius * 2, radius * 2, 0.1, true]);
|
|
863
|
+
}
|
|
864
|
+
};
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* 打印线(直线/斜线)。
|
|
868
|
+
* @param success 成功回调函数;
|
|
869
|
+
* @param error 失败回调函数;
|
|
870
|
+
* @param x1
|
|
871
|
+
* 线的起点的水平位置(单位mm)。
|
|
872
|
+
* @param y1
|
|
873
|
+
* 线的起点的垂直位置(单位mm)。
|
|
874
|
+
* @param x2
|
|
875
|
+
* 线的终点的水平位置(单位mm)。
|
|
876
|
+
* @param y2
|
|
877
|
+
* 线的终点的垂直位置(单位mm)。
|
|
878
|
+
* @param lineWidth
|
|
879
|
+
* 线宽(单位mm)。线宽是向线的下方延伸的。
|
|
880
|
+
* @return 打印成功与否?
|
|
881
|
+
*/
|
|
882
|
+
api.drawLine = function (x1, y1, x2, y2, lineWidth, success = defaultSuccess, error = defaultError) {
|
|
883
|
+
if (Mobile.isAndroid()) {
|
|
884
|
+
LPAPIPlugin.drawLine(success, error,{
|
|
885
|
+
x1: x1,
|
|
886
|
+
y1: y1,
|
|
887
|
+
x2: x2,
|
|
888
|
+
y2: y2,
|
|
889
|
+
lineWidth: lineWidth
|
|
890
|
+
});
|
|
891
|
+
} else if (Mobile.isIOS()) {
|
|
892
|
+
lpapiModel.jsDrawLine([x1, y1, x2 - x1, y2 - y1]);
|
|
893
|
+
}
|
|
894
|
+
};
|
|
895
|
+
|
|
896
|
+
/**
|
|
897
|
+
* 打印点划线。
|
|
898
|
+
* @param success 成功回调函数;
|
|
899
|
+
* @param error 失败回调函数;
|
|
900
|
+
* @param x1
|
|
901
|
+
* 线的起点的水平位置(单位mm)。
|
|
902
|
+
* @param y1
|
|
903
|
+
* 线的起点的垂直位置(单位mm)。
|
|
904
|
+
* @param x2
|
|
905
|
+
* 线的终点的水平位置(单位mm)。
|
|
906
|
+
* @param y2
|
|
907
|
+
* 线的终点的垂直位置(单位mm)。
|
|
908
|
+
* @param lineWidth
|
|
909
|
+
* 线宽(单位mm)。线宽是向线的下方延伸的。
|
|
910
|
+
* @param dashLen
|
|
911
|
+
* 点划线线段长度的数组(单位mm)。
|
|
912
|
+
* @param dashCount
|
|
913
|
+
* 点划线线段长度数组的元素个数。
|
|
914
|
+
* @return 打印成功与否。
|
|
915
|
+
*/
|
|
916
|
+
api.drawDashLine = function (x1, y1, x2, y2, lineWidth, dashLen, dashCount, success = defaultSuccess, error = defaultError) {
|
|
917
|
+
if (Mobile.isAndroid()) {
|
|
918
|
+
LPAPIPlugin.drawDashLine(success, error,{
|
|
919
|
+
x1: x1,
|
|
920
|
+
y1: y1,
|
|
921
|
+
x2: x2,
|
|
922
|
+
y2: y2,
|
|
923
|
+
lineWidth: lineWidth,
|
|
924
|
+
dashLen: dashLen,
|
|
925
|
+
dashCount: dashCount
|
|
926
|
+
});
|
|
927
|
+
} else if (Mobile.isIOS()) {
|
|
928
|
+
|
|
929
|
+
}
|
|
930
|
+
};
|
|
931
|
+
|
|
932
|
+
// /**
|
|
933
|
+
// * 打印点划线。
|
|
934
|
+
// *
|
|
935
|
+
// * @param x1
|
|
936
|
+
// * 线的起点的水平位置(单位mm)。
|
|
937
|
+
// * @param y1
|
|
938
|
+
// * 线的起点的垂直位置(单位mm)。
|
|
939
|
+
// * @param x2
|
|
940
|
+
// * 线的终点的水平位置(单位mm)。
|
|
941
|
+
// * @param y2
|
|
942
|
+
// * 线的终点的垂直位置(单位mm)。
|
|
943
|
+
// * @param lineWidth
|
|
944
|
+
// * 线宽(单位mm)。线宽是向线的下方延伸的。
|
|
945
|
+
// * @param dashLen1
|
|
946
|
+
// * 点划线第一段的长度(单位mm)。
|
|
947
|
+
// * @param dashLen2
|
|
948
|
+
// * 点划线第二段的长度(单位mm)。
|
|
949
|
+
// * @return 打印成功与否。
|
|
950
|
+
// */
|
|
951
|
+
// api.drawDashLine2 = function (x1, y1, x2, y2, lineWidth, dashLen1, dashLen2) {
|
|
952
|
+
// if (Mobile.isAndroid()) {
|
|
953
|
+
// LPAPIPlugin.drawDashLine({
|
|
954
|
+
// x1: x1,
|
|
955
|
+
// y1: y1,
|
|
956
|
+
// x2: x2,
|
|
957
|
+
// y2: y2,
|
|
958
|
+
// lineWidth: lineWidth,
|
|
959
|
+
// dashLen1: dashLen1,
|
|
960
|
+
// dashLen2: dashLen2
|
|
961
|
+
// });
|
|
962
|
+
// } else if (Mobile.isIOS()) {
|
|
963
|
+
//
|
|
964
|
+
// }
|
|
965
|
+
// };
|
|
966
|
+
|
|
967
|
+
// /**
|
|
968
|
+
// * 打印点划线。
|
|
969
|
+
// *
|
|
970
|
+
// * @param x1
|
|
971
|
+
// * 线的起点的水平位置(单位mm)。
|
|
972
|
+
// * @param y1
|
|
973
|
+
// * 线的起点的垂直位置(单位mm)。
|
|
974
|
+
// * @param x2
|
|
975
|
+
// * 线的终点的水平位置(单位mm)。
|
|
976
|
+
// * @param y2
|
|
977
|
+
// * 线的终点的垂直位置(单位mm)。
|
|
978
|
+
// * @param lineWidth
|
|
979
|
+
// * 线宽(单位mm)。线宽是向线的下方延伸的。
|
|
980
|
+
// * @param dashLen1
|
|
981
|
+
// * 点划线第一段的长度(单位mm)。
|
|
982
|
+
// * @param dashLen2
|
|
983
|
+
// * 点划线第二段的长度(单位mm)。
|
|
984
|
+
// * @param dashLen3
|
|
985
|
+
// * 点划线第三段的长度(单位mm)。
|
|
986
|
+
// * @param dashLen4
|
|
987
|
+
// * 点划线第四段的长度(单位mm)。
|
|
988
|
+
// * @return 打印成功与否。
|
|
989
|
+
// */
|
|
990
|
+
// api.drawDashLine4 = function (x1, y1, x2, y2, lineWidth, dashLen1, dashLen2, dashLen3, dashLen4) {
|
|
991
|
+
// if (Mobile.isAndroid()) {
|
|
992
|
+
// LPAPIPlugin.drawDashLine({
|
|
993
|
+
// x1: x1,
|
|
994
|
+
// y1: y1,
|
|
995
|
+
// x2: x2,
|
|
996
|
+
// y2: y2,
|
|
997
|
+
// lineWidth: lineWidth,
|
|
998
|
+
// dashLen1: dashLen1,
|
|
999
|
+
// dashLen2: dashLen2,
|
|
1000
|
+
// dashLen3: dashLen3,
|
|
1001
|
+
// dashLen4: dashLen4
|
|
1002
|
+
// });
|
|
1003
|
+
// } else if (Mobile.isIOS()) {
|
|
1004
|
+
//
|
|
1005
|
+
// }
|
|
1006
|
+
// };
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* 打印一维条码。
|
|
1010
|
+
* @param success 成功回调函数;
|
|
1011
|
+
* @param error 失败回调函数;
|
|
1012
|
+
* @param text
|
|
1013
|
+
* 需要绘制的一维条码的内容。
|
|
1014
|
+
* @param x
|
|
1015
|
+
* 绘制的一维条码的左上角水平位置(单位mm)。
|
|
1016
|
+
* @param y
|
|
1017
|
+
* 绘制的一维条码的左上角垂直位置(单位mm)。
|
|
1018
|
+
* @param width
|
|
1019
|
+
* 一维条码的整体显示宽度。
|
|
1020
|
+
* @param height
|
|
1021
|
+
* 一维条码的显示高度(包括供人识读文本)。
|
|
1022
|
+
* @param textHeight
|
|
1023
|
+
* 供人识读文本的高度(单位mm),建议为3毫米。
|
|
1024
|
+
* @param type
|
|
1025
|
+
* 一维条码的编码类型参考文档。
|
|
1026
|
+
* @return 打印成功与否?
|
|
1027
|
+
*/
|
|
1028
|
+
api.drawBarcode = function (text, x, y, width, height, textHeight, type, success = defaultSuccess, error = defaultError) {
|
|
1029
|
+
if (Mobile.isAndroid()) {
|
|
1030
|
+
LPAPIPlugin.draw1DBarcode(success, error,{
|
|
1031
|
+
text: text,
|
|
1032
|
+
type: type,
|
|
1033
|
+
x: x,
|
|
1034
|
+
y: y,
|
|
1035
|
+
width: width,
|
|
1036
|
+
height: height,
|
|
1037
|
+
textHeight: textHeight
|
|
1038
|
+
});
|
|
1039
|
+
} else if (Mobile.isIOS()) {
|
|
1040
|
+
lpapiModel.jsDrawBarcode([text, x, y, width, height, "", textHeight, 0, 2]);
|
|
1041
|
+
}
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1044
|
+
/**
|
|
1045
|
+
* 打印 QRCode 二维码。
|
|
1046
|
+
* @param success 成功回调函数;
|
|
1047
|
+
* @param error 失败回调函数;
|
|
1048
|
+
* @param text
|
|
1049
|
+
* 需要绘制的QRCode二维码的内容。
|
|
1050
|
+
* @param x
|
|
1051
|
+
* 绘制的QRCode二维码的左上角水平位置(单位mm)。
|
|
1052
|
+
* @param y
|
|
1053
|
+
* 绘制的QRCode二维码的左上角垂直位置(单位mm)。
|
|
1054
|
+
* @param width
|
|
1055
|
+
* 绘制的QRCode二维码的水平宽度(单位mm)。
|
|
1056
|
+
* @return 打印成功与否?
|
|
1057
|
+
*/
|
|
1058
|
+
api.drawQRCode = function (text, x, y, width, success = defaultSuccess, error = defaultError) {
|
|
1059
|
+
if (Mobile.isAndroid()) {
|
|
1060
|
+
LPAPIPlugin.draw2DQRCode(success, error, {
|
|
1061
|
+
text: text,
|
|
1062
|
+
x: x,
|
|
1063
|
+
y: y,
|
|
1064
|
+
width: width
|
|
1065
|
+
});
|
|
1066
|
+
} else if (Mobile.isIOS()) {
|
|
1067
|
+
lpapiModel.jsDrawQRCode([text, x, y, width]);
|
|
1068
|
+
}
|
|
1069
|
+
};
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* 打印图片。
|
|
1073
|
+
* @param success 成功回调函数;
|
|
1074
|
+
* @param error 失败回调函数;
|
|
1075
|
+
* @param image
|
|
1076
|
+
* 图片路径。
|
|
1077
|
+
* @param x
|
|
1078
|
+
* 打印对象在水平方向上的位置(单位mm)。
|
|
1079
|
+
* @param y
|
|
1080
|
+
* 打印对象在垂直方向上的位置(单位mm)。
|
|
1081
|
+
* @param width
|
|
1082
|
+
* 打印对象的宽度(单位mm)。
|
|
1083
|
+
* @param height
|
|
1084
|
+
* 打印对象的高度(单位mm)。
|
|
1085
|
+
* @param threshold
|
|
1086
|
+
* 绘制位图的灰度阀值。
|
|
1087
|
+
* 256 表示绘制灰度图片;
|
|
1088
|
+
* 257 表示绘制原色图片;
|
|
1089
|
+
* 0~255表示绘制黑白图片,原图颜色>=灰度阀值的点会被认为是白色,而原图颜色<灰度阀值的点会被认为是黑色。默认值为192。
|
|
1090
|
+
* @return 打印成功与否?
|
|
1091
|
+
*/
|
|
1092
|
+
api.drawImage = function (image, x, y, width, height, threshold, success = defaultSuccess, error = defaultError) {
|
|
1093
|
+
if (Mobile.isAndroid()) {
|
|
1094
|
+
LPAPIPlugin.drawImage(success, error, {
|
|
1095
|
+
image: image || "",
|
|
1096
|
+
x: x || 0,
|
|
1097
|
+
y: y || 0,
|
|
1098
|
+
width: width || 0,
|
|
1099
|
+
height: height || 0,
|
|
1100
|
+
threshold: threshold || ""
|
|
1101
|
+
});
|
|
1102
|
+
} else if (Mobile.isIOS()) {
|
|
1103
|
+
lpapiModel.jsDrawImage([image, x, y, width, height, threshold]);
|
|
1104
|
+
}
|
|
1105
|
+
};
|
|
1106
|
+
|
|
1107
|
+
/**用于判断当前js运行的环境是什么平台 */
|
|
1108
|
+
let Mobile = {
|
|
1109
|
+
isAndroid: function () {
|
|
1110
|
+
// 目前只支持安卓平台
|
|
1111
|
+
return true;
|
|
1112
|
+
},
|
|
1113
|
+
isIOS: function () {
|
|
1114
|
+
return false;
|
|
1115
|
+
}
|
|
1116
|
+
};
|
|
1117
|
+
|
|
1034
1118
|
export default api;
|