react_hsbc_teller 2.0.4 → 2.0.6-5.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 (73) hide show
  1. package/.babelrc +39 -39
  2. package/README.en.md +36 -36
  3. package/README.md +352 -52
  4. package/config/webpack.config.js +119 -119
  5. package/config/webpack.dev.js +108 -108
  6. package/config/webpack.prod.js +104 -104
  7. package/lib/hsbc.js +1 -1
  8. package/lib/hsbc.js.LICENSE.txt +24 -16
  9. package/package.json +110 -109
  10. package/packages/api/api.js +818 -553
  11. package/packages/api/server.js +50 -50
  12. package/packages/assets/img/icon_asr.png +0 -0
  13. package/packages/assets/img/icon_env.png +0 -0
  14. package/packages/assets/img/icon_fail.jpg +0 -0
  15. package/packages/assets/img/icon_paper.png +0 -0
  16. package/packages/assets/img/icon_success.jpg +0 -0
  17. package/packages/assets/mp3/ipad_join_meeting.mp3 +0 -0
  18. package/packages/assets/mp3/ipad_leave_error.mp3 +0 -0
  19. package/packages/assets/mp3/ipad_leave_meeting.mp3 +0 -0
  20. package/packages/assets/mp3/ipad_low_power.mp3 +0 -0
  21. package/packages/assets/mp3/ipad_media_close.mp3 +0 -0
  22. package/packages/assets/mp3/media_error.mp3 +0 -0
  23. package/packages/assets/mp3/networkweak.mp3 +0 -0
  24. package/packages/assets/mp3/pip_close.mp3 +0 -0
  25. package/packages/assets/mp3/record_error.mp3 +0 -0
  26. package/packages/assets/mp3/share_stop_audio.mp3 +0 -0
  27. package/packages/common/index.esm.js +374 -374
  28. package/packages/demo/demo.js +307 -279
  29. package/packages/demo/index.js +3 -3
  30. package/packages/demo/pdf.js +94 -79
  31. package/packages/envconfig/envconfig.js +12 -12
  32. package/packages/index.js +2 -2
  33. package/packages/pages/components/step/step.jsx +25 -31
  34. package/packages/pages/foot/foot.jsx +235 -212
  35. package/packages/pages/foot/foot.less +85 -84
  36. package/packages/pages/header/header.jsx +15 -15
  37. package/packages/pages/header/header.less +51 -51
  38. package/packages/pages/index.jsx +52 -52
  39. package/packages/pages/multiModule/components/copy/agree.jsx +115 -0
  40. package/packages/pages/multiModule/components/copy/agree.less +105 -0
  41. package/packages/pages/multiModule/components/copy/copyTwo.jsx +682 -0
  42. package/packages/pages/multiModule/components/copy/copyTwo.less +180 -0
  43. package/packages/pages/multiModule/components/copy/copy_en.jsx +368 -0
  44. package/packages/pages/multiModule/components/copy/copy_en.less +145 -0
  45. package/packages/pages/multiModule/components/copy/copylist.jsx +291 -0
  46. package/packages/pages/multiModule/components/copy/copylist.less +83 -0
  47. package/packages/pages/multiModule/components/copy/risk.jsx +296 -0
  48. package/packages/pages/multiModule/components/copy/risk.less +123 -0
  49. package/packages/pages/multiModule/components/sign/signMy.jsx +308 -0
  50. package/packages/pages/multiModule/components/sign/signMy.less +128 -0
  51. package/packages/pages/multiModule/components/subscribe/subscribe.jsx +113 -0
  52. package/packages/pages/multiModule/components/subscribe/subscribe.less +82 -0
  53. package/packages/pages/multiModule/multiModule.jsx +26 -0
  54. package/packages/pages/multiModule/multiModule.less +20 -0
  55. package/packages/pages/sign/signMy.jsx +223 -221
  56. package/packages/pages/sign/signMy.less +129 -129
  57. package/packages/pages/video/video.jsx +7751 -5834
  58. package/packages/pages/video/video.less +718 -625
  59. package/packages/style/index.less +1 -1
  60. package/packages/style/reset.less +345 -345
  61. package/packages/utils/asrController.js +259 -0
  62. package/packages/utils/asyncComponent.jsx +26 -26
  63. package/packages/utils/mixin.js +27 -27
  64. package/packages/utils/setRem.js +10 -10
  65. package/packages/utils/utils.js +199 -0
  66. package/public/index.html +77 -77
  67. package/src/index.js +11 -11
  68. package/src/index.less +5 -5
  69. package/tsconfig.json +11 -11
  70. package/packages/common/JKL.js +0 -61
  71. package/packages/common/XML.js +0 -271
  72. package/packages/common/websocket.js +0 -267
  73. package/packages/utils/cell.js +0 -64
