tplus-member 3.23.3 → 3.25.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. package/dist/api.js +5 -5
  2. package/dist/api.js.map +1 -1
  3. package/dist/controllers/FeedbackController.js.map +1 -1
  4. package/dist/controllers/MemberOrderController.js +12 -12
  5. package/dist/controllers/MemberOrderController.js.map +1 -1
  6. package/dist/controllers/OpenCardController.js +7 -7
  7. package/dist/controllers/OpenCardController.js.map +1 -1
  8. package/dist/controllers/defaultConfig.js.map +1 -1
  9. package/dist/dataProvider/member.js +7 -7
  10. package/dist/dataProvider/member.js.map +1 -1
  11. package/dist/dataProvider/openCard.js.map +1 -1
  12. package/dist/domain/member/AuthProcess.js.map +1 -1
  13. package/dist/domain/member/CardCodeChangedProcessor.js +2 -2
  14. package/dist/domain/member/CardCodeChangedProcessor.js.map +1 -1
  15. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +2 -2
  16. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +1 -1
  17. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +2 -2
  18. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +1 -1
  19. package/dist/domain/member/CheckPresentAmountProcessor.js +2 -2
  20. package/dist/domain/member/CheckPresentAmountProcessor.js.map +1 -1
  21. package/dist/domain/member/EffectiveDateChangedProcessor.js +2 -2
  22. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +1 -1
  23. package/dist/domain/member/GetThisPresentAmountProcessor.js +2 -2
  24. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +1 -1
  25. package/dist/domain/member/InitDataProcessor.js +123 -123
  26. package/dist/domain/member/InitDataProcessor.js.map +1 -1
  27. package/dist/domain/member/IsMemberEffectiveProcessor.js +2 -2
  28. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +1 -1
  29. package/dist/domain/member/IsMemberEnableProcessor.js +2 -2
  30. package/dist/domain/member/IsMemberEnableProcessor.js.map +1 -1
  31. package/dist/domain/member/IsMemberExpirationProcessor.js +2 -2
  32. package/dist/domain/member/IsMemberExpirationProcessor.js.map +1 -1
  33. package/dist/domain/member/IsMemberPasswordSameProcessor.js +2 -2
  34. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +1 -1
  35. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +3 -3
  36. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +1 -1
  37. package/dist/domain/member/MemberTypeChangedProcessor.js +4 -4
  38. package/dist/domain/member/MemberTypeChangedProcessor.js.map +1 -1
  39. package/dist/domain/member/MobilephoneChangedProcessor.js +4 -4
  40. package/dist/domain/member/MobilephoneChangedProcessor.js.map +1 -1
  41. package/dist/domain/member/PersonProcesser.js.map +1 -1
  42. package/dist/domain/member/PriuserdefChangedProcessor.js +2 -2
  43. package/dist/domain/member/PriuserdefChangedProcessor.js.map +1 -1
  44. package/dist/domain/operationLog/AddLogProcessor.js +6 -6
  45. package/dist/domain/operationLog/AddLogProcessor.js.map +1 -1
  46. package/dist/domain/operationLog/OperationConfig.js.map +1 -1
  47. package/dist/domain/operationLog/OperationLog.js.map +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/member/MemberPhoto.js.map +1 -1
  50. package/dist/member/MemberShow.js.map +1 -1
  51. package/dist/member/ShopMember.js +0 -4
  52. package/dist/member/ShopMember.js.map +1 -1
  53. package/dist/member/ShopMember.less +531 -531
  54. package/dist/member/api.js +57 -49
  55. package/dist/member/api.js.map +1 -1
  56. package/dist/member/color.less +31 -31
  57. package/dist/member/index.js +5 -5
  58. package/dist/member/index.js.map +1 -1
  59. package/dist/member/index.less +570 -570
  60. package/dist/member/memberMenu/changeMemberCard/index.js.map +1 -1
  61. package/dist/member/memberMenu/changeMemberCard/style.less +42 -42
  62. package/dist/member/memberMenu/index.js.map +1 -1
  63. package/dist/member/memberMenu/modifyPass/index.js.map +1 -1
  64. package/dist/member/memberMenu/modifyPass/store.js +0 -9
  65. package/dist/member/memberMenu/modifyPass/store.js.map +1 -1
  66. package/dist/member/memberMenu/modifyPass/style.less +96 -96
  67. package/dist/member/memberMenu/style.less +85 -85
  68. package/dist/member/memberTab.js +1 -1
  69. package/dist/member/memberTab.js.map +1 -1
  70. package/dist/socket.js +13 -13
  71. package/dist/socket.js.map +1 -1
  72. package/dist/stores/MemberStore.js.map +1 -1
  73. package/dist/stores/index.js.map +1 -1
  74. package/dist/utils.js.map +1 -1
  75. package/dist/viewController/MemberOrderViewController.js.map +1 -1
  76. package/dist/viewDoMain/CheckMemberProcessorBlock.js +2 -2
  77. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +1 -1
  78. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js +2 -2
  79. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js.map +1 -1
  80. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js +2 -2
  81. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js.map +1 -1
  82. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js.map +1 -1
  83. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +2 -2
  84. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +1 -1
  85. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +2 -2
  86. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +1 -1
  87. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js +2 -2
  88. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js.map +1 -1
  89. package/dist/viewModels/memberVoucher.js +3 -3
  90. package/dist/viewModels/memberVoucher.js.map +1 -1
  91. package/dist/views/MemberOrderView.js +6 -6
  92. package/dist/views/MemberOrderView.js.map +1 -1
  93. package/dist/views/MemberStore.less +143 -143
  94. package/dist/views/MemberStoreNew.less +230 -230
  95. package/dist/views/MemberStoreNewView.js.map +1 -1
  96. package/dist/views/MemberStoreView.js.map +1 -1
  97. package/dist/views/MemberStoreViewContainer.js.map +1 -1
  98. package/dist/views/PresentDetail.less +118 -118
  99. package/dist/views/PresetDetailView.js.map +1 -1
  100. package/dist/views/memberOrder.less +54 -54
  101. package/locales/zh/tplus-portsetting.json +1 -1
  102. package/locales/zh-CN/tplus-portsetting.json +1 -1
  103. package/package.json +6 -6
