unify-external-plugin-platform 0.0.2 → 0.0.3-10

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.
Files changed (72) hide show
  1. package/.browserslistrc +3 -3
  2. package/README.md +52 -49
  3. package/babel.config.js +5 -5
  4. package/dist/demo.html +1 -0
  5. package/dist/external-plugin.common.js +89507 -0
  6. package/dist/external-plugin.css +1 -0
  7. package/dist/external-plugin.umd.js +89518 -0
  8. package/dist/external-plugin.umd.min.js +24 -0
  9. package/dist/fonts/element-icons.f1a45d74.ttf +0 -0
  10. package/dist/fonts/element-icons.ff18efd1.woff +0 -0
  11. package/dist/img/idcardbg1.1f8e1fc6.gif +0 -0
  12. package/dist/img/idcardbg2.2e47b05f.gif +0 -0
  13. package/package.json +39 -37
  14. package/tsconfig.json +42 -41
  15. package/vue.config.js +8 -4
  16. package/docs/.vuepress/config.js +0 -46
  17. package/docs/.vuepress/public/logo.png +0 -0
  18. package/docs/README.md +0 -15
  19. package/docs/guide/changelog.md +0 -1
  20. package/docs/guide/installation.md +0 -10
  21. package/docs/guide/quickstart.md +0 -26
  22. package/docs/plugin/README.md +0 -1
  23. package/docs/plugin/empty.md +0 -1
  24. package/packages/id-card-reader-demo/index.ts +0 -9
  25. package/packages/id-card-reader-demo/src/id-card-reader-demo.vue +0 -142
  26. package/packages/index.js +0 -29
  27. package/packages/scanner-high-camera-jieyu/index.ts +0 -14
  28. package/packages/scanner-high-camera-jieyu/src/component/scanner-high-camera-component.vue +0 -292
  29. package/packages/scanner-high-camera-jieyu/src/scanner-high-camera-jieyu.vue +0 -174
  30. package/packages/zs-empty/index.ts +0 -9
  31. package/packages/zs-empty/src/assets/images/img_blank_empty.png +0 -0
  32. package/packages/zs-empty/src/zs-empty.vue +0 -42
  33. package/public/favicon.ico +0 -0
  34. package/public/img/icons/android-chrome-192x192.png +0 -0
  35. package/public/img/icons/android-chrome-512x512.png +0 -0
  36. package/public/img/icons/android-chrome-maskable-192x192.png +0 -0
  37. package/public/img/icons/android-chrome-maskable-512x512.png +0 -0
  38. package/public/img/icons/apple-touch-icon-120x120.png +0 -0
  39. package/public/img/icons/apple-touch-icon-152x152.png +0 -0
  40. package/public/img/icons/apple-touch-icon-180x180.png +0 -0
  41. package/public/img/icons/apple-touch-icon-60x60.png +0 -0
  42. package/public/img/icons/apple-touch-icon-76x76.png +0 -0
  43. package/public/img/icons/apple-touch-icon.png +0 -0
  44. package/public/img/icons/favicon-16x16.png +0 -0
  45. package/public/img/icons/favicon-32x32.png +0 -0
  46. package/public/img/icons/msapplication-icon-144x144.png +0 -0
  47. package/public/img/icons/mstile-150x150.png +0 -0
  48. package/public/img/icons/safari-pinned-tab.svg +0 -3
  49. package/public/index.html +0 -23
  50. package/public/robots.txt +0 -2
  51. package/src/App.vue +0 -15
  52. package/src/assets/images/reg-developing.png +0 -0
  53. package/src/assets/logo.png +0 -0
  54. package/src/components/404.vue +0 -17
  55. package/src/components/HelloWorld.vue +0 -61
  56. package/src/main.ts +0 -22
  57. package/src/registerServiceWorker.ts +0 -32
  58. package/src/router/id-card-reader/id-card-reader.ts +0 -19
  59. package/src/router/index.ts +0 -46
  60. package/src/router/scan/scan.ts +0 -19
  61. package/src/shims-tsx.d.ts +0 -11
  62. package/src/shims-vue.d.ts +0 -4
  63. package/src/store/index.ts +0 -17
  64. package/src/views/AboutView.vue +0 -5
  65. package/src/views/HomeView.vue +0 -109
  66. package/src/views/id-card-reader/id-card-reader-page.vue +0 -139
  67. package/src/views/id-card-reader/model/conatant/id-card-form-attr.ts +0 -31
  68. package/src/views/id-card-reader/model/vo/id-card.ts +0 -44
  69. package/src/views/layout/home-layout.vue +0 -72
  70. package/src/views/layout/model/menu-data.ts +0 -29
  71. package/src/views/scan/scan-page.vue +0 -56
  72. /package/{packages/scanner-high-camera-jieyu/images/img_blank_empty.png → dist/img/img_blank_empty.92ddadbb.png} +0 -0
