react_hsbc_teller 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/.babelrc +4 -0
  2. package/README.en.md +36 -0
  3. package/README.md +57 -0
  4. package/config/webpack.config.js +114 -0
  5. package/config/webpack.dev.js +108 -0
  6. package/config/webpack.prod.js +113 -0
  7. package/package.json +94 -0
  8. package/packages/api/api.js +135 -0
  9. package/packages/api/server.js +48 -0
  10. package/packages/assets/img/Face_recognition.png +0 -0
  11. package/packages/assets/img/Projection_screen.png +0 -0
  12. package/packages/assets/img/huazhonghua.png +0 -0
  13. package/packages/assets/img/icon_Graffiti.png +0 -0
  14. package/packages/assets/img/icon_Mute.png +0 -0
  15. package/packages/assets/img/icon_MuteOne.png +0 -0
  16. package/packages/assets/img/icon_camera.png +0 -0
  17. package/packages/assets/img/icon_cameraOne.png +0 -0
  18. package/packages/assets/img/icon_copy.png +0 -0
  19. package/packages/assets/img/icon_invitation.png +0 -0
  20. package/packages/assets/img/icon_ocr.png +0 -0
  21. package/packages/assets/img/icon_suspend.png +0 -0
  22. package/packages/assets/img/sign_out.png +0 -0
  23. package/packages/assets/img/yingpin.png +0 -0
  24. package/packages/assets/img/zanTing.png +0 -0
  25. package/packages/assets/pdf/1.png +0 -0
  26. package/packages/assets/pdf/2.png +0 -0
  27. package/packages/assets/pdf/3.png +0 -0
  28. package/packages/assets/pdf/4.png +0 -0
  29. package/packages/assets/pdf/5.png +0 -0
  30. package/packages/assets/pdf/6.png +0 -0
  31. package/packages/common/JKL.js +61 -0
  32. package/packages/common/XML.js +271 -0
  33. package/packages/common/websocket.js +246 -0
  34. package/packages/demo/demo.js +27 -0
  35. package/packages/demo/index.js +3 -0
  36. package/packages/envconfig/envconfig.js +13 -0
  37. package/packages/index.js +2 -0
  38. package/packages/pages/foot/foot.jsx +101 -0
  39. package/packages/pages/foot/foot.less +49 -0
  40. package/packages/pages/header/header.jsx +25 -0
  41. package/packages/pages/header/header.less +52 -0
  42. package/packages/pages/pdf/pdf.jsx +72 -0
  43. package/packages/pages/pdf/pdf.less +18 -0
  44. package/packages/pages/video/video.jsx +1317 -0
  45. package/packages/pages/video/video.less +97 -0
  46. package/packages/style/index.less +1 -0
  47. package/packages/style/reset.less +345 -0
  48. package/packages/utils/asyncComponent.jsx +27 -0
  49. package/packages/utils/cell.js +64 -0
  50. package/packages/utils/mixin.js +27 -0
  51. package/packages/utils/setRem.js +11 -0
  52. package/public/favicon.ico +0 -0
  53. package/public/index.html +40 -0
  54. package/public/snowman.svg +1 -0
  55. package/script.js +0 -0
  56. package/src/index.js +10 -0
  57. package/src/index.less +1 -0
  58. package/tsconfig.json +11 -0