@@ -1,96 +1,96 @@
1
- .u-modal {
2
- .u-close{
3
- opacity: 1 !important;//统一覆盖
4
- }
5
- &.in {
6
- .modify-password{
7
- top: 50% !important;
8
- transform: translateY(-50%) !important;
9
- }
10
- }
11
- &.fade {
12
- .modify-password{
13
- top: 50%;
14
- transform: translateY(-65%);
15
- }
16
- }
17
- }
18
- .modify-password{
19
- margin: 0 auto !important;
20
- .u-modal-header{
21
- font-size: 18px;
22
- color: #333333;
23
- line-height: 18px;
24
- border-bottom: 1px solid #E6E6EB;
25
- padding: 10px 16px;
26
- .u-modal-title{
27
- font-weight: 500;
28
- }
29
- .u-close{
30
- outline: none;
31
- }
32
- }
33
- .u-modal-body{
34
- padding: 28px 30px;
35
- }
36
- .u-modal-footer{
37
- padding: 8px 16px;
38
- border-top: 1px solid #E6E6EB;
39
- }
40
- .modifypass-cancal-button{
41
- border-radius: 4px;
42
- min-width: 76px;
43
- box-sizing: border-box;
44
- }
45
- .modifypass-ok-button{
46
- border-radius: 4px;
47
- font-size: 16px;
48
- text-align: center;
49
- border: 0;
50
- margin-left: 16px;
51
- min-width: 76px;
52
- box-sizing: border-box;
53
- }
54
- .modify-password-container2 {
55
- display: flex;
56
- justify-content: center;
57
- align-items: center;
58
- height: 100%;
59
-
60
- .tplus-container {
61
-
62
- width: 100%;
63
- padding: 20px;
64
-
65
- .tplus-input-container {
66
- margin-bottom: 24px;
67
- width : 100%;
68
-
69
- &:last-child {
70
- margin-bottom: 10px;
71
- }
72
-
73
- &:first-child {
74
- margin-top: 24px;
75
- }
76
- }
77
-
78
- .tplus-input-title {
79
- width: 80px;
80
- }
81
- }
82
- }
83
- .passContainer {
84
- display: flex;
85
- padding: 10px 0;
86
- .one {
87
- width: 120px;
88
- text-align: right;
89
- padding-right: 10px;
90
- }
91
- .two {
92
- width: 266px;
93
- }
94
- }
95
- }
96
-
1
+ .u-modal {
2
+ .u-close{
3
+ opacity: 1 !important;//统一覆盖
4
+ }
5
+ &.in {
6
+ .modify-password{
7
+ top: 50% !important;
8
+ transform: translateY(-50%) !important;
9
+ }
10
+ }
11
+ &.fade {
12
+ .modify-password{
13
+ top: 50%;
14
+ transform: translateY(-65%);
15
+ }
16
+ }
17
+ }
18
+ .modify-password{
19
+ margin: 0 auto !important;
20
+ .u-modal-header{
21
+ font-size: 18px;
22
+ color: #333333;
23
+ line-height: 18px;
24
+ border-bottom: 1px solid #E6E6EB;
25
+ padding: 10px 16px;
26
+ .u-modal-title{
27
+ font-weight: 500;
28
+ }
29
+ .u-close{
30
+ outline: none;
31
+ }
32
+ }
33
+ .u-modal-body{
34
+ padding: 28px 30px;
35
+ }
36
+ .u-modal-footer{
37
+ padding: 8px 16px;
38
+ border-top: 1px solid #E6E6EB;
39
+ }
40
+ .modifypass-cancal-button{
41
+ border-radius: 4px;
42
+ min-width: 76px;
43
+ box-sizing: border-box;
44
+ }
45
+ .modifypass-ok-button{
46
+ border-radius: 4px;
47
+ font-size: 16px;
48
+ text-align: center;
49
+ border: 0;
50
+ margin-left: 16px;
51
+ min-width: 76px;
52
+ box-sizing: border-box;
53
+ }
54
+ .modify-password-container2 {
55
+ display: flex;
56
+ justify-content: center;
57
+ align-items: center;
58
+ height: 100%;
59
+
60
+ .tplus-container {
61
+
62
+ width: 100%;
63
+ padding: 20px;
64
+
65
+ .tplus-input-container {
66
+ margin-bottom: 24px;
67
+ width : 100%;
68
+
69
+ &:last-child {
70
+ margin-bottom: 10px;
71
+ }
72
+
73
+ &:first-child {
74
+ margin-top: 24px;
75
+ }
76
+ }
77
+
78
+ .tplus-input-title {
79
+ width: 80px;
80
+ }
81
+ }
82
+ }
83
+ .passContainer {
84
+ display: flex;
85
+ padding: 10px 0;
86
+ .one {
87
+ width: 120px;
88
+ text-align: right;
89
+ padding-right: 10px;
90
+ }
91
+ .two {
92
+ width: 266px;
93
+ }
94
+ }
95
+ }
96
+
@@ -1,85 +1,85 @@
1
- .member-menu{
2
- .member-menu-el{
3
- border-radius: 4px;
4
- height: 30px;
5
- font-family: PingFang-SC-Medium;
6
- font-size: 14px;
7
- line-height: 21px;
8
- padding:4px 10px;
9
- float: left;
10
- margin-left:20px;
11
- cursor: default;
12
- text-align: center;
13
- span{
14
- margin-left:9px;
15
- }
16
- .menuHotkey {
17
- display: none;
18
- }
19
- .iconfont {
20
- font-size: 14px;
21
- }
22
- }
23
- // .disabled-member-select-btn{
24
- // color: #ffca9a !important;
25
- // border-color: #ffca9a !important;
26
- // }
27
- .memberHeight {
28
- width: 100px !important;
29
- height: 44px !important;
30
- overflow: hidden !important;
31
- padding:4px 4px;
32
- .menuHotkey {
33
- display: block;
34
- width: 100%;
35
- font-size: 14px;
36
- color: #999999;
37
- font-weight: 400;
38
- height: 14px;
39
- line-height: 14px;
40
- white-space: nowrap;
41
- overflow: hidden;
42
- text-overflow: ellipsis;
43
- }
44
- }
45
- }
46
- .storage-footer {
47
- .zhifubao {
48
- color: #21A5F3;
49
- font-size: 20px;
50
- }
51
-
52
- .weixin {
53
- color: #09C22B;
54
- font-size: 20px;
55
- }
56
-
57
- .xianjin {
58
- color: #FFA941;
59
- font-size: 20px;
60
- }
61
-
62
- button:first-child {
63
- margin-left: 0;
64
- }
65
-
66
- button:last-child {
67
- background: #FF8C26;
68
- color : white;
69
- }
70
-
71
- button {
72
- width : 79px;
73
- padding : 4px 6px !important;
74
- background: white;
75
-
76
- span {
77
- margin-left : 2px;
78
- font-family : PingFang-SC-Medium;
79
- font-size : 14px !important;
80
- color : #474364;
81
- line-height : 22px;
82
- vertical-align: top;
83
- }
84
- }
85
- }
1
+ .member-menu{
2
+ .member-menu-el{
3
+ border-radius: 4px;
4
+ height: 30px;
5
+ font-family: PingFang-SC-Medium;
6
+ font-size: 14px;
7
+ line-height: 21px;
8
+ padding:4px 10px;
9
+ float: left;
10
+ margin-left:20px;
11
+ cursor: default;
12
+ text-align: center;
13
+ span{
14
+ margin-left:9px;
15
+ }
16
+ .menuHotkey {
17
+ display: none;
18
+ }
19
+ .iconfont {
20
+ font-size: 14px;
21
+ }
22
+ }
23
+ // .disabled-member-select-btn{
24
+ // color: #ffca9a !important;
25
+ // border-color: #ffca9a !important;
26
+ // }
27
+ .memberHeight {
28
+ width: 100px !important;
29
+ height: 44px !important;
30
+ overflow: hidden !important;
31
+ padding:4px 4px;
32
+ .menuHotkey {
33
+ display: block;
34
+ width: 100%;
35
+ font-size: 14px;
36
+ color: #999999;
37
+ font-weight: 400;
38
+ height: 14px;
39
+ line-height: 14px;
40
+ white-space: nowrap;
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ }
44
+ }
45
+ }
46
+ .storage-footer {
47
+ .zhifubao {
48
+ color: #21A5F3;
49
+ font-size: 20px;
50
+ }
51
+
52
+ .weixin {
53
+ color: #09C22B;
54
+ font-size: 20px;
55
+ }
56
+
57
+ .xianjin {
58
+ color: #FFA941;
59
+ font-size: 20px;
60
+ }
61
+
62
+ button:first-child {
63
+ margin-left: 0;
64
+ }
65
+
66
+ button:last-child {
67
+ background: #FF8C26;
68
+ color : white;
69
+ }
70
+
71
+ button {
72
+ width : 79px;
73
+ padding : 4px 6px !important;
74
+ background: white;
75
+
76
+ span {
77
+ margin-left : 2px;
78
+ font-family : PingFang-SC-Medium;
79
+ font-size : 14px !important;
80
+ color : #474364;
81
+ line-height : 22px;
82
+ vertical-align: top;
83
+ }
84
+ }
85
+ }
@@ -107,7 +107,7 @@ var MemberTab = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
107
107
 
108
108
  _initialiseProps.call(_this);
109
109
 
110
- var _ref = _mutantsMicrofx.localStore.get('user') || {},
110
+ var _ref = _mutantsMicrofx.stores.user || {},
111
111
  _ref$loginInfo = _ref.loginInfo;
112
112
 