@@ -1,292 +0,0 @@
1
- <!--
2
- - @author: lvcy
3
- - @date: 2023-02-07
4
- - @description:scanner-high-camera-component
5
- -->
6
- <template>
7
- <div class="scanner-high-camera-component">
8
- <div class="scanner-result-content">
9
- <div class="content-main flex-1">
10
- <div class="load-success" v-if="loadSuccess">
11
- <img id="photo" :src="scannerResultSrc"/>
12
- </div>
13
- <div class="load-error" v-else>
14
- <i class="el-icon-s-cooperation"></i>
15
- <p>请先安装插件</p>
16
- </div>
17
- </div>
18
- <div class="handle-action">
19
- <el-select v-model="camera" @change="selectChange" size="small" class="select">
20
- <el-option v-for="item in cameras" :key="item.value" :label="item.name" :value="item.value">
21
- </el-option>
22
- </el-select>
23
- <template
24
- v-for="item in buttonList"
25
- >
26
- <el-button
27
- :key="item.name"
28
- type="primary"
29
- size="small"
30
- @click="handleAction(item.name)"
31
- >{{ item.label }}</el-button>
32
- </template>
33
- </div>
34
- </div>
35
- </div>
36
- </template>
37
-
38
- <script lang="ts">
39
- import {Component, Vue} from "vue-property-decorator";
40
-
41
-
42
- const BEGIN_DATA = 'data:image/jpeg;base64,';
43
-
44
- @Component({
45
- name: "scanner-high-camera-component"
46
- })
47
- export default class ScannerHighCameraComponent extends Vue {
48
- totalTimeLength: number = 0;
49
- timeLength: string = '';
50
- timer: number = 0;
51
- str1: string = '';
52
- str2: string = '';
53
- webSocket: any;
54
-
55
- scannerResultSrc = '';
56
-
57
- loadSuccess = true;
58
-
59
- camera = 0;
60
-
61
- cameras = [
62
- {name: '文档', value: 0},
63
- {name: '照片', value: 1}
64
- ]
65
-
66
-
67
-
68
- buttonList = [
69
- // {label: '启动主', name: 'start-main'},
70
- // {label: '旋转启动主', name: 'rotation'},
71
- // {label: '启动副', name: 'start-vice'},
72
- // {label: '停止', name: 'stop'},
73
- // {label: '自动对焦', name: 'autofocus'},
74
- // {label: '去黑边', name: 'Black edge'},
75
- // {label: 'Base64', name: 'base64'},
76
- // {label: '开始录屏', name: 'start-record'},
77
- // {label: '停止录屏', name: 'stop-record'},
78
- {label: '拍照', name: 'take-pictures'},
79
- // {label: '设置去灰底', name: ''},
80
- // {label: 'FILTER设置', name: ''},
81
- // {label: 'PIN设置', name: ''},
82
- // {label: '自动寻边', name: ''},
83
- // {label: '身份证自动寻边', name: ''},
84
- // {label: 'vSetExposure', name: ''},
85
- // {label: 'vSetBrightness', name: ''},
86
- // {label: 'vSetContrast', name: ''},
87
- // {label: '设置分辨率', name: ''},
88
- ]
89
-
90
- mounted () {
91
- this.webSocket = new WebSocket('ws://127.0.0.1:1818');
92
-
93
- window.onbeforeunload = () => {
94
- this.webSocket.send("bStopPlay()");
95
- this.webSocket.send("bStopPlay4()");
96
- };
97
-
98
-
99
- this.webSocket.onerror = (event) => {
100
- this.onError(event);
101
- };
102
-
103
- this.webSocket.onopen = (event) => {
104
- this.onOpen(event);
105
- };
106
-
107
- this.webSocket.onclose = (event) => {
108
- this.onClose(event);
109
- this.webSocket.send("bStopPlay()");
110
- };
111
-
112
- this.webSocket.onmessage = (event) => {
113
- this.onMessage(event)
114
- }
115
-
116
- setTimeout(() => {
117
- this.handleAction('start-main')
118
- }, 800)
119
-
120
- }
121
-
122
- destroyed () {
123
- this.handleAction('stop');
124
- this.webSocket.close();
125
- }
126
-
127
- selectChange(val) {
128
- let handleName = val === 1 ? 'start-vice' : 'start-main';
129
- this.handleAction(handleName);
130
- }
131
-
132
- handleAction(name) {
133
- switch (name) {
134
- case 'start-main':
135
- this.StartPlay_onclick()
136
- break;
137
- case 'rotation':
138
- this.start('bStartPlayRotate(90)');
139
- break;
140
- case 'start-vice':
141
- this.start('bStartPlay2');
142
- break;
143
- case 'stop':
144
- this.start('bStopPlay');
145
- break;
146
- case 'autofocus':
147
- this.start('AutoFocus');
148
- break;
149
- case 'Black edge':
150
- this.start('vSetDelHBFlag(true)');
151
- break;
152
- case 'base64':
153
- this.start('sGetBase64');
154
- break;
155
- case 'start-record':
156
- this.start('bStartRec(d:\\test.avi)');
157
- break;
158
- case 'stop-record':
159
- this.start('bStopRec');
160
- break;
161
- case 'take-pictures':
162
- this.start('bSaveJPG(D:\\,Photo)');
163
- this.$emit('send-scanner-result', this.scannerResultSrc);
164
- break;
165
-
166
- }
167
- }
168
-
169
- timeGo() {
170
- this.totalTimeLength++;
171
- let Hour: number = 0,
172
- Minue: number = 0,
173
- Second: number = 0;
174
- Hour = Math.floor(this.totalTimeLength / 3600);
175
- Minue = Math.floor((this.totalTimeLength / 60) % 60);
176
- Second = Math.floor(this.totalTimeLength % 60);
177
- this.timeLength = Hour + "时" + Minue + "分" + Second + "秒";
178
- }
179
-
180
- onMessage(event) {
181
- if (event.data.indexOf('BarCodeTransferBegin') >= 0) {
182
- console.log(event.data.replace('BarCodeTransferBegin', '').replace('BarCodeTransferEnd', ''));
183
- } else if (event.data.indexOf('BeginbSaveJPG') >= 0) {
184
- this.str1 = event.data.replace('BeginbSaveJPG', '').replace('EndbSaveJPG', '');
185
- console.log(this.str1);
186
- } else if (event.data.indexOf('BeginbStopPlay') >= 0) {
187
- console.log(event.data);
188
- console.log(event.data.replace('BeginbStopPlay', '').replace('EndbStopPlay', ''));
189
- } else if (event.data.indexOf('BeginvSetResolution') >= 0) {
190
- console.log(event.data.replace('BeginvSetResolution', '').replace('EndvSetResolution', ''));
191
- } else if (event.data.indexOf('BeginvSetRemoveGBFlag') >= 0) {
192
- console.log(event.data.replace('BeginvSetRemoveGBFlag', '').replace('EndvSetRemoveGBFlag', ''));
193
- } else if (event.data.indexOf('BeginbFileExist') >= 0) {
194
- console.log(event.data.replace('BeginbFileExist', '').replace('EndbFileExist', ''));
195
- } else if (event.data.indexOf('BeginbStartPlay2') >= 0) {
196
- console.log(event.data.replace('BeginbStartPlay2', '').replace('EndbStartPlay2', ''));
197
- } else if (event.data.indexOf('BeginbStartPlay') >= 0) {
198
- console.log(event.data.replace('BeginbStartPlay', '').replace('EndbStartPlay', ''));
199
- } else if (event.data.indexOf('BeginbSetMode') >= 0) {
200
- console.log(event.data.replace('BeginbSetMode', '').replace('EndbSetMode', ''));
201
- } else {
202
- this.scannerResultSrc = `${BEGIN_DATA}${event.data}`;
203
- this.$emit('send-scanner-result', this.scannerResultSrc);
204
- }
205
- }
206
-
207
- onError(event) {
208
- console.log('error', event.data);
209
- this.loadSuccess = false;
210
- }
211
- onClose(event) {
212
- this.webSocket.send("bStopPlay()");
213
- this.webSocket.send("bStopPlay4()");
214
- }
215
- onOpen(event) {
216
-
217
- }
218
-
219
- start(el) {
220
- if (el == 'bStartRec(d:\\test.avi)') {
221
- this.timer = window.setInterval(this.timeGo, 1000);
222
- }
223
- if (el == 'bStopRec') {
224
- window.clearInterval(this.timer);
225
- this.totalTimeLength = 0;
226
- console.log("录屏结束");
227
- }
228
- this.webSocket.send(el);
229
- return false;
230
- }
231
-
232
- vout_OnClick() {
233
-
234
- }
235
-
236
-
237
- Stop_onclick() {
238
- this.webSocket.send("bStopPlay()");
239
- }
240
-
241
- StartPlay_onclick() {
242
- this.webSocket.send("vSetResolution(8)");
243
- this.webSocket.send("bStartPlay()");
244
- // this.loadSuccess = true
245
- }
246
- }
247
- </script>
248
-
249
- <style scoped lang="scss">
250
- .scanner-high-camera-component {
251
- height: 100%;
252
- .scanner-result-content {
253
- height: 100%;
254
- display: flex;
255
- flex-direction: column;
256
- .content-main {
257
- flex: 1;
258
- background-color: #F7F7F7;
259
- }
260
-
261
- .load-success,
262
- .load-error {
263
- height: 100%;
264
- display: flex;
265
- flex-direction: column;
266
- justify-content: center;
267
- align-items: center;
268
- text-align: center;
269
- }
270
-
271
- .load-error {
272
- color: #999999;
273
- i {
274
- font-size: 88px;
275
- }
276
- p {
277
- font-size: 16px;
278
-
279
- line-height: 30px;
280
- }
281
- }
282
-
283
- .handle-action {
284
- margin: 10px 0;
285
- .select {
286
- margin-right: 15px;
287
- }
288
- }
289
-
290
- }
291
- }
292
- </style>
@@ -1,174 +0,0 @@
1
- <!--
2
- - @author: lvcy
3
- - @date: 2023-01-09
4
- - @description:scanner-high-camera-jieyu
5
- -->
6
- <template>
7
- <div class="scanner-high-camera-container">
8
- <div class="scanner-high-camera-button" v-if="openMode === 'dialog'">
9
- <el-tooltip
10
- :content="tip"
11
- class="id-card-reader-demo"
12
- placement="top"
13
- v-if="tip"
14
- >
15
- <el-button
16
- @click="openScanDialog"
17
- v-bind="{
18
- disabled,
19
- icon,
20
- loading,
21
- plain,
22
- round,
23
- size,
24
- type,
25
- class: _className,
26
- }"
27
- >
28
- <slot>{{ label }}</slot>
29
- </el-button>
30
- </el-tooltip>
31
- <el-button
32
- v-else
33
- @click="openScanDialog"
34
- v-bind="{
35
- disabled,
36
- icon,
37
- loading,
38
- plain,
39
- round,
40
- size,
41
- type,
42
- class: _className,
43
- }"
44
- >
45
- <slot>{{ label }}</slot>
46
- </el-button>
47
-
48
- <el-dialog
49
- class="scanner-high-camera-dialog"
50
- title="影像扫描"
51
- :visible.sync="dialogVisible"
52
- width="60%"
53
- >
54
- <scanner-high-camera-component
55
- v-if="dialogVisible"
56
- @send-scanner-result="setScannerResult"
57
- ></scanner-high-camera-component>
58
- <span slot="footer" class="dialog-footer">
59
- <el-button size="small" @click="dialogVisible = false">取 消</el-button>
60
- <el-button size="small" type="primary" @click="sendScannerResult">确 定</el-button>
61
- </span>
62
- </el-dialog>
63
- </div>
64
-
65
- <scanner-high-camera-component v-else @send-scanner-result="setScannerResult"></scanner-high-camera-component>
66
- </div>
67
- </template>
68
-
69
- <script lang="ts">
70
- import {Component, Prop, Vue} from "vue-property-decorator";
71
- import ScannerHighCameraComponent from "./component/scanner-high-camera-component.vue";
72
- import {ElementUIComponentSize} from "element-ui/types/component";
73
- import {ButtonType} from "element-ui/types/button";
74
-
75
- @Component({
76
- name: 'scanner-high-camera-jieyu',
77
- components: {ScannerHighCameraComponent}
78
- })
79
- export default class ScannerHighCameraJieyu extends Vue {
80
- @Prop({default: ''})
81
- openMode?: 'dialog' | 'iframe';
82
-
83
- @Prop()
84
- label!: string
85
-
86
- @Prop()
87
- tip!: string
88
-
89
- @Prop()
90
- className!: string | string[]
91
-
92
- /** Button size */
93
- @Prop()
94
- size!: ElementUIComponentSize
95
-
96
- /** Button type */
97
- @Prop()
98
- type!: ButtonType
99
-
100
- /** Determine whether it's a plain button */
101
- @Prop()
102
- plain!: boolean
103
-
104
- /** Determine whether it's a round button */
105
- @Prop()
106
- round!: boolean
107
-
108
- /** Determine whether it's loading */
109
- @Prop()
110
- loading!: boolean
111
-
112
- /** Button icon, accepts an icon name of Element icon component */
113
- @Prop({default: 'el-icon-postcard'})
114
- icon!: string
115
-
116
- @Prop({default: false})
117
- disabled?: boolean
118
-
119
- dialogVisible: boolean = false;
120
-
121
- scannerResult = '';
122
-
123
- get _className() {
124
- const classBase = ['z-button']
125
-
126
- if (this.type === 'text') {
127
- classBase.push('i-font-size')
128
- }
129
-
130
- if (!this.className) {
131
- return classBase
132
- } else if (typeof this.className === 'string') {
133
- classBase.push(this.className)
134
- } else {
135
- classBase.push(...this.className)
136
- }
137
- return classBase
138
- }
139
-
140
-
141
- openScanDialog() {
142
- this.dialogVisible = true;
143
- }
144
-
145
- setScannerResult(src) {
146
- this.scannerResult = src;
147
- if (this.openMode !== 'dialog') {
148
- this.$emit('send-scanner-result', this.scannerResult);
149
- }
150
- }
151
-
152
- sendScannerResult() {
153
- if (this.scannerResult) {
154
- this.$emit('send-scanner-result', this.scannerResult);
155
- this.dialogVisible = false;
156
- }
157
-
158
- }
159
- }
160
- </script>
161
-
162
- <style lang="scss">
163
- .scanner-high-camera-container {
164
- height: 100%;
165
-
166
- .scanner-high-camera-dialog {
167
- .el-dialog__body {
168
- height: 536px;
169
- padding: 0 20px;
170
- margin-bottom: -52px;
171
- }
172
- }
173
- }
174
- </style>
@@ -1,9 +0,0 @@
1
- import ZSEmpty from './src/zs-empty.vue';
2
-
3
- // 组件的install方法用于按需引入
4
- // @ts-ignore
5
- ZSEmpty.install = (Vue) => {
6
- Vue.component(ZSEmpty.name, ZSEmpty)
7
- };
8
-
9
- export default ZSEmpty;
@@ -1,42 +0,0 @@
1
- <template>
2
- <div class="zs-empty">
3
- <img src="./assets/images/img_blank_empty.png" />
4
- <p class="empty-text">{{ emptyTip }}</p>
5
- </div>
6
- </template>
7
-
8
- <script lang="ts">
9
- import {Component, Prop, Vue} from "vue-property-decorator";
10
-
11
-
12
-
13
- @Component({
14
- name: "ZSEmpty"
15
- })
16
- export default class ZSEmpty extends Vue {
17
- @Prop({default: '暂无数据'})
18
- emptyTip?: string;
19
- }
20
- </script>
21
-
22
- <style scoped lang="scss">
23
- .zs-empty {
24
- display: flex;
25
- flex-direction: column;
26
- align-items: center;
27
- position: relative;
28
- img{
29
- width:454px;
30
- }
31
- .empty-text{
32
- font-size: 14px;
33
- font-family: PingFangSC-Regular, PingFang SC;
34
- font-weight: 400;
35
- color: #969899;
36
- line-height: 28px;
37
- position: absolute;
38
- top:322px;
39
-
40
- }
41
- }
42
- </style>
Binary file
Binary file
Binary file
Binary file
@@ -1,3 +0,0 @@
1
- <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M8.00251 14.9297L0 1.07422H6.14651L8.00251 4.27503L9.84583 1.07422H16L8.00251 14.9297Z" fill="black"/>
3
- </svg>
package/public/index.html DELETED
@@ -1,23 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
- <link rel="icon" href="<%= BASE_URL %>favicon.ico">
8
- <title><%= htmlWebpackPlugin.options.title %></title>
9
- <style type="text/css">
10
- * {
11
- margin: 0;
12
- padding: 0;
13
- }
14
- </style>
15
- </head>
16
- <body>
17
- <noscript>
18
- <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
19
- </noscript>
20
- <div id="app"></div>
21
- <!-- built files will be auto injected -->
22
- </body>
23
- </html>
package/public/robots.txt DELETED
@@ -1,2 +0,0 @@
1
- User-agent: *
2
- Disallow:
package/src/App.vue DELETED
@@ -1,15 +0,0 @@
1
- <template>
2
- <div id="app">
3
- <!-- <nav>-->
4
- <!-- <router-link to="/">Home</router-link> |-->
5
- <!-- <router-link to="/about">About</router-link>-->
6
- <!-- </nav>-->
7
- <router-view/>
8
- </div>
9
- </template>
10
-
11
- <style lang="scss">
12
- html, body, #app {
13
- height: 100vh;
14
- }
15
- </style>
Binary file
@@ -1,17 +0,0 @@
1
- <template>
2
- <div class="bg">
3
- <div class="image-wrapper">
4
- <img style="height:350px" src="../assets/images/reg-developing.png">
5
- </div>
6
- </div>
7
- </template>
8
- <style scoped>
9
- .bg {
10
- height: 100%;
11
- background-color: #fff;
12
- display: flex;
13
- justify-content: center;
14
- align-items: center;
15
- }
16
-
17
- </style>