@@ -0,0 +1,27 @@
1
+ import React, { Component } from "react";
2
+ import PropTypes from "prop-types";
3
+
4
+ class Demo extends Component {
5
+ constructor(props) {
6
+ super(props);
7
+ }
8
+ render() {
9
+ return (
10
+ <div>
11
+ 演示文件1
12
+ </div>
13
+ );
14
+ }
15
+ }
16
+
17
+ // 指定 props 的默认值:
18
+ Demo.defaultProps = {
19
+ type: "default",
20
+ };
21
+
22
+ Demo.propTypes = {
23
+ type: PropTypes.string,
24
+ onClick: PropTypes.func,
25
+ };
26
+
27
+ export default Demo;
@@ -0,0 +1,3 @@
1
+ import Demo from "./demo";
2
+
3
+ export default Demo;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * 全局配置文件
3
+ */
4
+ let baseURL;
5
+ // let imgUrl = '//elm.cangdu.org/img/';
6
+ if(process.env.NODE_ENV === 'development'){
7
+ baseURL = 'http://47.102.126.132:8082/api/leimon-counter-api';
8
+ }else{
9
+ baseURL = 'http://47.102.126.132:8082/api/leimon-counter-api';
10
+ }
11
+
12
+
13
+ export default {baseURL}
@@ -0,0 +1,2 @@
1
+ import "./style/index.less";
2
+ export { default as HSBC } from "./pages/video/video";
@@ -0,0 +1,101 @@
1
+ import React, { Component } from 'react';
2
+ import './foot.less'
3
+ export default class foot extends Component {
4
+ voice = () => {
5
+ this.props.voice()
6
+ }
7
+ cameraClick = () => {
8
+ this.props.cameraClick()
9
+ }
10
+ graffiti=()=>{
11
+
12
+ }
13
+ sharedScreen=()=>{
14
+ this.props.sharedScreen()
15
+ }
16
+ suspend=()=>{
17
+ this.props.suspend()
18
+ }
19
+ endSession=()=>{
20
+ this.props.endSession()
21
+ }
22
+ facialRecognition=()=>{
23
+ this.props.facialRecognition()
24
+ }
25
+ pictureInPicture=()=>{
26
+ this.props.pictureInPicture()
27
+ }
28
+ render() {
29
+ const {img,cameraImg,screenName,suspendName} = this.props
30
+ return (
31
+ <div className="foot">
32
+ <div className="total">
33
+ <div className="one" onClick={this.voice.bind(this)}>
34
+ <img src={img} alt="" />
35
+ {/* <img src={require("../../assets/img/icon_Mute.png")} alt="" /> */}
36
+ <div className="text">
37
+ 静音
38
+ </div>
39
+ </div>
40
+ <div className="one" onClick={this.cameraClick.bind(this)}>
41
+ {/* <img src={require("../../assets/img/icon_camera.png")} alt="" /> */}
42
+ <img src={cameraImg} alt="" />
43
+ <div className="text">
44
+ 摄像头
45
+ </div>
46
+ </div>
47
+ </div>
48
+ <div className="total totalTwo">
49
+ <div className="one" onClick={this.graffiti.bind(this)}>
50
+ <img src={require("../../assets/img/icon_copy.png").default} alt="" />
51
+ <div className="text">
52
+ 抄录
53
+ </div>
54
+ </div>
55
+ <div className="one" onClick={this.sharedScreen.bind(this)}>
56
+ <img src={require("../../assets/img/Projection_screen.png").default} alt="" />
57
+ <div className="text">
58
+ {screenName}
59
+ </div>
60
+ </div>
61
+ <div className="one" onClick={this.suspend.bind(this)}>
62
+ <img src={require("../../assets/img/icon_suspend.png").default} alt="" />
63
+ <div className="text">
64
+ {suspendName}
65
+ </div>
66
+ </div>
67
+
68
+ <div className="one" onClick={this.facialRecognition.bind(this)}>
69
+ <img src={require("../../assets/img/Face_recognition.png").default} alt="" />
70
+ <div className="text">
71
+ 人脸识别
72
+ </div>
73
+ </div>
74
+ <div className="one">
75
+ <img src={require("../../assets/img/icon_invitation.png").default} alt="" />
76
+ <div className="text">
77
+ 邀请
78
+ </div>
79
+ </div>
80
+ <div className="one">
81
+ <img src={require("../../assets/img/icon_ocr.png").default} alt="" />
82
+ <div className="text">
83
+ OCR识别
84
+ </div>
85
+ </div>
86
+ <div className="one" onClick={this.pictureInPicture.bind(this)}>
87
+ <img src={require("../../assets/img/huazhonghua.png").default} alt="" />
88
+ <div className="text">
89
+ 画中画
90
+ </div>
91
+ </div>
92
+ </div>
93
+ <div className="total totalThree">
94
+ <button className="buttonClass" onClick={this.endSession.bind(this)}>
95
+ <span className="spanClass">结束</span>
96
+ </button>
97
+ </div>
98
+ </div>
99
+ )
100
+ }
101
+ }
@@ -0,0 +1,49 @@
1
+ .foot{
2
+ background: #fff;
3
+ height: 44px;
4
+ display: inline-flex;
5
+ width: 100%;
6
+ position: absolute;
7
+ bottom: 0;
8
+ }
9
+ .total{
10
+ display: inline-flex;
11
+ width: 33%;
12
+
13
+ align-items: center;
14
+ .one{
15
+ display: flex;
16
+ height: 32px;
17
+ flex-direction: column;
18
+ align-items: center;
19
+ flex-wrap: nowrap;
20
+ }
21
+ .text{
22
+ margin-top: 2px;
23
+ text-align: center;
24
+ width: 50px;
25
+ height: 11px;
26
+ font-size: 8px;
27
+ font-family: PingFangSC-Regular, PingFang SC;
28
+ font-weight: 400;
29
+ color: #666666;
30
+ line-height: 11px;
31
+ }
32
+ }
33
+ .totalTwo{
34
+ justify-content: center;
35
+ }
36
+ .totalThree{
37
+ justify-content: flex-end;
38
+ }
39
+ .buttonClass{
40
+ width: 103px;
41
+ height: 36px;
42
+ background: #DB0011;
43
+ border-radius: 4px;
44
+ border: 1px #DB0011 solid;
45
+ }
46
+ .spanClass{
47
+ font-size: 16px;
48
+ color: #FFFFFF;
49
+ }
@@ -0,0 +1,25 @@
1
+ import React, { Component } from 'react';
2
+ import './header.less'
3
+ export default class header extends Component {
4
+ goOut=()=>{
5
+
6
+ }
7
+ render(){
8
+ return(
9
+ <div className="Hamburger">
10
+ <div className="left-header">
11
+ <div className="title">汇丰银行营业厅</div>
12
+ </div>
13
+ <div className="right-header">
14
+ {/* <div className="one" onClick={this.goOut.bind(this)}>
15
+ <img alt="" src={require("../../assets/img/sign_out.png")}></img>
16
+ <div className="text">
17
+ 退出
18
+ </div>
19
+ </div> */}
20
+
21
+ </div>
22
+ </div>
23
+ )
24
+ }
25
+ }
@@ -0,0 +1,52 @@
1
+ .Hamburger {
2
+ width: 100%;
3
+ height: 32px;
4
+ background: #FFFFFF;
5
+ box-shadow: 0px -1px 4px 0px #E6F0FF;
6
+ border-radius: 0px 0px 4px 4px;
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: center;
10
+ color: #185e75;
11
+ .left-header {
12
+ width: 100%;
13
+ display: inline-flex;
14
+ .title{
15
+ margin-left: 20px;
16
+ font-size: 12px;
17
+ font-family: PingFangSC-Regular, PingFang SC;
18
+ font-weight: 400;
19
+ color: #666666;
20
+ }
21
+ }
22
+ .right-header {
23
+ height: 32px;
24
+ margin-right:3px;
25
+ display: inline-flex;
26
+ text-align: end;
27
+ .one{
28
+ display: flex;
29
+ height: 32px;
30
+ flex-direction: column;
31
+ align-items: center;
32
+ flex-wrap: nowrap;
33
+ -webkit-app-region: no-drag;
34
+ }
35
+ .text{
36
+ margin-top: 2px;
37
+ text-align: center;
38
+ width: 32px;
39
+ height: 11px;
40
+ font-size: 8px;
41
+ font-family: PingFangSC-Regular, PingFang SC;
42
+ font-weight: 400;
43
+ color: #666666;
44
+ line-height: 11px;
45
+ }
46
+ }
47
+ }
48
+ img {
49
+ pointer-events: none;
50
+ width: 17px;
51
+ margin-top: 2px;
52
+ }
@@ -0,0 +1,72 @@
1
+ import React, { Component } from 'react';
2
+ import './pdf.less'
3
+ import imgUrl1 from '../../assets/pdf/1.png'
4
+ import imgUrl2 from '../../assets/pdf/2.png'
5
+ import imgUrl3 from '../../assets/pdf/3.png'
6
+ import imgUrl4 from '../../assets/pdf/4.png'
7
+ import imgUrl5 from '../../assets/pdf/5.png'
8
+ import imgUrl6 from '../../assets/pdf/6.png'
9
+ // import { Document, Page, pdfjs } from 'react-pdf'
10
+ export default class pdf extends Component {
11
+ state = {
12
+ imgUrlIndex: 0,
13
+ imgUrlList:[
14
+ {
15
+ url: imgUrl1
16
+ },
17
+ {
18
+ url: imgUrl2
19
+ },
20
+ {
21
+ url: imgUrl3
22
+ },
23
+ {
24
+ url: imgUrl4
25
+ },
26
+ {
27
+ url: imgUrl5
28
+ },
29
+ {
30
+ url: imgUrl6
31
+ }
32
+ ],
33
+ imgUrl: ''
34
+ }
35
+ pdfNext =()=> {
36
+ if(this.state.imgUrlIndex == 5){
37
+ this.setState({
38
+ imgUrl: this.state.imgUrlList[0].url
39
+ })
40
+ this.setState({
41
+ imgUrlIndex: 0
42
+ })
43
+ } else {
44
+ this.setState({
45
+ imgUrlIndex: this.state.imgUrlIndex + 1
46
+ })
47
+ this.setState({
48
+ imgUrl: this.state.imgUrlList[this.state.imgUrlIndex].url
49
+ })
50
+
51
+ }
52
+ }
53
+ componentWillMount(){
54
+ this.setState({
55
+ imgUrl: this.state.imgUrlList[0].url
56
+ })
57
+ this.setState({
58
+ imgUrlIndex: 0
59
+ })
60
+ }
61
+ render() {
62
+ return (
63
+ <div className="test">
64
+ <img className="imgClass" src={this.state.imgUrl} alt=""></img>
65
+ <div><img className="imgClass" src={this.state.imgUrl} alt=""></img></div>
66
+ <div className="pdfNext" onClick={this.pdfNext.bind(this)}>下一页
67
+ {/* <div onClick={this.pdfNo.bind(this)}>下一页</div> */}
68
+ </div>
69
+ </div>
70
+ )
71
+ }
72
+ }
@@ -0,0 +1,18 @@
1
+ .imgClass{
2
+ width: 100%;
3
+ height: 100%;
4
+
5
+ }
6
+ .pdfNext{
7
+ position: absolute;
8
+ top: 72px;
9
+ border: 0;
10
+ z-index: 2;
11
+ color: #666;
12
+ border: 1px#d9363e solid;
13
+ height: 30px;
14
+ line-height: 30px;
15
+ }
16
+ .test{
17
+ overflow: auto;
18
+ }