113
113
  _ref$loginInfo = _ref$loginInfo === undefined ? {} : _ref$loginInfo;
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/memberTab.js"],"names":["TabPane","transform","Code","CardCode","Name","MemberTypeName","Mobilephone","Telephone","StoreName","sex","BirthDate","TotalIntegral","BalanceIntegral","BalanceStorage","TotalStorage","TotalBegin","EffectiveDate","ExpirationDate","UmemberOpenId","UmemberLabel","MemberCouponTitle","Memo","MemberTab","observer","props","localStore","get","loginInfo","IsEnableUMember","state","overflowTip","OverflowTip","target","format","text","colonStr","startsWith","split","containerDom","update","destroy","defaultActiveKey","onChange","memberInfoEle","title","key","rmecommendEle","recentlyEle","Component","propTypes","memberTabHeight","PropTypes","number","any","memberList","array","columnInfo","member","object","memberInfo","precisionInfo","initEmpty","bool","func","tabHeadHeight","dataClear","keys","values","regKey","dataSource","forEach","index","includes","find","v","FieldName","label","Title","push","value","filter","platform","isNewRetailBCPos","getMemberStateStamp","DynamicPropertyKeys","DynamicPropertyValues","MemberType","Sex","isExpiration","Uid","isUserLogout","MemberState","Store","priuserdefData","isUMember","isUMemberShow","memberValues","memberInfos","memberTabContentHeight","hasMemberInfo","some","enumController","getEnumOj","Differentiate","CC_NOT_DISPLAY","COUPON","isHaveCCNot","item","memberValue","precision","undefined","dataItem","length","map","formatValue","formatDateKeys","iconItems","height","position","recommend","recommends","record","like","Value","recommendInfoHeight","haveRecord","every","console","log","emptyRecommend","emptyData","showInfos","recordFilter","name","recommendHeight","recency","theadHeight","tableHeight","data","vlaue","i","findIndex","code","Time","rest","itemValue","date","itemData","sort","a","b","Amount","textAlign","Quantity"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;AACA;;;;IAEQA,O,kBAAAA,O;;;AAER,IAAIC,YAAY;AACdC,QAAM,MADQ;AAEdC,YAAU,MAFI;AAGdC,QAAM,MAHQ;AAIdC,kBAAgB,MAJF;AAKdC,eAAa,KALC;AAMdC,aAAW,MANG;AAOdC,aAAU,MAPI;AAQdC,OAAK,IARS;AASdC,aAAW,MATG;AAUdC,iBAAe,MAVD;AAWdC,mBAAiB,MAXH;AAYdC,kBAAgB,OAZF;AAadC,gBAAc,MAbA,EAaQ;AACtBC,cAAY,MAdE;AAedC,iBAAe,MAfD;AAgBdC,kBAAgB,MAhBF;AAiBdC,iBAAe,SAjBD;AAkBdC,gBAAc,MAlBA;AAmBdC,qBAAmB,KAnBL;AAoBdC,QAAM;AApBQ,CAAhB;;IAwBqBC,S,OADpBC,mB;;;AAiBC,qBAAYC,KAAZ,EAAkB;AAAA;;AAAA,4IACVA,KADU;;AAAA;;AAAA,eAG4BC,2BAAWC,GAAX,CAAe,MAAf,KAA0B,EAHtD;AAAA,8BAGTC,SAHS;;AAAA,oDAGsB,EAHtB;AAAA,QAGGC,eAHH,kBAGGA,eAHH;;AAIhB,UAAKC,KAAL,GAAa,EAACD,iBAAiB,CAAC,CAACA,eAApB,EAAb;AAJgB;AAKjB;;;;wCAEmB;AAClB,WAAKE,WAAL,GAAmB,IAAIC,iCAAJ,CAAgB;AACjCC,gBAAQ,qBADyB;AAEjCC,cAFiC,kBAE1BC,IAF0B,EAEpB;AACXA,iBAAOA,QAAQ,EAAf;AACA,cAAMC,WAAW,GAAjB;AACA,cAAID,KAAKE,UAAL,CAAgBD,QAAhB,CAAJ,EAA+B;AAC7B,mBAAOD,KAAKG,KAAL,CAAWF,QAAX,EAAqB,CAArB,CAAP;AACD;AACD,iBAAOD,IAAP;AACD;AATgC,OAAhB,CAAnB;AAWD;;;yCAEoB;AACnB,UAAI,KAAKJ,WAAL,IAAoB,CAAC,KAAKA,WAAL,CAAiBQ,YAA1C,EAAwD;AACtD,aAAKR,WAAL,CAAiBS,MAAjB;AACD;AACF;;;2CAEsB;AACrB,WAAKT,WAAL,CAAiBU,OAAjB;AACD;;;6BAqMQ;AAAA,kCAC2B,KAAKhB,KADhC,CACAiB,gBADA;AAAA,UACAA,gBADA,yCACmB,GADnB;;AAEP,aACE;AAAA;AAAA;AACE,4BAAkBA,gBADpB;AAEE,oBAAU,KAAKjB,KAAL,CAAWkB,QAFvB;AAGE,qBAAU;AAHZ;AAKG,aAAKC,aAAL,CAAmB,EAAEC,OAAO,MAAT,EAAiBC,KAAK,GAAtB,EAAnB,CALH;AAMG,aAAKC,aAAL,CAAmB,EAAEF,OAAO,MAAT,EAAiBC,KAAK,GAAtB,EAAnB,CANH;AAOG,aAAKE,WAAL,CAAiB,EAAEH,OAAO,MAAT,EAAiBC,KAAK,GAAtB,EAAjB;AAPH,OADF;AAWD;;;EA/PoCG,gB,WAE9BC,S,GAAY;AACjBC,mBAAiBC,oBAAUC,MADV;AAEjBX,oBAAkBU,oBAAUE,GAFX;AAGjBC,cAAYH,oBAAUI,KAHL;AAIjBC,cAAYL,oBAAUI,KAJL;AAKjBE,UAAQN,oBAAUO,MALD;AAMjBC,cAAYR,oBAAUO,MANL;AAOjBE,iBAAeT,oBAAUO,MAPR;AAQjBG,aAAWV,oBAAUW,IARJ;AASjBpB,YAAUS,oBAAUY;AATH,C;;;OAYnBC,a,GAAgB,E;;OAiChBC,S,GAAY,UAACC,IAAD,EAAOC,MAAP,EAAeX,UAAf,EAA8B;AACxC,QAAMY,SAAS,YAAf;AACA,QAAMC,aAAa,EAAnB;AACAH,SAAKI,OAAL,CAAa,UAACzB,GAAD,EAAM0B,KAAN,EAAgB;AAC3B,UAAI1B,IAAI2B,QAAJ,CAAaJ,MAAb,CAAJ,EAA0B;AAAA,oBACDZ,WAAWiB,IAAX,CAAgB;AAAA,iBAAKC,EAAEC,SAAF,KAAgB9B,GAArB;AAAA,SAAhB,KAA6C,EAD5C;AAAA,YACV+B,KADU,SACjBC,KADiB;;AAExBR,mBAAWS,IAAX,CAAgB,EAACjC,QAAD,EAAMkC,OAAOZ,OAAOI,KAAP,CAAb,EAA4BK,YAA5B,EAAhB;AACD;AACF,KALD;AAMA,WAAOP,WAAWW,MAAX,CAAkB;AAAA,aAAKN,EAAEE,KAAP;AAAA,KAAlB,CAAP;AACD,G;;OAEDjC,a,GAAgB,iBAAoB;AAAA,QAAjBC,KAAiB,SAAjBA,KAAiB;AAAA,QAAVC,GAAU,SAAVA,GAAU;;AAAA,gBACPoC,yBAAY,EADL;AAAA,QAC5BC,gBAD4B,SAC5BA,gBAD4B;;AAAA,iBAEiF,OAAK1D,KAFtF;AAAA,+BAE1BiC,MAF0B;AAAA,QAE1BA,MAF0B,iCAEjB,EAFiB;AAAA,QAEbP,eAFa,UAEbA,eAFa;AAAA,mCAEII,UAFJ;AAAA,QAEIA,UAFJ,qCAEiB,EAFjB;AAAA,mCAEqBE,UAFrB;AAAA,QAEqBA,UAFrB,qCAEkC,EAFlC;AAAA,sCAEsCI,aAFtC;AAAA,QAEsCA,aAFtC,wCAEsD,EAFtD;AAAA,QAE0DuB,mBAF1D,UAE0DA,mBAF1D;AAAA,QAG3BvD,eAH2B,GAGR,OAAKC,KAHG,CAG3BD,eAH2B;AAAA,gCAK4E6B,MAL5E,CAI1B2B,mBAJ0B;AAAA,QAI1BA,mBAJ0B,yCAIJ,EAJI;AAAA,iCAK4E3B,MAL5E,CAIA4B,qBAJA;AAAA,QAIAA,qBAJA,0CAIwB,EAJxB;AAAA,gCAK4E5B,MAL5E,CAI4BxC,cAJ5B;AAAA,QAI4BA,cAJ5B,yCAI6C,EAJ7C;AAAA,6BAK4EwC,MAL5E,CAIiD6B,UAJjD;AAAA,4DAIwF,EAJxF;AAAA,QAIqEjF,cAJrE,sBAI+DD,IAJ/D;AAAA,sBAK4EqD,MAL5E,CAKhC8B,GALgC;AAAA,8CAKX,EALW;AAAA,QAKnB9E,GALmB,eAKzBL,IALyB;AAAA,QAKPoF,YALO,GAK4E/B,MAL5E,CAKP+B,YALO;AAAA,QAKOC,GALP,GAK4EhC,MAL5E,CAKOgC,GALP;AAAA,QAKYC,YALZ,GAK4EjC,MAL5E,CAKYiC,YALZ;AAAA,QAK0BC,WAL1B,GAK4ElC,MAL5E,CAK0BkC,WAL1B;AAAA,wBAK4ElC,MAL5E,CAKuCmC,KALvC;AAAA,kDAKqE,EALrE;AAAA,QAKuDpF,SALvD,iBAKgDJ,IALhD;;AAMlC,QAAIyF,iBAAiB,OAAK5B,SAAL,CAAemB,mBAAf,EAAoCC,qBAApC,EAA2D7B,UAA3D,CAArB;AACA,QAAMsC,YAAYlE,mBAAmB6D,MAAM,CAA3C,CAPkC,CAOY;AAC9C,QAAMM,gBAAgB,CAAC,eAAD,EAAkB,cAAlB,EAAkC,mBAAlC,CAAtB;AACA,QAAMC,wCAAiB3F,8BAAjB,EAAiCI,QAAjC,EAAsCD,oBAAtC,IAAsDiD,MAAtD,CAAN;AACA,QAAMwC,cAAc,EAApB;AACA,QAAMC,yBAAyBhD,kBAAkB,OAAKc,aAAtD;AACA,QAAMmC,gBAAgB,oBAAYH,YAAZ,EAA0BI,IAA1B,CAA+B;AAAA,aAAKJ,aAAatB,CAAb,CAAL;AAAA,KAA/B,CAAtB;;AAZkC,gCAaR2B,4BAAeC,SAAf,EAbQ;AAAA,QAa1BC,aAb0B,yBAa1BA,aAb0B;;AAelC,QAAMC,iBAAiB,CAAC,MAAD,EAAS,gBAAT,EAA2B,eAA3B,EAA4C,cAA5C,CAAvB;;AAEAvG,cAAUmB,iBAAV,GAA8BmF,cAAcE,MAA5C;AACAxG,cAAUI,cAAV,GAA2BkG,cAAclG,cAAzC;AACA,wBAAYJ,SAAZ,EAAuBqE,OAAvB,CAA+B,aAAK;AAClC;AACA,UAAMoC,cAAeF,eAAe/B,IAAf,CAAoB;AAAA,eAAQkC,QAAQjC,CAAhB;AAAA,OAApB,CAArB;AACA,UAAIQ,oBAAoBwB,WAAxB,EAAqC;AACrC,UAAIX,cAAcvB,QAAd,CAAuBE,CAAvB,KAA6B,CAACQ,gBAA9B,IAAiD,CAACY,SAAtD,EAAkE;AAClE,UAAMc,cAAcZ,aAAatB,CAAb,CAApB;AACA,UAAMmC,YAAYjD,cAAcc,CAAd,CAAlB;AACA;AACA,UAAIK,QAAQ,CAAC,CAAC8B,SAAF,GAAeV,gBAAgB,4BAAgBS,WAAhB,EAA6BC,SAA7B,CAAhB,GAA0DC,SAAzE,GAAsFF,WAAlG;AACClC,YAAM,eAAP,KAA4BK,QAAQ6B,cAAc,KAAd,GAAsB,KAA1D;AACA,UAAMG,WAAW,EAAEnC,YAAU3E,UAAUyE,CAAV,CAAZ,EAA4BK,YAA5B,EAAjB;AACAkB,kBAAYnB,IAAZ,CAAiBiC,QAAjB;AACD,KAZD;;AAcA;AACA,QAAIlB,kBAAkBA,eAAemB,MAAf,GAAwB,CAA9C,EAAiD;AAC/CnB,qBAAeoB,GAAf,CAAmB,gBAAQ;AAAA,oBACJN,QAAQ,EADJ;AAAA,YACnB9D,GADmB,SACnBA,GADmB;AAAA,YACdkC,KADc,SACdA,KADc;;AAEzB,YAAI8B,YAAYjD,cAAcf,GAAd,CAAhB;AACA8D,aAAK,OAAL,IAAgB,CAAC,CAACE,SAAF,GAAc,4BAAgB9B,KAAhB,EAAuB8B,SAAvB,CAAd,GAAkD9B,KAAlE;AACD,OAJD;AAKD;;AAEDkB,gBAAYnB,IAAZ,qDAAoBe,cAApB,GA1CkC,CA0CE;AACpCI,gBAAYe,MAAZ,GAAqB,CAArB,IAA0Bf,YAAYnB,IAAZ,CAAiB,EAAjB,CAA1B,CA3CkC,CA2Cc;;AAEhD,QAAMoC,cAAc,SAAdA,WAAc,CAACtC,KAAD,EAAQG,KAAR,EAAkB;AACpC,UAAMoC,iBAAiB,CAAC,MAAD,EAAS,MAAT,EAAiB,MAAjB,CAAvB;AACA,UAAIA,eAAe3C,QAAf,CAAwBI,KAAxB,CAAJ,EAAoC;AAClC,eAAO,uBAAWG,KAAX,CAAP;AACD,OAFD,MAEO;AACL,eAAOA,KAAP;AACD;AACF,KAPD;AAQA;AACA,QAAIqC,YAAYjC,oBAAoB1B,MAApB,CAAhB;AACA,WACE;AAAC,aAAD;AAAA,QAAS,KAAKb,KAAd,EAAqB,KAAKC,GAA1B;AACE;AAAA;AAAA,UAAK,OAAO,EAAEwE,QAAQnB,sBAAV,EAAkCoB,UAAU,UAA5C,EAAZ;AACE;AAAC,2CAAD;AAAA,YAAa,QAAQpB,sBAArB;AAEI,WAAC,CAAC5C,WAAW0D,MAAb,IAAuB;AAAA;AAAA,cAAK,WAAU,mBAAf;AAEnBf,wBAAYgB,GAAZ,CAAgB,UAACN,IAAD,EAAOpC,KAAP;AAAA,qBAAiB;AAAA;AAAA,kBAAK,KAAKA,KAAV;AAC9BoC,qBAAK/B,KAAL,IAAc;AAAA;AAAA;AAAO+B,uBAAK/B,KAAL,IAAc;AAArB,iBADgB;AAE9B+B,qBAAK/B,KAAL,IAAc;AAAA;AAAA,oBAAM,iBAAc,KAApB;AAAA;AAA4BsC,8BAAYP,KAAK/B,KAAjB,EAAwB+B,KAAK5B,KAA7B;AAA5B;AAFgB,eAAjB;AAAA,aAAhB,CAFmB;AAQnB,aAACkB,YAAYe,MAAb,IAAuB;AAAA;AAAA,gBAAG,WAAU,YAAb;AAAA;AAAA;AARJ,WAF3B;AAeI,WAAC1D,WAAW0D,MAAZ,IAAsB,uCAAK,WAAU,2BAAf;AAf1B,SADF;AAoBII,qBAAaA,UAAUJ,MAAV,GAAmB,CAAhC,IACA;AAAA;AAAA,YAAK,WAAU,0BAAf;AACGI;AADH;AArBJ;AADF,KADF;AA6BD,G;;OAEDtE,a,GAAgB,iBAAoB;AAAA,QAAjBF,KAAiB,SAAjBA,KAAiB;AAAA,QAAVC,GAAU,SAAVA,GAAU;AAAA,kBAC4E,OAAKrB,KADjF;AAAA,oCAC5B+F,SAD4B;AAAA,QACjBC,UADiB,qCACJ,EADI;AAAA,qCACA7D,UADA;AAAA,4DACyC,EADzC;AAAA,mDACc8D,MADd;AAAA,QACcA,MADd,yCACuB,EADvB;AAAA,mDAC2BC,IAD3B;AAAA,QAC2BA,IAD3B,yCACkC,EADlC;AAAA,QAC6CxE,eAD7C,WAC6CA,eAD7C;AAAA,QAC8DW,SAD9D,WAC8DA,SAD9D;;AAElC2D,iBAAaA,WAAWxC,MAAX,CAAkB;AAAA,aAAKN,CAAL;AAAA,KAAlB,CAAb;AACA8C,eAAW1C,IAAX,CAAgB,EAAE1E,MAAM,MAAR,EAAgBuH,OAAOD,IAAvB,EAAhB;AACA,QAAME,sBAAsB,EAA5B;AACA,QAAM1B,yBAAyBhD,kBAAkB,OAAKc,aAAtD;AACA,QAAM6D,aAAa,CAAC,CAACJ,OAAOT,MAAT,IAAmBS,OAAOK,KAAP,CAAa;AAAA,aAAK,CAAC,EAAEpD,KAAKA,EAAEK,KAAT,CAAN;AAAA,KAAb,CAAtC;AACAgD,YAAQC,GAAR,CAAY,uBAAZ,EAAqCR,UAArC;AACA,QAAMS,iBAAiBT,WAAWM,KAAX,CAAiB;AAAA,aAAK,CAAC,CAAEpD,KAAKA,EAAEiD,KAAR,IAAkB,EAAnB,EAAuBX,MAA7B;AAAA,KAAjB,IAAyD;AAAA;AAAA,QAAK,WAAU,YAAf;AAAA;AAAA,KAAzD,GAAmG,IAA1H;AACA,QAAMkB,YAAa,CAACL,UAAD,IAAeL,WAAWM,KAAX,CAAiB;AAAA,aAAK,CAAC,CAAEpD,KAAKA,EAAEiD,KAAR,IAAkB,EAAnB,EAAuBX,MAA7B;AAAA,KAAjB,CAAhB,GAAyE,uCAAK,WAAU,2BAAf,GAAzE,GAAyH,IAA3I;AACA,QAAMmB,YAAY,CAAC,QAAD,EAAW,IAAX,EAAiB,OAAjB,CAAlB;AACA,QAAMC,eAAeX,OAAOzC,MAAP,CAAc;AAAA,aAAKmD,UAAU3D,QAAV,CAAmBE,EAAE2D,IAArB,CAAL;AAAA,KAAd,CAArB;AACA,QAAMC,kBAAkBT,aAAa3B,yBAAyB0B,mBAAtC,GAA4D1B,sBAApF;AACA,WAAO;AAAC,aAAD;AAAA,QAAS,KAAKtD,KAAd,EAAqB,KAAKC,GAA1B;AACL;AAAA;AAAA,UAAK,WAAU,eAAf,EAA+B,OAAO,EAACwE,QAAQnB,sBAAT,EAAtC;AACG2B,sBAAc;AAAA;AAAA,YAAK,WAAU,gBAAf;AACZO,uBAAanB,GAAb,CAAiB,UAACN,IAAD,EAAO9D,GAAP;AAAA,mBAAe;AAAA;AAAA,gBAAM,KAAKA,GAAX;AAAiB8D,mBAAK0B,IAAtB;AAAA;AAA8B1B,mBAAK5B;AAAnC,aAAf;AAAA,WAAjB;AADY,SADjB;AAIE;AAAA;AAAA,YAAK,WAAU,mBAAf,EAAmC,OAAO,EAACsC,QAAQiB,eAAT,EAA1C;AACA;AAAC,6CAAD;AAAA,cAAa,QAAQA,eAArB,EAAsC,KAAKA,eAA3C;AACGd,uBAAWP,GAAX,CAAe,UAACN,IAAD,EAAOpC,KAAP,EAAiB;AAC/B,kBAAI,CAAC,CAACoC,KAAKgB,KAAL,IAAc,EAAf,EAAmBX,MAAxB,EAAgC,OAAO,IAAP;AAChC,qBAAO;AAAA;AAAA,kBAAK,KAAKzC,KAAV,EAAiB,WAAU,gBAA3B;AACL;AAAA;AAAA;AAAKoC,uBAAKvG;AAAV,iBADK;AAEL,8CAAC,8BAAD;AACE,wBAAMuG,KAAKgB,KAAL,IAAc,EADtB;AAEE,4BAAU;AAFZ;AAFK,eAAP;AAOD,aATA;AADH,WADA;AAaG9D,uBAAaoE;AAbhB,SAJF;AAmBGpE,qBAAaqE;AAnBhB;AADK,KAAP;AAuBD,G;;OAEDnF,W,GAAc,iBAAoB;AAAA,QAAjBH,KAAiB,SAAjBA,KAAiB;AAAA,QAAVC,GAAU,SAAVA,GAAU;AAAA,kBAC2B,OAAKrB,KADhC;AAAA,QACzB0B,eADyB,WACzBA,eADyB;AAAA,qCACRS,UADQ;AAAA,4DACqB,EADrB;AAAA,mDACK4E,OADL;AAAA,QACKA,OADL,yCACe,EADf;;AAEhC,QAAMC,cAAc,EAApB;AACA,QAAMC,cAAcvF,kBAAkB,OAAKc,aAA3C;AACA,QAAMK,aAAa,EAAnB;AACA,QAAMqE,OAAOH,OAAb;AACAG,SAAKpE,OAAL,CAAa,UAACqE,KAAD,EAAQC,CAAR,EAAc;AACzB,UAAMrE,QAAQF,WAAWwE,SAAX,CAAqB;AAAA,eAAKnE,EAAEoE,IAAF,KAAWH,MAAMzI,IAAtB;AAAA,OAArB,CAAd;AACA,UAAI,CAACqE,KAAL,EAAY;AACVF,mBAAWE,KAAX,EAAkBmE,IAAlB,CAAuB5D,IAAvB,CAA4B6D,KAA5B;AACD,OAFD,MAEO;AAAA,oBAC2BA,SAAS,EADpC;AAAA,YACGI,IADH,SACGA,IADH;AAAA,YACS7I,IADT,SACSA,IADT;AAAA,YACkB8I,IADlB;;AAEL,YAAMC,YAAY,EAAEC,MAAMH,IAAR,EAAcD,MAAM5I,IAApB,EAA0BwI,MAAM,CAACM,IAAD,CAAhC,EAAlB;AACA3E,mBAAWS,IAAX,CAAgBmE,SAAhB;AACD;AACF,KATD;;AAWA5E,eAAWC,OAAX,CAAmB,iBAAS;AAC1B;AACA,UAAM6E,WAAWpE,MAAM2D,IAAvB;AACA,UAAIS,SAASnC,MAAT,GAAkB,CAAtB,EAAyB;AACvBmC,iBAASC,IAAT,CAAc;AAAA,cAACC,CAAD,uEAAK,EAAL;AAAA,cAASC,CAAT,uEAAa,EAAb;AAAA,iBAAoBA,EAAEC,MAAF,GAAWF,EAAEE,MAAjC;AAAA,SAAd;AACD;AACF,KAND;;AAQA,WAAO;AAAC,aAAD;AAAA,QAAS,KAAK3G,KAAd,EAAqB,KAAKC,GAA1B;AACJ,OAAC,CAACwB,WAAW2C,MAAb,IAAuB;AAAA;AAAA,UAAK,WAAU,cAAf;AACtB;AAAA;AAAA,YAAO,WAAU,OAAjB;AACE;AAAA;AAAA;AACA;AAAA;AAAA;AACE;AAAA;AAAA,kBAAI,OAAM,KAAV;AAAA;AAAA,eADF;AAEE;AAAA;AAAA,kBAAI,OAAM,KAAV;AAAA;AAAA,eAFF;AAGE;AAAA;AAAA,kBAAI,OAAM,KAAV,EAAgB,OAAO,EAACwC,WAAW,QAAZ,EAAvB;AAAA;AAAA,eAHF;AAIE;AAAA;AAAA,kBAAI,OAAM,KAAV,EAAgB,WAAU,aAA1B;AAAA;AAAA;AAJF;AADA,WADF;AASE;AAAA;AAAA,cAAO,OAAO,EAACnC,QAAQoB,cAAcD,WAAvB,EAAd;AACA;AAAC,+CAAD;AAAA;AACCnE,yBAAW4C,GAAX,CAAe,UAACN,IAAD,EAAO9D,GAAP,EAAe;AAC7B,uBAAO8D,KAAK+B,IAAL,CAAUzB,GAAV,CAAc,UAACvC,CAAD,EAAIkE,CAAJ;AAAA,yBACnB;AAAA;AAAA,sBAAI,KAAKA,CAAT;AACG,qBAACA,CAAD,GACC;AAAA;AAAA,wBAAI,WAAWjC,KAAK+B,IAAL,CAAU1B,MAAV,KAAqB,CAArB,GAAyB,eAAzB,GAA2C,EAA1D;AAA+D,6CAAWL,KAAKuC,IAAhB;AAA/D,qBADD,GAEC,sCAAI,WAAWvC,KAAK+B,IAAL,CAAU1B,MAAV,GAAmB,CAAnB,KAAyB4B,CAAzB,GAA6B,aAA7B,GAA6C,EAA5D,GAHJ;AAKE;AAAA;AAAA,wBAAI,iBAAc,KAAlB;AAAyBlE,wBAAEtE;AAA3B,qBALF;AAME;AAAA;AAAA,wBAAI,iBAAc,KAAlB,EAAwB,OAAO,EAACoJ,WAAW,QAAZ,EAA/B;AAAuD9E,wBAAE+E;AAAzD,qBANF;AAOE;AAAA;AAAA,wBAAI,iBAAc,KAAlB;AAAyB/E,wBAAE6E;AAA3B;AAPF,mBADmB;AAAA,iBAAd,CAAP;AAWD,eAZA;AADD;AADA;AATF;AADsB,OADnB;AA8BJ,OAAClF,WAAW2C,MAAZ,IAAsB;AAAA;AAAA,UAAK,OAAO,EAACK,QAAQoB,WAAT,EAAsBnB,UAAU,UAAhC,EAAZ;AAAyD,+CAAK,WAAU,2BAAf;AAAzD;AA9BlB,KAAP;AAgCD,G;;;kBAhPkBhG,S","file":"memberTab.js","sourcesContent":["import React, { Component } from 'react';\nimport { Tabs } from 'antd';\nimport { observer } from 'mobx-react';\nimport { localStore } from 'mutants-microfx';\nimport { OverflowTip, TouchScroll, CardList } from 'tplus-components-touch';\nimport { formatPrecision, dateFormat } from '../utils';\nimport PropTypes from 'prop-types';\nimport { enumController, platform } from 'mutants-util';\nimport './ShopMember.less';\n\nconst { TabPane } = Tabs;\n\nlet transform = {\n Code: '会员编号',\n CardCode: '会员卡号',\n Name: '会员姓名',\n MemberTypeName: '会员类型',\n Mobilephone: '手机号',\n Telephone: '联系电话',\n StoreName:'开卡门店',\n sex: '性别',\n BirthDate: '出生日期',\n TotalIntegral: '累计积分',\n BalanceIntegral: '积分余额',\n BalanceStorage: '当前总余额',\n TotalStorage: '储值总额', // 字段存疑\n TotalBegin: '期初余额',\n EffectiveDate: '生效日期',\n ExpirationDate: '失效日期',\n UmemberOpenId: '是否关注微信号',\n UmemberLabel: '会员标签',\n MemberCouponTitle: '优惠券',\n Memo: '备注',\n};\n\n@observer\nexport default class MemberTab extends Component {\n\n static propTypes = {\n memberTabHeight: PropTypes.number,\n defaultActiveKey: PropTypes.any,\n memberList: PropTypes.array,\n columnInfo: PropTypes.array,\n member: PropTypes.object,\n memberInfo: PropTypes.object,\n precisionInfo: PropTypes.object,\n initEmpty: PropTypes.bool,\n onChange: PropTypes.func,\n };\n\n tabHeadHeight = 37;\n\n constructor(props){\n super(props);\n\n const {loginInfo: {IsEnableUMember} = {}} = localStore.get('user') || {};\n this.state = {IsEnableUMember: !!IsEnableUMember};\n }\n\n componentDidMount() {\n this.overflowTip = new OverflowTip({\n target: '.member-content-tab',\n format(text) {\n text = text || '';\n const colonStr = ':';\n if (text.startsWith(colonStr)) {\n return text.split(colonStr)[1];\n }\n return text;\n }\n });\n }\n\n componentDidUpdate() {\n if (this.overflowTip && !this.overflowTip.containerDom) {\n this.overflowTip.update();\n }\n }\n\n componentWillUnmount() {\n this.overflowTip.destroy();\n }\n\n dataClear = (keys, values, columnInfo) => {\n const regKey = 'priuserdef';\n const dataSource = [];\n keys.forEach((key, index) => {\n if (key.includes(regKey)) {\n const {Title: label} = columnInfo.find(v => v.FieldName === key) || {};\n dataSource.push({key, value: values[index], label});\n }\n });\n return dataSource.filter(v => v.label);\n }\n\n memberInfoEle = ({ title, key }) => {\n let { isNewRetailBCPos } = platform || {};\n const { member = {}, memberTabHeight, memberList = [], columnInfo = [], precisionInfo = {}, getMemberStateStamp} = this.props;\n const {IsEnableUMember} = this.state;\n const { DynamicPropertyKeys = [], DynamicPropertyValues = [], ExpirationDate = '', MemberType: { Name: MemberTypeName } = {},\n Sex: { Name: sex } = {}, isExpiration, Uid, isUserLogout, MemberState, Store: { Name : StoreName } = {} } = member;\n let priuserdefData = this.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);\n const isUMember = IsEnableUMember && Uid > 0; // 判断为u会员\n const isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];\n const memberValues = { MemberTypeName, sex, StoreName , ...member};\n const memberInfos = [];\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const hasMemberInfo = Object.keys(memberValues).some(v => memberValues[v]);\n const { Differentiate } = enumController.getEnumOj();\n\n const CC_NOT_DISPLAY = [\"Code\", \"ExpirationDate\", \"UmemberOpenId\", \"UmemberLabel\"];\n\n transform.MemberCouponTitle = Differentiate.COUPON;\n transform.MemberTypeName = Differentiate.MemberTypeName;\n Object.keys(transform).forEach(v => {\n // 查找CC不需要显示的字段\n const isHaveCCNot = CC_NOT_DISPLAY.find(item => item == v);\n if (isNewRetailBCPos && isHaveCCNot) return;\n if (isUMemberShow.includes(v) && !isNewRetailBCPos &&!isUMember ) return;\n const memberValue = memberValues[v];\n const precision = precisionInfo[v];\n //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n let value = !!precision ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\n (v === 'UmemberOpenId') && (value = memberValue ? '已关注' : '未关注');\n const dataItem = { label: `${transform[v]}`, value };\n memberInfos.push(dataItem);\n });\n\n //对自定义项的值进行处理。\n if (priuserdefData && priuserdefData.length > 0) {\n priuserdefData.map(item => {\n let { key, value } = item || {};\n let precision = precisionInfo[key];\n item['value'] = !!precision ? formatPrecision(value, precision) : value;\n })\n }\n\n memberInfos.push(...priuserdefData) // 插入会员自定义项\n memberInfos.length % 2 && memberInfos.push({}); //奇数补全\n\n const formatValue = (label, value) => {\n const formatDateKeys = ['出生日期', '失效日期', '生效日期'];\n if (formatDateKeys.includes(label)) {\n return dateFormat(value);\n } else {\n return value;\n }\n }\n //状态戳\n let iconItems = getMemberStateStamp(member);\n return (\n <TabPane tab={title} key={key}>\n <div style={{ height: memberTabContentHeight, position: 'relative' }}>\n <TouchScroll height={memberTabContentHeight} >\n {\n !!memberList.length && <div className='member-info-table'>\n {\n memberInfos.map((item, index) => <div key={index}>\n {item.label && <span>{item.label || ''}</span>}\n {item.label && <span data-overflow='tip'>:{formatValue(item.label, item.value)}</span>}\n </div>)\n }\n {\n !memberInfos.length && <p className='empty-data'>暂无数据~</p>\n }\n </div>\n }\n {\n !memberList.length && <div className='empty-data empty-data-img' />\n }\n </TouchScroll>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-detail-stamp'>\n {iconItems}\n </div>\n }\n </div>\n </TabPane >)\n };\n\n rmecommendEle = ({ title, key }) => {\n let { recommend: recommends = [], memberInfo: { record = [], like = [] } = {}, memberTabHeight, initEmpty } = this.props;\n recommends = recommends.filter(v => v);\n recommends.push({ Name: '最近购买', Value: like });\n const recommendInfoHeight = 74;\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const haveRecord = !!record.length && record.every(v => !!(v && v.value));\n console.log('会员偶发白屏问题:recommends==', recommends)\n const emptyRecommend = recommends.every(v => !((v && v.Value) || []).length) ? <div className='empty-data'>暂无推荐~</div> : null;\n const emptyData = (!haveRecord && recommends.every(v => !((v && v.Value) || []).length)) ? <div className='empty-data empty-data-img' /> : null;\n const showInfos = ['最近购买时间', '金额', '平均客单价']\n const recordFilter = record.filter(v => showInfos.includes(v.name));\n const recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;\n return <TabPane tab={title} key={key}>\n <div className='recommend-tab' style={{height: memberTabContentHeight}}>\n {haveRecord && <div className='recommend-info'>\n {recordFilter.map((item, key) => <span key={key}>{item.name}: {item.value}</span>)}\n </div>}\n <div className='recommend-connent' style={{height: recommendHeight}}>\n <TouchScroll height={recommendHeight} key={recommendHeight}>\n {recommends.map((item, index) => {\n if (!(item.Value || []).length) return null;\n return <div key={index} className='detail-content'>\n <h1>{item.Name}</h1>\n <CardList\n list={item.Value || []}\n maxEmpyt={5}\n />\n </div>\n })}\n </TouchScroll>\n {initEmpty && emptyRecommend}\n </div>\n {initEmpty && emptyData}\n </div>\n </TabPane>;\n };\n\n recentlyEle = ({ title, key }) => {\n const {memberTabHeight, memberInfo: {recency = []} = {}} = this.props;\n const theadHeight = 50;\n const tableHeight = memberTabHeight - this.tabHeadHeight;\n const dataSource = [];\n const data = recency;\n data.forEach((vlaue, i) => {\n const index = dataSource.findIndex(v => v.code === vlaue.Code);\n if (~index) {\n dataSource[index].data.push(vlaue);\n } else {\n const { Time, Code, ...rest } = vlaue || {};\n const itemValue = { date: Time, code: Code, data: [rest] };\n dataSource.push(itemValue);\n }\n });\n\n dataSource.forEach(value => {\n // 金额倒序排序\n const itemData = value.data;\n if (itemData.length > 1) {\n itemData.sort((a = {}, b = {}) => b.Amount - a.Amount);\n }\n });\n\n return <TabPane tab={title} key={key}>\n {!!dataSource.length && <div className='recently-tab'>\n <table className='table'>\n <thead>\n <tr>\n <th width='25%'>消费日期</th>\n <th width='25%'>商品</th>\n <th width='25%' style={{textAlign: 'center'}}>数量</th>\n <th width='25%' className='amount-item'>消费金额</th>\n </tr>\n </thead>\n <tbody style={{height: tableHeight - theadHeight}}>\n <TouchScroll>\n {dataSource.map((item, key) => {\n return item.data.map((v, i) =>\n <tr key={i}>\n {!i ?\n <td className={item.data.length === 1 ? 'only-one-data' : ''}>{dateFormat(item.date)}</td> :\n <td className={item.data.length - 1 === i ? 'data-border' : ''}/>\n }\n <td data-overflow='tip'>{v.Name}</td>\n <td data-overflow='tip' style={{textAlign: 'center'}}>{v.Quantity}</td>\n <td data-overflow='tip'>{v.Amount}</td>\n </tr>\n );\n })}\n </TouchScroll>\n </tbody>\n </table>\n </div>}\n {!dataSource.length && <div style={{height: tableHeight, position: 'relative'}}><div className='empty-data empty-data-img' /></div>}\n </TabPane>;\n };\n\n render() {\n const {defaultActiveKey = '1' } = this.props;\n return (\n <Tabs\n defaultActiveKey={defaultActiveKey}\n onChange={this.props.onChange}\n className=\"member-table-container\"\n >\n {this.memberInfoEle({ title: '会员信息', key: '1' })}\n {this.rmecommendEle({ title: '智能推荐', key: '2' })}\n {this.recentlyEle({ title: '最近购买', key: '3' })}\n </Tabs>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/memberTab.js"],"names":["TabPane","transform","Code","CardCode","Name","MemberTypeName","Mobilephone","Telephone","StoreName","sex","BirthDate","TotalIntegral","BalanceIntegral","BalanceStorage","TotalStorage","TotalBegin","EffectiveDate","ExpirationDate","UmemberOpenId","UmemberLabel","MemberCouponTitle","Memo","MemberTab","observer","props","stores","user","loginInfo","IsEnableUMember","state","overflowTip","OverflowTip","target","format","text","colonStr","startsWith","split","containerDom","update","destroy","defaultActiveKey","onChange","memberInfoEle","title","key","rmecommendEle","recentlyEle","Component","propTypes","memberTabHeight","PropTypes","number","any","memberList","array","columnInfo","member","object","memberInfo","precisionInfo","initEmpty","bool","func","tabHeadHeight","dataClear","keys","values","regKey","dataSource","forEach","index","includes","find","v","FieldName","label","Title","push","value","filter","platform","isNewRetailBCPos","getMemberStateStamp","DynamicPropertyKeys","DynamicPropertyValues","MemberType","Sex","isExpiration","Uid","isUserLogout","MemberState","Store","priuserdefData","isUMember","isUMemberShow","memberValues","memberInfos","memberTabContentHeight","hasMemberInfo","some","enumController","getEnumOj","Differentiate","CC_NOT_DISPLAY","COUPON","isHaveCCNot","item","memberValue","precision","undefined","dataItem","length","map","formatValue","formatDateKeys","iconItems","height","position","recommend","recommends","record","like","Value","recommendInfoHeight","haveRecord","every","console","log","emptyRecommend","emptyData","showInfos","recordFilter","name","recommendHeight","recency","theadHeight","tableHeight","data","vlaue","i","findIndex","code","Time","rest","itemValue","date","itemData","sort","a","b","Amount","textAlign","Quantity"],"mappings":"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","file":"memberTab.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Tabs } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { stores, localStore } from 'mutants-microfx';\r\nimport { OverflowTip, TouchScroll, CardList } from 'tplus-components-touch';\r\nimport { formatPrecision, dateFormat } from '../utils';\r\nimport PropTypes from 'prop-types';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport './ShopMember.less';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nlet transform = {\r\n Code: '会员编号',\r\n CardCode: '会员卡号',\r\n Name: '会员姓名',\r\n MemberTypeName: '会员类型',\r\n Mobilephone: '手机号',\r\n Telephone: '联系电话',\r\n StoreName:'开卡门店',\r\n sex: '性别',\r\n BirthDate: '出生日期',\r\n TotalIntegral: '累计积分',\r\n BalanceIntegral: '积分余额',\r\n BalanceStorage: '当前总余额',\r\n TotalStorage: '储值总额', // 字段存疑\r\n TotalBegin: '期初余额',\r\n EffectiveDate: '生效日期',\r\n ExpirationDate: '失效日期',\r\n UmemberOpenId: '是否关注微信号',\r\n UmemberLabel: '会员标签',\r\n MemberCouponTitle: '优惠券',\r\n Memo: '备注',\r\n};\r\n\r\n@observer\r\nexport default class MemberTab extends Component {\r\n\r\n static propTypes = {\r\n memberTabHeight: PropTypes.number,\r\n defaultActiveKey: PropTypes.any,\r\n memberList: PropTypes.array,\r\n columnInfo: PropTypes.array,\r\n member: PropTypes.object,\r\n memberInfo: PropTypes.object,\r\n precisionInfo: PropTypes.object,\r\n initEmpty: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n };\r\n\r\n tabHeadHeight = 37;\r\n\r\n constructor(props) {\r\n super(props);\r\n const { loginInfo: { IsEnableUMember } = {} } = stores.user || {};\r\n this.state = { IsEnableUMember: !!IsEnableUMember };\r\n }\r\n\r\n componentDidMount() {\r\n this.overflowTip = new OverflowTip({\r\n target: '.member-content-tab',\r\n format(text) {\r\n text = text || '';\r\n const colonStr = ':';\r\n if (text.startsWith(colonStr)) {\r\n return text.split(colonStr)[1];\r\n }\r\n return text;\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.overflowTip && !this.overflowTip.containerDom) {\r\n this.overflowTip.update();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.overflowTip.destroy();\r\n }\r\n\r\n dataClear = (keys, values, columnInfo) => {\r\n const regKey = 'priuserdef';\r\n const dataSource = [];\r\n keys.forEach((key, index) => {\r\n if (key.includes(regKey)) {\r\n const {Title: label} = columnInfo.find(v => v.FieldName === key) || {};\r\n dataSource.push({key, value: values[index], label});\r\n }\r\n });\r\n return dataSource.filter(v => v.label);\r\n }\r\n\r\n memberInfoEle = ({ title, key }) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n const { member = {}, memberTabHeight, memberList = [], columnInfo = [], precisionInfo = {}, getMemberStateStamp} = this.props;\r\n const {IsEnableUMember} = this.state;\r\n const { DynamicPropertyKeys = [], DynamicPropertyValues = [], ExpirationDate = '', MemberType: { Name: MemberTypeName } = {},\r\n Sex: { Name: sex } = {}, isExpiration, Uid, isUserLogout, MemberState, Store: { Name : StoreName } = {} } = member;\r\n let priuserdefData = this.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);\r\n const isUMember = IsEnableUMember && Uid > 0; // 判断为u会员\r\n const isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];\r\n const memberValues = { MemberTypeName, sex, StoreName , ...member};\r\n const memberInfos = [];\r\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\r\n const hasMemberInfo = Object.keys(memberValues).some(v => memberValues[v]);\r\n const { Differentiate } = enumController.getEnumOj();\r\n\r\n const CC_NOT_DISPLAY = [\"Code\", \"ExpirationDate\", \"UmemberOpenId\", \"UmemberLabel\"];\r\n\r\n transform.MemberCouponTitle = Differentiate.COUPON;\r\n transform.MemberTypeName = Differentiate.MemberTypeName;\r\n Object.keys(transform).forEach(v => {\r\n // 查找CC不需要显示的字段\r\n const isHaveCCNot = CC_NOT_DISPLAY.find(item => item == v);\r\n if (isNewRetailBCPos && isHaveCCNot) return;\r\n if (isUMemberShow.includes(v) && !isNewRetailBCPos &&!isUMember ) return;\r\n const memberValue = memberValues[v];\r\n const precision = precisionInfo[v];\r\n //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\r\n let value = !!precision ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\r\n (v === 'UmemberOpenId') && (value = memberValue ? '已关注' : '未关注');\r\n const dataItem = { label: `${transform[v]}`, value };\r\n memberInfos.push(dataItem);\r\n });\r\n\r\n //对自定义项的值进行处理。\r\n if (priuserdefData && priuserdefData.length > 0) {\r\n priuserdefData.map(item => {\r\n let { key, value } = item || {};\r\n let precision = precisionInfo[key];\r\n item['value'] = !!precision ? formatPrecision(value, precision) : value;\r\n })\r\n }\r\n\r\n memberInfos.push(...priuserdefData) // 插入会员自定义项\r\n memberInfos.length % 2 && memberInfos.push({}); //奇数补全\r\n\r\n const formatValue = (label, value) => {\r\n const formatDateKeys = ['出生日期', '失效日期', '生效日期'];\r\n if (formatDateKeys.includes(label)) {\r\n return dateFormat(value);\r\n } else {\r\n return value;\r\n }\r\n }\r\n //状态戳\r\n let iconItems = getMemberStateStamp(member);\r\n return (\r\n <TabPane tab={title} key={key}>\r\n <div style={{ height: memberTabContentHeight, position: 'relative' }}>\r\n <TouchScroll height={memberTabContentHeight} >\r\n {\r\n !!memberList.length && <div className='member-info-table'>\r\n {\r\n memberInfos.map((item, index) => <div key={index}>\r\n {item.label && <span>{item.label || ''}</span>}\r\n {item.label && <span data-overflow='tip'>:{formatValue(item.label, item.value)}</span>}\r\n </div>)\r\n }\r\n {\r\n !memberInfos.length && <p className='empty-data'>暂无数据~</p>\r\n }\r\n </div>\r\n }\r\n {\r\n !memberList.length && <div className='empty-data empty-data-img' />\r\n }\r\n </TouchScroll>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-detail-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n </div>\r\n </TabPane >)\r\n };\r\n\r\n rmecommendEle = ({ title, key }) => {\r\n let { recommend: recommends = [], memberInfo: { record = [], like = [] } = {}, memberTabHeight, initEmpty } = this.props;\r\n recommends = recommends.filter(v => v);\r\n recommends.push({ Name: '最近购买', Value: like });\r\n const recommendInfoHeight = 74;\r\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\r\n const haveRecord = !!record.length && record.every(v => !!(v && v.value));\r\n console.log('会员偶发白屏问题:recommends==', recommends)\r\n const emptyRecommend = recommends.every(v => !((v && v.Value) || []).length) ? <div className='empty-data'>暂无推荐~</div> : null;\r\n const emptyData = (!haveRecord && recommends.every(v => !((v && v.Value) || []).length)) ? <div className='empty-data empty-data-img' /> : null;\r\n const showInfos = ['最近购买时间', '金额', '平均客单价']\r\n const recordFilter = record.filter(v => showInfos.includes(v.name));\r\n const recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;\r\n return <TabPane tab={title} key={key}>\r\n <div className='recommend-tab' style={{height: memberTabContentHeight}}>\r\n {haveRecord && <div className='recommend-info'>\r\n {recordFilter.map((item, key) => <span key={key}>{item.name}: {item.value}</span>)}\r\n </div>}\r\n <div className='recommend-connent' style={{height: recommendHeight}}>\r\n <TouchScroll height={recommendHeight} key={recommendHeight}>\r\n {recommends.map((item, index) => {\r\n if (!(item.Value || []).length) return null;\r\n return <div key={index} className='detail-content'>\r\n <h1>{item.Name}</h1>\r\n <CardList\r\n list={item.Value || []}\r\n maxEmpyt={5}\r\n />\r\n </div>\r\n })}\r\n </TouchScroll>\r\n {initEmpty && emptyRecommend}\r\n </div>\r\n {initEmpty && emptyData}\r\n </div>\r\n </TabPane>;\r\n };\r\n\r\n recentlyEle = ({ title, key }) => {\r\n const {memberTabHeight, memberInfo: {recency = []} = {}} = this.props;\r\n const theadHeight = 50;\r\n const tableHeight = memberTabHeight - this.tabHeadHeight;\r\n const dataSource = [];\r\n const data = recency;\r\n data.forEach((vlaue, i) => {\r\n const index = dataSource.findIndex(v => v.code === vlaue.Code);\r\n if (~index) {\r\n dataSource[index].data.push(vlaue);\r\n } else {\r\n const { Time, Code, ...rest } = vlaue || {};\r\n const itemValue = { date: Time, code: Code, data: [rest] };\r\n dataSource.push(itemValue);\r\n }\r\n });\r\n\r\n dataSource.forEach(value => {\r\n // 金额倒序排序\r\n const itemData = value.data;\r\n if (itemData.length > 1) {\r\n itemData.sort((a = {}, b = {}) => b.Amount - a.Amount);\r\n }\r\n });\r\n\r\n return <TabPane tab={title} key={key}>\r\n {!!dataSource.length && <div className='recently-tab'>\r\n <table className='table'>\r\n <thead>\r\n <tr>\r\n <th width='25%'>消费日期</th>\r\n <th width='25%'>商品</th>\r\n <th width='25%' style={{textAlign: 'center'}}>数量</th>\r\n <th width='25%' className='amount-item'>消费金额</th>\r\n </tr>\r\n </thead>\r\n <tbody style={{height: tableHeight - theadHeight}}>\r\n <TouchScroll>\r\n {dataSource.map((item, key) => {\r\n return item.data.map((v, i) =>\r\n <tr key={i}>\r\n {!i ?\r\n <td className={item.data.length === 1 ? 'only-one-data' : ''}>{dateFormat(item.date)}</td> :\r\n <td className={item.data.length - 1 === i ? 'data-border' : ''}/>\r\n }\r\n <td data-overflow='tip'>{v.Name}</td>\r\n <td data-overflow='tip' style={{textAlign: 'center'}}>{v.Quantity}</td>\r\n <td data-overflow='tip'>{v.Amount}</td>\r\n </tr>\r\n );\r\n })}\r\n </TouchScroll>\r\n </tbody>\r\n </table>\r\n </div>}\r\n {!dataSource.length && <div style={{height: tableHeight, position: 'relative'}}><div className='empty-data empty-data-img' /></div>}\r\n </TabPane>;\r\n };\r\n\r\n render() {\r\n const {defaultActiveKey = '1' } = this.props;\r\n return (\r\n <Tabs\r\n defaultActiveKey={defaultActiveKey}\r\n onChange={this.props.onChange}\r\n className=\"member-table-container\"\r\n >\r\n {this.memberInfoEle({ title: '会员信息', key: '1' })}\r\n {this.rmecommendEle({ title: '智能推荐', key: '2' })}\r\n {this.recentlyEle({ title: '最近购买', key: '3' })}\r\n </Tabs>\r\n );\r\n }\r\n}\r\n"]}
package/dist/socket.js CHANGED
@@ -35,20 +35,20 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
35
35
 
