react_hsbc_teller 2.0.54 → 2.0.56
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/.babelrc +39 -39
- package/README.en.md +36 -36
- package/README.md +329 -323
- package/config/webpack.config.js +119 -119
- package/config/webpack.dev.js +108 -108
- package/config/webpack.prod.js +104 -104
- package/lib/hsbc.js +1 -1
- package/lib/hsbc.js.LICENSE.txt +13 -16
- package/package.json +110 -110
- package/packages/api/api.js +818 -818
- package/packages/api/server.js +50 -50
- package/packages/common/index.esm.js +374 -374
- package/packages/demo/demo.js +306 -306
- package/packages/demo/index.js +3 -3
- package/packages/demo/pdf.js +94 -94
- package/packages/envconfig/envconfig.js +12 -12
- package/packages/index.js +2 -2
- package/packages/pages/components/step/step.jsx +32 -31
- package/packages/pages/foot/foot.jsx +235 -235
- package/packages/pages/foot/foot.less +85 -85
- package/packages/pages/header/header.jsx +15 -15
- package/packages/pages/header/header.less +51 -51
- package/packages/pages/index.jsx +52 -52
- package/packages/pages/multiModule/components/copy/agree.jsx +115 -115
- package/packages/pages/multiModule/components/copy/agree.less +105 -105
- package/packages/pages/multiModule/components/copy/copyTwo.jsx +682 -682
- package/packages/pages/multiModule/components/copy/copyTwo.less +180 -180
- package/packages/pages/multiModule/components/copy/copy_en.jsx +368 -368
- package/packages/pages/multiModule/components/copy/copy_en.less +145 -145
- package/packages/pages/multiModule/components/copy/copylist.jsx +291 -291
- package/packages/pages/multiModule/components/copy/copylist.less +83 -83
- package/packages/pages/multiModule/components/copy/risk.jsx +296 -296
- package/packages/pages/multiModule/components/copy/risk.less +123 -123
- package/packages/pages/multiModule/components/sign/signMy.jsx +308 -308
- package/packages/pages/multiModule/components/sign/signMy.less +127 -127
- package/packages/pages/multiModule/components/subscribe/subscribe.jsx +113 -113
- package/packages/pages/multiModule/components/subscribe/subscribe.less +82 -82
- package/packages/pages/multiModule/multiModule.jsx +26 -26
- package/packages/pages/multiModule/multiModule.less +19 -19
- package/packages/pages/sign/signMy.jsx +223 -223
- package/packages/pages/sign/signMy.less +129 -129
- package/packages/pages/video/video.jsx +7746 -7745
- package/packages/pages/video/video.less +715 -715
- package/packages/style/index.less +1 -1
- package/packages/style/reset.less +345 -345
- package/packages/utils/asrController.js +259 -259
- package/packages/utils/asyncComponent.jsx +26 -26
- package/packages/utils/mixin.js +27 -27
- package/packages/utils/setRem.js +10 -10
- package/packages/utils/utils.js +199 -199
- package/public/index.html +77 -77
- package/src/index.js +11 -11
- package/src/index.less +5 -5
- package/tsconfig.json +11 -11
package/packages/utils/utils.js
CHANGED
|
@@ -1,199 +1,199 @@
|
|
|
1
|
-
function compressImage(base64, callback) {
|
|
2
|
-
var targSize = 1024 * 1024 * 1.45 //1024KB
|
|
3
|
-
if (base64.length <= targSize) {
|
|
4
|
-
callback(base64);
|
|
5
|
-
// console.log("直接返回")
|
|
6
|
-
return
|
|
7
|
-
}
|
|
8
|
-
var newImage = new Image();
|
|
9
|
-
newImage.src = base64;
|
|
10
|
-
console.log('压缩前'+base64.length)
|
|
11
|
-
newImage.setAttribute("crossOrigin", 'Anonymous'); //url为外域时需要
|
|
12
|
-
newImage.onload = function () {
|
|
13
|
-
var quality = 0.95; //压缩系数0-1之间
|
|
14
|
-
var canvas = document.createElement("canvas");
|
|
15
|
-
var ctx = canvas.getContext("2d");
|
|
16
|
-
canvas.width = 720
|
|
17
|
-
canvas.height = 405
|
|
18
|
-
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
19
|
-
ctx.drawImage(newImage, 0, 0, canvas.width, canvas.height);
|
|
20
|
-
var base64 = canvas.toDataURL("image/png", quality); //压缩语句
|
|
21
|
-
// 如想确保图片压缩到自己想要的尺寸,如要求在5-10kb之间,请加以下语句,quality初始值根据情况自定
|
|
22
|
-
// console.log(base64.length + "循环1压缩" + (base64.length / 1024 > 512))
|
|
23
|
-
|
|
24
|
-
// while (base64.length > targSize) {
|
|
25
|
-
// quality -= 0.03;
|
|
26
|
-
// // console.log(base64.length + "循环压缩" + quality)
|
|
27
|
-
// base64 = canvas.toDataURL("image/png", quality);
|
|
28
|
-
// }
|
|
29
|
-
console.log('压缩后'+base64.length)
|
|
30
|
-
callback(base64); //必须通过回调函数返回,否则无法及时拿到该值
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function debounce(fn, delay = 500) {
|
|
34
|
-
// 是闭包中的
|
|
35
|
-
let timer
|
|
36
|
-
|
|
37
|
-
// input事件调用的函数,相当于obj调用函数 this指向Input
|
|
38
|
-
return function() {
|
|
39
|
-
// 这个if 判断不做也没关系,判断了(除第一次非空的情况)也就是执行从第二次开始,在延迟时间内多次触发才会走该判断
|
|
40
|
-
if(timer) {clearTimeout(timer)}
|
|
41
|
-
// 此时的箭头函数的this 和 arguments 都是从外部函数继承而来
|
|
42
|
-
// 如果用普通函数就要用词法作用域 var tshat = this var arg = arguments
|
|
43
|
-
timer = setTimeout(() =>{
|
|
44
|
-
// 使得传入的回调函数的this 指向Input这个元素对象
|
|
45
|
-
// arguments是该事件的详情,可以获得该函数被调用时的所有参数,是一个event 对象(所有Dom事件都会传event对象进入)
|
|
46
|
-
// 直接使用 fn() 问题也不大
|
|
47
|
-
fn.apply(this,arguments)
|
|
48
|
-
timer = null
|
|
49
|
-
},delay)
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function isLight(src, sensitivity = 1) {
|
|
53
|
-
let gray = new cv.Mat()
|
|
54
|
-
cv.cvtColor(src, gray, cv.COLOR_BGR2GRAY)
|
|
55
|
-
let sum = 0;
|
|
56
|
-
let avg = 0;
|
|
57
|
-
let scalar = new cv.Scalar()
|
|
58
|
-
let ls = new Array();
|
|
59
|
-
let size = gray.rows * gray.cols;
|
|
60
|
-
for (let i = 0; i < 256; i++)
|
|
61
|
-
ls[i] = 0;
|
|
62
|
-
|
|
63
|
-
for (let i = 0; i < gray.rows; i++)
|
|
64
|
-
{
|
|
65
|
-
for (let j = 0; j < gray.cols; j++)
|
|
66
|
-
{
|
|
67
|
-
scalar = gray.ucharPtr(i, j);
|
|
68
|
-
sum += (scalar[0] - 128);
|
|
69
|
-
let x = scalar[0];
|
|
70
|
-
ls[x]++;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
avg = sum / size;
|
|
74
|
-
let total = 0;
|
|
75
|
-
let mean = 0;
|
|
76
|
-
for (let i = 0; i < 256; i++)
|
|
77
|
-
{
|
|
78
|
-
total += Math.abs((i - 128) - avg) * ls[i];
|
|
79
|
-
}
|
|
80
|
-
mean = total / size;
|
|
81
|
-
let cast = Math.abs(avg / mean);
|
|
82
|
-
|
|
83
|
-
// 调用delete释放堆的内存
|
|
84
|
-
gray.delete();
|
|
85
|
-
|
|
86
|
-
console.log('亮度值:', cast)
|
|
87
|
-
if (typeof sensitivity == 'number') {
|
|
88
|
-
console.log('灵敏系数:', sensitivity)
|
|
89
|
-
console.log('计算值(<1正常):', cast * sensitivity)
|
|
90
|
-
} else {
|
|
91
|
-
console.error('sensitivity param should be type of number')
|
|
92
|
-
sensitivity = 1
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
//std::cout << "亮度异常值:" << cast << std::endl;
|
|
96
|
-
if (cast * sensitivity > 1)
|
|
97
|
-
{
|
|
98
|
-
if (avg > 0)
|
|
99
|
-
{
|
|
100
|
-
console.log('亮度异常 过亮:')
|
|
101
|
-
//std::cout << "亮度异常 过亮" << avg << std::endl;
|
|
102
|
-
return 1;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
console.log('亮度异常 过暗')
|
|
106
|
-
//std::cout << "亮度异常 过暗" << avg << std::endl;
|
|
107
|
-
return -1;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
else
|
|
111
|
-
{
|
|
112
|
-
console.log('亮度正常')
|
|
113
|
-
//std::cout << "normal" << std::endl;
|
|
114
|
-
return 0;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
function combineBase64Images(image1, image2, callback) {
|
|
120
|
-
// console.log(image1, image2)
|
|
121
|
-
// 创建Canvas元素
|
|
122
|
-
var canvas = document.createElement('canvas');
|
|
123
|
-
var ctx = canvas.getContext('2d');
|
|
124
|
-
|
|
125
|
-
// 加载第一张图片
|
|
126
|
-
var img1 = new Image();
|
|
127
|
-
img1.onload = function() {
|
|
128
|
-
|
|
129
|
-
// 加载第二张图片
|
|
130
|
-
var img2 = new Image();
|
|
131
|
-
img2.onload = function() {
|
|
132
|
-
|
|
133
|
-
// 设置Canvas的宽度和高度
|
|
134
|
-
const imageWidth = 1280;
|
|
135
|
-
const imageHeight = 720;
|
|
136
|
-
canvas.width = imageWidth ; // 不压缩的话是 1280 x 720
|
|
137
|
-
canvas.height = imageHeight * 2;
|
|
138
|
-
|
|
139
|
-
console.log(img1.width, img1.height)
|
|
140
|
-
console.log(img2.width, img2.height)
|
|
141
|
-
|
|
142
|
-
// 绘制第一张图片
|
|
143
|
-
ctx.drawImage(img1, 0, 0, imageWidth, imageHeight);
|
|
144
|
-
// 绘制第二张图片在第一张图片下方
|
|
145
|
-
ctx.drawImage(img2, 0, imageHeight, imageWidth, imageHeight);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
// 导出拼接后的图片为base64
|
|
149
|
-
var combinedImageData = canvas.toDataURL('image/png');
|
|
150
|
-
|
|
151
|
-
// 执行回调函数,返回base64字符串
|
|
152
|
-
callback(combinedImageData);
|
|
153
|
-
console.log(combinedImageData)
|
|
154
|
-
|
|
155
|
-
};
|
|
156
|
-
img2.src = image2;
|
|
157
|
-
};
|
|
158
|
-
img1.src = image1;
|
|
159
|
-
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
function saveBase64Image(base64Data, fileName) {
|
|
163
|
-
// 将base64字符串转换为Blob对象
|
|
164
|
-
let arr = base64Data.split(',');
|
|
165
|
-
let mime = arr[0].match(/:(.*?);/)[1];
|
|
166
|
-
let bstr = atob(arr[1]);
|
|
167
|
-
let n = bstr.length;
|
|
168
|
-
let u8arr = new Uint8Array(n);
|
|
169
|
-
|
|
170
|
-
while (n--) {
|
|
171
|
-
u8arr[n] = bstr.charCodeAt(n);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
let blob = new Blob([u8arr], { type: mime });
|
|
175
|
-
|
|
176
|
-
// 创建一个指向Blob对象的URL
|
|
177
|
-
let url = URL.createObjectURL(blob);
|
|
178
|
-
|
|
179
|
-
// 创建一个a标签用于下载
|
|
180
|
-
let link = document.createElement('a');
|
|
181
|
-
link.href = url;
|
|
182
|
-
link.download = fileName + '.jpg';
|
|
183
|
-
document.body.appendChild(link);
|
|
184
|
-
|
|
185
|
-
// 触发下载
|
|
186
|
-
link.click();
|
|
187
|
-
|
|
188
|
-
// 清理并移除元素和对象URL
|
|
189
|
-
document.body.removeChild(link);
|
|
190
|
-
URL.revokeObjectURL(url);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
export {
|
|
194
|
-
compressImage,
|
|
195
|
-
debounce,
|
|
196
|
-
isLight,
|
|
197
|
-
combineBase64Images,
|
|
198
|
-
saveBase64Image
|
|
199
|
-
}
|
|
1
|
+
function compressImage(base64, callback) {
|
|
2
|
+
var targSize = 1024 * 1024 * 1.45 //1024KB
|
|
3
|
+
if (base64.length <= targSize) {
|
|
4
|
+
callback(base64);
|
|
5
|
+
// console.log("直接返回")
|
|
6
|
+
return
|
|
7
|
+
}
|
|
8
|
+
var newImage = new Image();
|
|
9
|
+
newImage.src = base64;
|
|
10
|
+
console.log('压缩前'+base64.length)
|
|
11
|
+
newImage.setAttribute("crossOrigin", 'Anonymous'); //url为外域时需要
|
|
12
|
+
newImage.onload = function () {
|
|
13
|
+
var quality = 0.95; //压缩系数0-1之间
|
|
14
|
+
var canvas = document.createElement("canvas");
|
|
15
|
+
var ctx = canvas.getContext("2d");
|
|
16
|
+
canvas.width = 720
|
|
17
|
+
canvas.height = 405
|
|
18
|
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
19
|
+
ctx.drawImage(newImage, 0, 0, canvas.width, canvas.height);
|
|
20
|
+
var base64 = canvas.toDataURL("image/png", quality); //压缩语句
|
|
21
|
+
// 如想确保图片压缩到自己想要的尺寸,如要求在5-10kb之间,请加以下语句,quality初始值根据情况自定
|
|
22
|
+
// console.log(base64.length + "循环1压缩" + (base64.length / 1024 > 512))
|
|
23
|
+
|
|
24
|
+
// while (base64.length > targSize) {
|
|
25
|
+
// quality -= 0.03;
|
|
26
|
+
// // console.log(base64.length + "循环压缩" + quality)
|
|
27
|
+
// base64 = canvas.toDataURL("image/png", quality);
|
|
28
|
+
// }
|
|
29
|
+
console.log('压缩后'+base64.length)
|
|
30
|
+
callback(base64); //必须通过回调函数返回,否则无法及时拿到该值
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function debounce(fn, delay = 500) {
|
|
34
|
+
// 是闭包中的
|
|
35
|
+
let timer
|
|
36
|
+
|
|
37
|
+
// input事件调用的函数,相当于obj调用函数 this指向Input
|
|
38
|
+
return function() {
|
|
39
|
+
// 这个if 判断不做也没关系,判断了(除第一次非空的情况)也就是执行从第二次开始,在延迟时间内多次触发才会走该判断
|
|
40
|
+
if(timer) {clearTimeout(timer)}
|
|
41
|
+
// 此时的箭头函数的this 和 arguments 都是从外部函数继承而来
|
|
42
|
+
// 如果用普通函数就要用词法作用域 var tshat = this var arg = arguments
|
|
43
|
+
timer = setTimeout(() =>{
|
|
44
|
+
// 使得传入的回调函数的this 指向Input这个元素对象
|
|
45
|
+
// arguments是该事件的详情,可以获得该函数被调用时的所有参数,是一个event 对象(所有Dom事件都会传event对象进入)
|
|
46
|
+
// 直接使用 fn() 问题也不大
|
|
47
|
+
fn.apply(this,arguments)
|
|
48
|
+
timer = null
|
|
49
|
+
},delay)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function isLight(src, sensitivity = 1) {
|
|
53
|
+
let gray = new cv.Mat()
|
|
54
|
+
cv.cvtColor(src, gray, cv.COLOR_BGR2GRAY)
|
|
55
|
+
let sum = 0;
|
|
56
|
+
let avg = 0;
|
|
57
|
+
let scalar = new cv.Scalar()
|
|
58
|
+
let ls = new Array();
|
|
59
|
+
let size = gray.rows * gray.cols;
|
|
60
|
+
for (let i = 0; i < 256; i++)
|
|
61
|
+
ls[i] = 0;
|
|
62
|
+
|
|
63
|
+
for (let i = 0; i < gray.rows; i++)
|
|
64
|
+
{
|
|
65
|
+
for (let j = 0; j < gray.cols; j++)
|
|
66
|
+
{
|
|
67
|
+
scalar = gray.ucharPtr(i, j);
|
|
68
|
+
sum += (scalar[0] - 128);
|
|
69
|
+
let x = scalar[0];
|
|
70
|
+
ls[x]++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
avg = sum / size;
|
|
74
|
+
let total = 0;
|
|
75
|
+
let mean = 0;
|
|
76
|
+
for (let i = 0; i < 256; i++)
|
|
77
|
+
{
|
|
78
|
+
total += Math.abs((i - 128) - avg) * ls[i];
|
|
79
|
+
}
|
|
80
|
+
mean = total / size;
|
|
81
|
+
let cast = Math.abs(avg / mean);
|
|
82
|
+
|
|
83
|
+
// 调用delete释放堆的内存
|
|
84
|
+
gray.delete();
|
|
85
|
+
|
|
86
|
+
console.log('亮度值:', cast)
|
|
87
|
+
if (typeof sensitivity == 'number') {
|
|
88
|
+
console.log('灵敏系数:', sensitivity)
|
|
89
|
+
console.log('计算值(<1正常):', cast * sensitivity)
|
|
90
|
+
} else {
|
|
91
|
+
console.error('sensitivity param should be type of number')
|
|
92
|
+
sensitivity = 1
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
//std::cout << "亮度异常值:" << cast << std::endl;
|
|
96
|
+
if (cast * sensitivity > 1)
|
|
97
|
+
{
|
|
98
|
+
if (avg > 0)
|
|
99
|
+
{
|
|
100
|
+
console.log('亮度异常 过亮:')
|
|
101
|
+
//std::cout << "亮度异常 过亮" << avg << std::endl;
|
|
102
|
+
return 1;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
console.log('亮度异常 过暗')
|
|
106
|
+
//std::cout << "亮度异常 过暗" << avg << std::endl;
|
|
107
|
+
return -1;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else
|
|
111
|
+
{
|
|
112
|
+
console.log('亮度正常')
|
|
113
|
+
//std::cout << "normal" << std::endl;
|
|
114
|
+
return 0;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function combineBase64Images(image1, image2, callback) {
|
|
120
|
+
// console.log(image1, image2)
|
|
121
|
+
// 创建Canvas元素
|
|
122
|
+
var canvas = document.createElement('canvas');
|
|
123
|
+
var ctx = canvas.getContext('2d');
|
|
124
|
+
|
|
125
|
+
// 加载第一张图片
|
|
126
|
+
var img1 = new Image();
|
|
127
|
+
img1.onload = function() {
|
|
128
|
+
|
|
129
|
+
// 加载第二张图片
|
|
130
|
+
var img2 = new Image();
|
|
131
|
+
img2.onload = function() {
|
|
132
|
+
|
|
133
|
+
// 设置Canvas的宽度和高度
|
|
134
|
+
const imageWidth = 1280;
|
|
135
|
+
const imageHeight = 720;
|
|
136
|
+
canvas.width = imageWidth ; // 不压缩的话是 1280 x 720
|
|
137
|
+
canvas.height = imageHeight * 2;
|
|
138
|
+
|
|
139
|
+
console.log(img1.width, img1.height)
|
|
140
|
+
console.log(img2.width, img2.height)
|
|
141
|
+
|
|
142
|
+
// 绘制第一张图片
|
|
143
|
+
ctx.drawImage(img1, 0, 0, imageWidth, imageHeight);
|
|
144
|
+
// 绘制第二张图片在第一张图片下方
|
|
145
|
+
ctx.drawImage(img2, 0, imageHeight, imageWidth, imageHeight);
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
// 导出拼接后的图片为base64
|
|
149
|
+
var combinedImageData = canvas.toDataURL('image/png');
|
|
150
|
+
|
|
151
|
+
// 执行回调函数,返回base64字符串
|
|
152
|
+
callback(combinedImageData);
|
|
153
|
+
console.log(combinedImageData)
|
|
154
|
+
|
|
155
|
+
};
|
|
156
|
+
img2.src = image2;
|
|
157
|
+
};
|
|
158
|
+
img1.src = image1;
|
|
159
|
+
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
function saveBase64Image(base64Data, fileName) {
|
|
163
|
+
// 将base64字符串转换为Blob对象
|
|
164
|
+
let arr = base64Data.split(',');
|
|
165
|
+
let mime = arr[0].match(/:(.*?);/)[1];
|
|
166
|
+
let bstr = atob(arr[1]);
|
|
167
|
+
let n = bstr.length;
|
|
168
|
+
let u8arr = new Uint8Array(n);
|
|
169
|
+
|
|
170
|
+
while (n--) {
|
|
171
|
+
u8arr[n] = bstr.charCodeAt(n);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
let blob = new Blob([u8arr], { type: mime });
|
|
175
|
+
|
|
176
|
+
// 创建一个指向Blob对象的URL
|
|
177
|
+
let url = URL.createObjectURL(blob);
|
|
178
|
+
|
|
179
|
+
// 创建一个a标签用于下载
|
|
180
|
+
let link = document.createElement('a');
|
|
181
|
+
link.href = url;
|
|
182
|
+
link.download = fileName + '.jpg';
|
|
183
|
+
document.body.appendChild(link);
|
|
184
|
+
|
|
185
|
+
// 触发下载
|
|
186
|
+
link.click();
|
|
187
|
+
|
|
188
|
+
// 清理并移除元素和对象URL
|
|
189
|
+
document.body.removeChild(link);
|
|
190
|
+
URL.revokeObjectURL(url);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export {
|
|
194
|
+
compressImage,
|
|
195
|
+
debounce,
|
|
196
|
+
isLight,
|
|
197
|
+
combineBase64Images,
|
|
198
|
+
saveBase64Image
|
|
199
|
+
}
|
package/public/index.html
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8"/>
|
|
5
|
-
<link rel="shortcut icon" href="favicon.ico">
|
|
6
|
-
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport" />
|
|
7
|
-
<!-- // 强制Chromium内核,作用于360浏览器、QQ浏览器等国产双核浏览器: -->
|
|
8
|
-
<meta name="renderer" content="webkit"/>
|
|
9
|
-
<!-- // 强制Chromium内核,作用于其他双核浏览器: -->
|
|
10
|
-
<meta name="force-rendering" content="webkit"/>
|
|
11
|
-
<!-- // 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器: -->
|
|
12
|
-
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
|
|
13
|
-
<!-- <script src="/mrtc1.4.7/lib/tfjs.js"></script>
|
|
14
|
-
<script src="./mrtc1.4.7/lib/pix.js"></script>
|
|
15
|
-
<script src="./mrtc1.4.7/lib/log4b.js"></script>
|
|
16
|
-
<script src="./mrtc1.4.7/lib/meeting_api_util.js"></script>
|
|
17
|
-
<script src="./mrtc1.4.7/lib/mcu.js"></script>
|
|
18
|
-
<script src="./mrtc1.4.7/lib/client_record.js"></script>
|
|
19
|
-
<script src="./mrtc1.4.7/lib/meeting_vod.js"></script>
|
|
20
|
-
<script src="./mrtc1.4.7/lib/remote_record.js"></script>
|
|
21
|
-
<script src="./mrtc1.4.7/lib/meeting_invite.js"></script>
|
|
22
|
-
<script src="./mrtc1.4.7/lib/meeting_im.js"></script>
|
|
23
|
-
<script src="./mrtc1.4.7/lib/meeting_camera_stream.js"></script>
|
|
24
|
-
<script src="./mrtc1.4.7/lib/meeting_file_stream.js"></script>
|
|
25
|
-
<script src="./mrtc1.4.7/lib/meeting_desk_stream.js"></script>
|
|
26
|
-
<script src="./mrtc1.4.7/lib/meeting_html_stream.js"></script>
|
|
27
|
-
<script src="./mrtc1.4.7/lib/meeting_beautify_stream.js"></script>
|
|
28
|
-
<script src="./mrtc1.4.7/lib/stream.js"></script>
|
|
29
|
-
<script src="./mrtc1.4.7/lib/room.js"></script>
|
|
30
|
-
<script src="./mrtc1.4.7/lib/backgroundBlur.js"></script>
|
|
31
|
-
<script src="./mrtc1.4.7/lib/meeting_api.js"></script>
|
|
32
|
-
<script src="./mrtc1.4.7/lib/html2image.js"></script>
|
|
33
|
-
<script src="./mrtc1.4.7/lib/reconnecting-websocket.min.js"></script>
|
|
34
|
-
<script src="./mrtc1.4.7/lib/mtc_api.js"></script>
|
|
35
|
-
<script src="./mrtc1.4.7/lib/BandwidthHandler.js"></script>
|
|
36
|
-
<script src="./mrtc1.4.7/lib/RecordRTC.min.js"></script>
|
|
37
|
-
<script src="./mrtc1.4.7/lib/pdf.js"></script>
|
|
38
|
-
<script src="./mrtc1.4.7/lib/EBML.js"></script>
|
|
39
|
-
<script src="./mrtc1.4.7/lib/adapter.js"></script>
|
|
40
|
-
<script src="./mrtc1.4.7/lib/beauty.js"></script>
|
|
41
|
-
<script src="./mrtc1.4.7/lib/getMediaInfo.js"></script> -->
|
|
42
|
-
<!-- <script type="text/javascript" src="http://dns.leimon.xyz/log4b.js"></script>
|
|
43
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_api_util.js"></script>
|
|
44
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/mcu.js"></script>
|
|
45
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/client_record.js"></script>
|
|
46
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_vod.js"></script>
|
|
47
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/remote_record.js"></script>
|
|
48
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_invite.js"></script>
|
|
49
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_im.js"></script>
|
|
50
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_camera_stream.js"></script>
|
|
51
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_file_stream.js"></script>
|
|
52
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_desk_stream.js"></script>
|
|
53
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_html_stream.js"></script>
|
|
54
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_beautify_stream.js"></script>
|
|
55
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/stream.js"></script>
|
|
56
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/room.js"></script>
|
|
57
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/backgroundBlur.js"></script>
|
|
58
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_api.js"></script>
|
|
59
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/html2image.js"></script>
|
|
60
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/reconnecting-websocket.min.js"></script>
|
|
61
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/mtc_api.js"></script>
|
|
62
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/BandwidthHandler.js"></script>
|
|
63
|
-
<script src="https://gw.alipayobjects.com/os/lib/recordrtc/5.5.9/RecordRTC.min.js"></script>
|
|
64
|
-
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.2"></script>
|
|
65
|
-
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/body-pix@2.0"></script>
|
|
66
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/pdf.js"></script>
|
|
67
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/EBML.js"></script>
|
|
68
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/adapter.js"></script>
|
|
69
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/beauty.js"></script>
|
|
70
|
-
<script type="text/javascript" src="http://dns.leimon.xyz/getMediaInfo.js"></script> -->
|
|
71
|
-
<!-- <script type="text/javascript" src="http://dns.leimon.xyz/websocket.js"></script>-->
|
|
72
|
-
<title>汇丰银行营业厅 | <%= htmlWebpackPlugin.options.title %></title>
|
|
73
|
-
</head>
|
|
74
|
-
<body>
|
|
75
|
-
<div id="root"></div>
|
|
76
|
-
</body>
|
|
77
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8"/>
|
|
5
|
+
<link rel="shortcut icon" href="favicon.ico">
|
|
6
|
+
<meta content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport" />
|
|
7
|
+
<!-- // 强制Chromium内核,作用于360浏览器、QQ浏览器等国产双核浏览器: -->
|
|
8
|
+
<meta name="renderer" content="webkit"/>
|
|
9
|
+
<!-- // 强制Chromium内核,作用于其他双核浏览器: -->
|
|
10
|
+
<meta name="force-rendering" content="webkit"/>
|
|
11
|
+
<!-- // 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器: -->
|
|
12
|
+
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
|
|
13
|
+
<!-- <script src="/mrtc1.4.7/lib/tfjs.js"></script>
|
|
14
|
+
<script src="./mrtc1.4.7/lib/pix.js"></script>
|
|
15
|
+
<script src="./mrtc1.4.7/lib/log4b.js"></script>
|
|
16
|
+
<script src="./mrtc1.4.7/lib/meeting_api_util.js"></script>
|
|
17
|
+
<script src="./mrtc1.4.7/lib/mcu.js"></script>
|
|
18
|
+
<script src="./mrtc1.4.7/lib/client_record.js"></script>
|
|
19
|
+
<script src="./mrtc1.4.7/lib/meeting_vod.js"></script>
|
|
20
|
+
<script src="./mrtc1.4.7/lib/remote_record.js"></script>
|
|
21
|
+
<script src="./mrtc1.4.7/lib/meeting_invite.js"></script>
|
|
22
|
+
<script src="./mrtc1.4.7/lib/meeting_im.js"></script>
|
|
23
|
+
<script src="./mrtc1.4.7/lib/meeting_camera_stream.js"></script>
|
|
24
|
+
<script src="./mrtc1.4.7/lib/meeting_file_stream.js"></script>
|
|
25
|
+
<script src="./mrtc1.4.7/lib/meeting_desk_stream.js"></script>
|
|
26
|
+
<script src="./mrtc1.4.7/lib/meeting_html_stream.js"></script>
|
|
27
|
+
<script src="./mrtc1.4.7/lib/meeting_beautify_stream.js"></script>
|
|
28
|
+
<script src="./mrtc1.4.7/lib/stream.js"></script>
|
|
29
|
+
<script src="./mrtc1.4.7/lib/room.js"></script>
|
|
30
|
+
<script src="./mrtc1.4.7/lib/backgroundBlur.js"></script>
|
|
31
|
+
<script src="./mrtc1.4.7/lib/meeting_api.js"></script>
|
|
32
|
+
<script src="./mrtc1.4.7/lib/html2image.js"></script>
|
|
33
|
+
<script src="./mrtc1.4.7/lib/reconnecting-websocket.min.js"></script>
|
|
34
|
+
<script src="./mrtc1.4.7/lib/mtc_api.js"></script>
|
|
35
|
+
<script src="./mrtc1.4.7/lib/BandwidthHandler.js"></script>
|
|
36
|
+
<script src="./mrtc1.4.7/lib/RecordRTC.min.js"></script>
|
|
37
|
+
<script src="./mrtc1.4.7/lib/pdf.js"></script>
|
|
38
|
+
<script src="./mrtc1.4.7/lib/EBML.js"></script>
|
|
39
|
+
<script src="./mrtc1.4.7/lib/adapter.js"></script>
|
|
40
|
+
<script src="./mrtc1.4.7/lib/beauty.js"></script>
|
|
41
|
+
<script src="./mrtc1.4.7/lib/getMediaInfo.js"></script> -->
|
|
42
|
+
<!-- <script type="text/javascript" src="http://dns.leimon.xyz/log4b.js"></script>
|
|
43
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_api_util.js"></script>
|
|
44
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/mcu.js"></script>
|
|
45
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/client_record.js"></script>
|
|
46
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_vod.js"></script>
|
|
47
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/remote_record.js"></script>
|
|
48
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_invite.js"></script>
|
|
49
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_im.js"></script>
|
|
50
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_camera_stream.js"></script>
|
|
51
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_file_stream.js"></script>
|
|
52
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_desk_stream.js"></script>
|
|
53
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_html_stream.js"></script>
|
|
54
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_beautify_stream.js"></script>
|
|
55
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/stream.js"></script>
|
|
56
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/room.js"></script>
|
|
57
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/backgroundBlur.js"></script>
|
|
58
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/meeting_api.js"></script>
|
|
59
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/html2image.js"></script>
|
|
60
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/reconnecting-websocket.min.js"></script>
|
|
61
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/mtc_api.js"></script>
|
|
62
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/BandwidthHandler.js"></script>
|
|
63
|
+
<script src="https://gw.alipayobjects.com/os/lib/recordrtc/5.5.9/RecordRTC.min.js"></script>
|
|
64
|
+
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@1.2"></script>
|
|
65
|
+
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/body-pix@2.0"></script>
|
|
66
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/pdf.js"></script>
|
|
67
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/EBML.js"></script>
|
|
68
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/adapter.js"></script>
|
|
69
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/beauty.js"></script>
|
|
70
|
+
<script type="text/javascript" src="http://dns.leimon.xyz/getMediaInfo.js"></script> -->
|
|
71
|
+
<!-- <script type="text/javascript" src="http://dns.leimon.xyz/websocket.js"></script>-->
|
|
72
|
+
<title>汇丰银行营业厅 | <%= htmlWebpackPlugin.options.title %></title>
|
|
73
|
+
</head>
|
|
74
|
+
<body>
|
|
75
|
+
<div id="root"></div>
|
|
76
|
+
</body>
|
|
77
|
+
</html>
|
package/src/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import ReactDOM from "react-dom";
|
|
3
|
-
import "./index.less";
|
|
4
|
-
import '@babel/polyfill';
|
|
5
|
-
import { HSBC } from "../lib/hsbc";
|
|
6
|
-
// import {HSBC} from "../packages";
|
|
7
|
-
|
|
8
|
-
ReactDOM.render(
|
|
9
|
-
<div className="hsbc"><HSBC></HSBC></div>,
|
|
10
|
-
document.getElementById("root")
|
|
11
|
-
);
|
|
1
|
+
import React from "react";
|
|
2
|
+
import ReactDOM from "react-dom";
|
|
3
|
+
import "./index.less";
|
|
4
|
+
import '@babel/polyfill';
|
|
5
|
+
import { HSBC } from "../lib/hsbc";
|
|
6
|
+
// import {HSBC} from "../packages";
|
|
7
|
+
|
|
8
|
+
ReactDOM.render(
|
|
9
|
+
<div className="hsbc"><HSBC></HSBC></div>,
|
|
10
|
+
document.getElementById("root")
|
|
11
|
+
);
|
package/src/index.less
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.hsbc {
|
|
2
|
-
height: calc(100vh);
|
|
3
|
-
}
|
|
4
|
-
.hsbc>div {
|
|
5
|
-
height: 100%;
|
|
1
|
+
.hsbc {
|
|
2
|
+
height: calc(100vh);
|
|
3
|
+
}
|
|
4
|
+
.hsbc>div {
|
|
5
|
+
height: 100%;
|
|
6
6
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"experimentalDecorators": true,
|
|
4
|
-
"outDir": "./dist/",
|
|
5
|
-
"sourceMap": true,
|
|
6
|
-
"noImplicitAny": true,
|
|
7
|
-
"module": "es6",
|
|
8
|
-
"target": "es5",
|
|
9
|
-
"jsx": "react",
|
|
10
|
-
"allowJs": true
|
|
11
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"experimentalDecorators": true,
|
|
4
|
+
"outDir": "./dist/",
|
|
5
|
+
"sourceMap": true,
|
|
6
|
+
"noImplicitAny": true,
|
|
7
|
+
"module": "es6",
|
|
8
|
+
"target": "es5",
|
|
9
|
+
"jsx": "react",
|
|
10
|
+
"allowJs": true
|
|
11
|
+
}
|
|
12
12
|
}
|