@@ -1,16 +1,16 @@
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>
14
- )
15
- }
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">汇丰银行{this.props.recordMode==2?'分行':'远程'}会议</div>
12
+ </div>
13
+ </div>
14
+ )
15
+ }
16
16
  }
@@ -1,52 +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: 16px;
17
- font-family: PingFangSC-Regular, PingFang SC;
18
- font-weight: 400;
19
- color: #333333;
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: 14px;
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;
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: 16px;
17
+ font-family: PingFangSC-Regular, PingFang SC;
18
+ font-weight: 400;
19
+ color: #333333;
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: 14px;
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
52
  // }
@@ -1,52 +1,52 @@
1
- import React, { Component } from 'react';
2
- import API from '@/api/api';
3
- import Video from "@/pages/video/video";
4
- import { IntlProvider } from 'react-intl';
5
-
6
- class Main extends Component {
7
- state = {
8
- langPackage: {
9
- en: {},
10
- zh: {},
11
- }
12
- };
13
-
14
- // 获取语言包
15
- updateLanguage = async () => {
16
- let res = await API.selectLang()
17
- this.setState({
18
- langPackage: {
19
- en: res.en,
20
- zh: res.cn,
21
- }
22
- });
23
- // console.log(res)
24
- window.localStorage.setItem("langData", JSON.stringify(Object.assign(res)));
25
- }
26
- componentWillMount() {
27
- window.sessionStorage.setItem('baseURL',this.props.baseURL)
28
- localStorage.setItem("a_lang", this.props.lang)
29
- if (localStorage.getItem("langData")){
30
- this.setState({langPackage: JSON.parse(localStorage.getItem("langData"))})
31
- }
32
- // console.log(JSON.parse(localStorage.getItem("langData")))
33
- this.updateLanguage()
34
- }
35
- render() {
36
- const lang = this.props.lang
37
-
38
- // console.log(this.state.langPackage[lang])
39
- return (
40
- <IntlProvider locale={lang} messages={this.state.langPackage[lang]}>
41
- <Video {...this.props}></Video>
42
- </IntlProvider>
43
- );
44
- }
45
- }
46
- Main.defaultProps = {
47
- lang: 'zh',
48
- // baseURL: 'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/zuul/api/leimon-counter-api',
49
- baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api/',
50
-
51
- }
52
- export default Main
1
+ import React, { Component } from 'react';
2
+ import API from '@/api/api';
3
+ import Video from "@/pages/video/video";
4
+ import { IntlProvider } from 'react-intl';
5
+
6
+ class Main extends Component {
7
+ state = {
8
+ langPackage: {
9
+ en: {},
10
+ zh: {},
11
+ }
12
+ };
13
+
14
+ // 获取语言包
15
+ updateLanguage = async () => {
16
+ let res = await API.selectLang()
17
+ this.setState({
18
+ langPackage: {
19
+ en: res.en,
20
+ zh: res.cn,
21
+ }
22
+ });
23
+ // console.log(res)
24
+ window.localStorage.setItem("langData", JSON.stringify(Object.assign(res)));
25
+ }
26
+ componentWillMount() {
27
+ window.sessionStorage.setItem('baseURL',this.props.baseURL)
28
+ localStorage.setItem("a_lang", this.props.lang)
29
+ if (localStorage.getItem("langData")){
30
+ this.setState({langPackage: JSON.parse(localStorage.getItem("langData"))})
31
+ }
32
+ // console.log(JSON.parse(localStorage.getItem("langData")))
33
+ this.updateLanguage()
34
+ }
35
+ render() {
36
+ const lang = this.props.lang
37
+
38
+ // console.log(this.state.langPackage[lang])
39
+ return (
40
+ <IntlProvider locale={lang} messages={this.state.langPackage[lang]}>
41
+ <Video {...this.props}></Video>
42
+ </IntlProvider>
43
+ );
44
+ }
45
+ }
46
+ Main.defaultProps = {
47
+ lang: 'zh',
48
+ // baseURL: 'https://zuul.uat.dsp.hsbcfts.com.cn/wealth/zuul/api/leimon-counter-api',
49
+ baseURL:'https://counter-web.leimondata.cn:18082/api/leimon-counter-api/',
50
+
51
+ }
52
+ export default Main
@@ -0,0 +1,115 @@
1
+ import React, { Component } from 'react';
2
+ import { Checkbox, message } from 'antd';
3
+ import { FormattedMessage, injectIntl } from 'react-intl';
4
+ import './agree.less'
5
+ import Modal from "antd/lib/modal";
6
+ import 'antd/lib/modal/style'
7
+ import { Button } from '../../../../../node_modules/antd/lib/index';
8
+ @injectIntl
9
+ class Agree extends Component {
10
+ state = {
11
+ isModalVisibleEnd: false,
12
+ // item: {
13
+ // "type":"1",
14
+ // "sequence":"2",
15
+ // "subContent":[
16
+ // {
17
+ // "desc":"描述1",
18
+ // "option":false
19
+ // },
20
+ // {
21
+ // "desc":"描述2",
22
+ // "option":false
23
+ // }
24
+ // ]
25
+ // },
26
+ list: []
27
+ };
28
+
29
+ componentDidMount() {
30
+ this.setState({
31
+ list: this.props.item.subContent
32
+ })
33
+ }
34
+
35
+ onChange = (e) => {
36
+ this.state.list[e.target.index].option = e.target.checked;
37
+ this.setState({
38
+ list: this.state.list
39
+ })
40
+ }
41
+
42
+ commit = () => {
43
+ if(!this.state.list.every((item)=> item.option)) {
44
+ message.warning(this.props.intl.formatMessage({id: 'plzCheckAgree'})); // 请先勾选同意
45
+ return;
46
+ }
47
+ this.props.next({
48
+ ...this.props.item,
49
+ subContent: this.state.list
50
+ })
51
+ }
52
+ exit = () => {
53
+ this.setState({
54
+ isModalVisibleEnd: true
55
+ })
56
+
57
+ }
58
+ handleCancelEnd = () => {
59
+ this.setState({
60
+ isModalVisibleEnd: false
61
+ })
62
+ }
63
+ handleOkEnd = () => {
64
+ this.setState({
65
+ isModalVisibleEnd: false
66
+ })
67
+ this.props.exit()
68
+ }
69
+ render() {
70
+ const { item } = this.props;
71
+ return (
72
+ <div className="agree">
73
+ <div className="thehead">
74
+ <div className="title">
75
+ <div className="title-color"></div>
76
+ <div className="title-text">{this.props.title}</div>
77
+ </div>
78
+ <div className='thehead'>
79
+ <div className="reset" onClick={this.exit}><FormattedMessage id="exit" /></div>
80
+ <div className="qianshu" onClick={this.commit}><FormattedMessage id="commit" /></div>
81
+ </div>
82
+ </div>
83
+ <div className="contents">
84
+ {
85
+ this.state.list.map((obj, index) => {
86
+ return (
87
+ <div key={index} className={`item-panel ${obj.option?'checked':''}`}>
88
+ <div>{obj.desc}</div>
89
+ <div><Checkbox index={index} checked={obj.option} onChange={this.onChange}> <FormattedMessage id="agree" /></Checkbox></div>
90
+ </div>
91
+ )
92
+ })
93
+ }
94
+ </div>
95
+ <Modal transitionName="" maskTransitionName="" getContainer={document.getElementById('multiModule')} destroyOnClose={true} closable={false} centered={true} visible={this.state.isModalVisibleEnd} footer={[<div key='end'>
96
+ <Button className="modelButtonCancel" onClick={this.handleCancelEnd}><FormattedMessage id="cancel" /></Button>
97
+ <Button className="modelButtonOk" type="primary" danger onClick={this.handleOkEnd}><FormattedMessage id="ok" /></Button>
98
+ </div>
99
+ ]}>
100
+ <div className='endModal'>
101
+ <div className='modalEndTitle'>
102
+ <FormattedMessage id="whether" />
103
+ </div>
104
+ <div className='modalEnd'>
105
+ <FormattedMessage id="progress" />
106
+ </div>
107
+ </div>
108
+ </Modal>
109
+ </div>
110
+ );
111
+ }
112
+
113
+ }
114
+
115
+ export default Agree;
@@ -0,0 +1,105 @@
1
+ .agree{
2
+ height: 100%;
3
+ background: #fff;
4
+ padding: 14px 24px;
5
+ overflow: hidden;
6
+ .thehead{
7
+ display: flex;
8
+ justify-content: space-between;
9
+ .title{
10
+ display: flex;
11
+ .title-color{
12
+ width: 2px;
13
+ height: 1.5rem;
14
+ background: #00847F;
15
+ margin-top: 0.25rem;
16
+ }
17
+ .title-text{
18
+ font-size: 1.5rem;
19
+ color: #323232;
20
+ margin-left: 8px;
21
+ }
22
+
23
+ }
24
+ .qianshu{
25
+ width: 96px;
26
+ height: 2rem;
27
+ background: #F9F2F3;
28
+ border-radius: 2px;
29
+ border: 1px solid #E5B2B5;
30
+ font-size: 14px;
31
+ color: #DB0011;
32
+ line-height: 32px;
33
+ text-align: center;
34
+ }
35
+ .reset{
36
+ width: 96px;
37
+ height: 2rem;
38
+ background: white;
39
+ border-radius: 2px;
40
+ border: 1px solid #DCDCDC;
41
+ font-size: 14px;
42
+ color: #646464;
43
+ line-height: 32px;
44
+ text-align: center;
45
+ margin-right: 8px;
46
+ }
47
+ }
48
+
49
+ .contents{
50
+ display: flex;
51
+ flex-direction: column;
52
+ height: 100%;
53
+ overflow: overlay;
54
+ padding-bottom: 2.5rem;
55
+ .item-panel{
56
+ width: 100%;
57
+ display: flex;
58
+ flex-direction: row;
59
+ flex-wrap: nowrap;
60
+ align-items: center;
61
+ font-size: 16px;
62
+ font-family: PingFangSC-Regular, PingFang SC;
63
+ font-weight: 400;
64
+ color: #666;
65
+ line-height: 24px;
66
+ margin-top: 20px;
67
+ // height: 80px;
68
+
69
+ >div:first-child{
70
+ display: flex;
71
+ align-items: center;
72
+ background: #F8F8F8;
73
+ border-radius: 8px 0px 0px 8px;
74
+ padding: 20px;
75
+ margin-right: 2px;
76
+ flex: 1;
77
+ height: 100%;
78
+ }
79
+ >div:last-child{
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ background: #F8F8F8;
84
+ border-radius: 0px 8px 8px 0px;
85
+ color: #999 ;
86
+ padding: 14px;
87
+ width: 140px;
88
+ height: 100%;
89
+ }
90
+ &.checked{
91
+ >div:first-child{
92
+ color: #999;
93
+ }
94
+ >div:last-child{
95
+ color: #333;
96
+ }
97
+ }
98
+ .ant-checkbox-checked .ant-checkbox-inner {
99
+ background-color: #DE2228;
100
+ border-color: #DE2228;
101
+ }
102
+ }
103
+ }
104
+
105
+ }