36
36
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
37
 
38
- /**
39
- * Created by hzy on 2019/7/26.
38
+ /**
39
+ * Created by hzy on 2019/7/26.
40
40
  */
41
- /**
42
- * host 主机
43
- * path 地址
44
- * connected 连接成功后的回调
45
- * error 错误信息的回调
46
- * reconnect 触发重连的钩子
47
- * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接
48
- * send 发送消息
49
- * on 监听推送消息
50
- * stop 停止连接
51
- *
41
+ /**
42
+ * host 主机
43
+ * path 地址
44
+ * connected 连接成功后的回调
45
+ * error 错误信息的回调
46
+ * reconnect 触发重连的钩子
47
+ * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接
48
+ * send 发送消息
49
+ * on 监听推送消息
50
+ * stop 停止连接
51
+ *
52
52
  **/
53
53
  var Socket = function () {
54
54
  function Socket(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/socket.js"],"names":["signalR","Socket","host","path","connected","error","reconnect","token","connection","_init","on","stop","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","build","start","then","catch","_error","err","onclose","console","options","reInit","forEach","key","type","func","params","invoke","stoped"],"mappings":"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","file":"socket.js","sourcesContent":["/**\n * Created by hzy on 2019/7/26.\n */\n/**\n * host 主机\n * path 地址\n * connected 连接成功后的回调\n * error 错误信息的回调\n * reconnect 触发重连的钩子\n * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接\n * send 发送消息\n * on 监听推送消息\n * stop 停止连接\n *\n**/\nimport * as signalR from '@aspnet/signalr';\nimport { throttle } from './utils';\n\nexport default class Socket {\n constructor({ host, path, connected, error, reconnect, token }) {\n this.host = host;\n this.path = path;\n this.token = token;\n this.connected = connected || (() => { });\n this.reconnect = reconnect || (() => { });\n this.error = error || (() => { });\n this.connection = this._init();\n this.on = this.on;\n this.stop = this.stop;\n }\n\n _init() {\n const connection = new signalR.HubConnectionBuilder()\n .withUrl(`${this.host}${this.path}`, {\n accessTokenFactory: () => this.token\n })\n .configureLogging(signalR.LogLevel.Information)\n .build();\n\n connection.start().then(() => this.connected(connection)).catch(err => this._error(err));\n connection.onclose(() => this.reconnect(connection));\n\n return connection;\n }\n\n _error(err) {\n console.error('signalR:', err);\n this.error(err);\n throttle(() => {\n this.reconnect(this.connection);\n }, 3000);\n }\n\n updateConfig(options, reInit) {\n if (options && typeof options === 'object') {\n Object.keys(options).forEach(key => this[key] = options[key]);\n }\n if (reInit) {\n this.stop(() => {\n this.connection = this._init();\n });\n } else {\n this.connection.start().then(() => this.connected(this.connection)).catch(err => this._error(err));\n }\n }\n\n on(type, func) {\n this.connection.on(type, (...argument) => func(...argument));\n }\n\n send(type, params = [], error) {\n this.connection.invoke(type, ...params).catch(err => error && error(err));\n }\n\n stop(func) {\n const stoped = () => {\n this.connection = null;\n func && func();\n }\n this.connection.stop().then(stoped).catch(stoped);\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/socket.js"],"names":["signalR","Socket","host","path","connected","error","reconnect","token","connection","_init","on","stop","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","build","start","then","catch","_error","err","onclose","console","options","reInit","forEach","key","type","func","params","invoke","stoped"],"mappings":"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","file":"socket.js","sourcesContent":["/**\r\n * Created by hzy on 2019/7/26.\r\n */\r\n/**\r\n * host 主机\r\n * path 地址\r\n * connected 连接成功后的回调\r\n * error 错误信息的回调\r\n * reconnect 触发重连的钩子\r\n * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接\r\n * send 发送消息\r\n * on 监听推送消息\r\n * stop 停止连接\r\n *\r\n**/\r\nimport * as signalR from '@aspnet/signalr';\r\nimport { throttle } from './utils';\r\n\r\nexport default class Socket {\r\n constructor({ host, path, connected, error, reconnect, token }) {\r\n this.host = host;\r\n this.path = path;\r\n this.token = token;\r\n this.connected = connected || (() => { });\r\n this.reconnect = reconnect || (() => { });\r\n this.error = error || (() => { });\r\n this.connection = this._init();\r\n this.on = this.on;\r\n this.stop = this.stop;\r\n }\r\n\r\n _init() {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${this.host}${this.path}`, {\r\n accessTokenFactory: () => this.token\r\n })\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n connection.start().then(() => this.connected(connection)).catch(err => this._error(err));\r\n connection.onclose(() => this.reconnect(connection));\r\n\r\n return connection;\r\n }\r\n\r\n _error(err) {\r\n console.error('signalR:', err);\r\n this.error(err);\r\n throttle(() => {\r\n this.reconnect(this.connection);\r\n }, 3000);\r\n }\r\n\r\n updateConfig(options, reInit) {\r\n if (options && typeof options === 'object') {\r\n Object.keys(options).forEach(key => this[key] = options[key]);\r\n }\r\n if (reInit) {\r\n this.stop(() => {\r\n this.connection = this._init();\r\n });\r\n } else {\r\n this.connection.start().then(() => this.connected(this.connection)).catch(err => this._error(err));\r\n }\r\n }\r\n\r\n on(type, func) {\r\n this.connection.on(type, (...argument) => func(...argument));\r\n }\r\n\r\n send(type, params = [], error) {\r\n this.connection.invoke(type, ...params).catch(err => error && error(err));\r\n }\r\n\r\n stop(func) {\r\n const stoped = () => {\r\n this.connection = null;\r\n func && func();\r\n }\r\n this.connection.stop().then(stoped).catch(stoped);\r\n }\r\n}\r\n"]}