tplus-member 3.26.2 → 3.26.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. package/dist/api.js +191 -0
  2. package/dist/api.js.map +1 -0
  3. package/dist/controllers/FeedbackController.js +53 -0
  4. package/dist/controllers/FeedbackController.js.map +1 -0
  5. package/dist/controllers/MemberOrderController.js +357 -0
  6. package/dist/controllers/MemberOrderController.js.map +1 -0
  7. package/dist/controllers/OpenCardController.js +292 -0
  8. package/dist/controllers/OpenCardController.js.map +1 -0
  9. package/dist/controllers/defaultConfig.js +19 -0
  10. package/dist/controllers/defaultConfig.js.map +1 -0
  11. package/dist/dataProvider/member.js +156 -0
  12. package/dist/dataProvider/member.js.map +1 -0
  13. package/dist/dataProvider/openCard.js +149 -0
  14. package/dist/dataProvider/openCard.js.map +1 -0
  15. package/dist/domain/member/AuthProcess.js +40 -0
  16. package/dist/domain/member/AuthProcess.js.map +1 -0
  17. package/dist/domain/member/CardCodeChangedProcessor.js +35 -0
  18. package/dist/domain/member/CardCodeChangedProcessor.js.map +1 -0
  19. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +48 -0
  20. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +1 -0
  21. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +38 -0
  22. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +1 -0
  23. package/dist/domain/member/CheckPresentAmountProcessor.js +99 -0
  24. package/dist/domain/member/CheckPresentAmountProcessor.js.map +1 -0
  25. package/dist/domain/member/EffectiveDateChangedProcessor.js +57 -0
  26. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +1 -0
  27. package/dist/domain/member/GetThisPresentAmountProcessor.js +112 -0
  28. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +1 -0
  29. package/dist/domain/member/InitDataProcessor.js +153 -0
  30. package/dist/domain/member/InitDataProcessor.js.map +1 -0
  31. package/dist/domain/member/IsMemberEffectiveProcessor.js +45 -0
  32. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +1 -0
  33. package/dist/domain/member/IsMemberEnableProcessor.js +42 -0
  34. package/dist/domain/member/IsMemberEnableProcessor.js.map +1 -0
  35. package/dist/domain/member/IsMemberExpirationProcessor.js +46 -0
  36. package/dist/domain/member/IsMemberExpirationProcessor.js.map +1 -0
  37. package/dist/domain/member/IsMemberPasswordSameProcessor.js +41 -0
  38. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +1 -0
  39. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +46 -0
  40. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +1 -0
  41. package/dist/domain/member/MemberTypeChangedProcessor.js +127 -0
  42. package/dist/domain/member/MemberTypeChangedProcessor.js.map +1 -0
  43. package/dist/domain/member/MobilephoneChangedProcessor.js +39 -0
  44. package/dist/domain/member/MobilephoneChangedProcessor.js.map +1 -0
  45. package/dist/domain/member/PersonProcesser.js +35 -0
  46. package/dist/domain/member/PersonProcesser.js.map +1 -0
  47. package/dist/domain/member/PriuserdefChangedProcessor.js +50 -0
  48. package/dist/domain/member/PriuserdefChangedProcessor.js.map +1 -0
  49. package/dist/domain/operationLog/AddLogProcessor.js +46 -0
  50. package/dist/domain/operationLog/AddLogProcessor.js.map +1 -0
  51. package/dist/domain/operationLog/OperationConfig.js +34 -0
  52. package/dist/domain/operationLog/OperationConfig.js.map +1 -0
  53. package/dist/domain/operationLog/OperationLog.js +170 -0
  54. package/dist/domain/operationLog/OperationLog.js.map +1 -0
  55. package/dist/index.js +99 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/member/MemberCardList.js +374 -0
  58. package/dist/member/MemberCardList.js.map +1 -0
  59. package/dist/member/MemberPhoto.js +246 -0
  60. package/dist/member/MemberPhoto.js.map +1 -0
  61. package/dist/member/MemberShow.js +170 -0
  62. package/dist/member/MemberShow.js.map +1 -0
  63. package/dist/member/ShopMember.js +978 -0
  64. package/dist/member/ShopMember.js.map +1 -0
  65. package/dist/member/ShopMember.less +595 -0
  66. package/dist/member/ShopMemberStorage.js +400 -0
  67. package/dist/member/ShopMemberStorage.js.map +1 -0
  68. package/dist/member/api.js +983 -0
  69. package/dist/member/api.js.map +1 -0
  70. package/dist/member/color.less +32 -0
  71. package/dist/member/index.js +1026 -0
  72. package/dist/member/index.js.map +1 -0
  73. package/dist/member/index.less +570 -0
  74. package/dist/member/memberMenu/bindCard/index.js +291 -0
  75. package/dist/member/memberMenu/bindCard/index.js.map +1 -0
  76. package/dist/member/memberMenu/bindCard/style.less +8 -0
  77. package/dist/member/memberMenu/changeMemberCard/index.js +260 -0
  78. package/dist/member/memberMenu/changeMemberCard/index.js.map +1 -0
  79. package/dist/member/memberMenu/changeMemberCard/style.less +43 -0
  80. package/dist/member/memberMenu/index.js +870 -0
  81. package/dist/member/memberMenu/index.js.map +1 -0
  82. package/dist/member/memberMenu/modifyPass/index.js +389 -0
  83. package/dist/member/memberMenu/modifyPass/index.js.map +1 -0
  84. package/dist/member/memberMenu/modifyPass/store.js +330 -0
  85. package/dist/member/memberMenu/modifyPass/store.js.map +1 -0
  86. package/dist/member/memberMenu/modifyPass/style.less +96 -0
  87. package/dist/member/memberMenu/style.less +127 -0
  88. package/dist/member/memberMenuStorage/bindCard/index.js +169 -0
  89. package/dist/member/memberMenuStorage/bindCard/index.js.map +1 -0
  90. package/dist/member/memberMenuStorage/bindCard/style.less +8 -0
  91. package/dist/member/memberMenuStorage/changeMemberCard/index.js +260 -0
  92. package/dist/member/memberMenuStorage/changeMemberCard/index.js.map +1 -0
  93. package/dist/member/memberMenuStorage/changeMemberCard/style.less +43 -0
  94. package/dist/member/memberMenuStorage/index.js +1215 -0
  95. package/dist/member/memberMenuStorage/index.js.map +1 -0
  96. package/dist/member/memberMenuStorage/modifyPass/index.js +419 -0
  97. package/dist/member/memberMenuStorage/modifyPass/index.js.map +1 -0
  98. package/dist/member/memberMenuStorage/modifyPass/store.js +426 -0
  99. package/dist/member/memberMenuStorage/modifyPass/store.js.map +1 -0
  100. package/dist/member/memberMenuStorage/modifyPass/style.less +96 -0
  101. package/dist/member/memberMenuStorage/style.less +127 -0
  102. package/dist/member/memberTab/MemberCardInfo.js +89 -0
  103. package/dist/member/memberTab/MemberCardInfo.js.map +1 -0
  104. package/dist/member/memberTab/MemberManager.js +591 -0
  105. package/dist/member/memberTab/MemberManager.js.map +1 -0
  106. package/dist/member/memberTab/MemberStorage.js +150 -0
  107. package/dist/member/memberTab/MemberStorage.js.map +1 -0
  108. package/dist/member/memberTab/index.js +133 -0
  109. package/dist/member/memberTab/index.js.map +1 -0
  110. package/dist/socket.js +164 -0
  111. package/dist/socket.js.map +1 -0
  112. package/dist/stores/MemberStore.js +544 -0
  113. package/dist/stores/MemberStore.js.map +1 -0
  114. package/dist/stores/index.js +16 -0
  115. package/dist/stores/index.js.map +1 -0
  116. package/dist/utils.js +186 -0
  117. package/dist/utils.js.map +1 -0
  118. package/dist/viewController/MemberOrderViewController.js.map +1 -0
  119. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js +44 -0
  120. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +66 -0
  121. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +1 -0
  122. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +79 -0
  123. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +1 -0
  124. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js +136 -0
  125. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js.map +1 -0
  126. package/dist/viewModels/memberVoucher.js +269 -0
  127. package/dist/viewModels/memberVoucher.js.map +1 -0
  128. package/dist/views/MemberOrderView.js +438 -0
  129. package/dist/views/MemberOrderView.js.map +1 -0
  130. package/dist/views/MemberStore.less +143 -0
  131. package/dist/views/MemberStoreNew.less +231 -0
  132. package/dist/views/MemberStoreNewView.js +526 -0
  133. package/dist/views/MemberStoreNewView.js.map +1 -0
  134. package/dist/views/MemberStoreView.js +441 -0
  135. package/dist/views/MemberStoreView.js.map +1 -0
  136. package/dist/views/MemberStoreViewContainer.js +72 -0
  137. package/dist/views/MemberStoreViewContainer.js.map +1 -0
  138. package/dist/views/PresentDetail.less +119 -0
  139. package/dist/views/PresetDetailView.js +88 -0
  140. package/dist/views/PresetDetailView.js.map +1 -0
  141. package/dist/views/memberOrder.less +54 -0
  142. package/package.json +1 -1
@@ -0,0 +1,150 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _keys = require('babel-runtime/core-js/object/keys');
9
+
10
+ var _keys2 = _interopRequireDefault(_keys);
11
+
12
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
+
14
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
+
16
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
+
18
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
+
20
+ var _createClass2 = require('babel-runtime/helpers/createClass');
21
+
22
+ var _createClass3 = _interopRequireDefault(_createClass2);
23
+
24
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
25
+
26
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
27
+
28
+ var _inherits2 = require('babel-runtime/helpers/inherits');
29
+
30
+ var _inherits3 = _interopRequireDefault(_inherits2);
31
+
32
+ var _class;
33
+
34
+ var _react = require('react');
35
+
36
+ var _react2 = _interopRequireDefault(_react);
37
+
38
+ var _mobxReact = require('mobx-react');
39
+
40
+ var _tplusComponentsTouch = require('tplus-components-touch');
41
+
42
+ var _MemberCardInfo = require('./MemberCardInfo');
43
+
44
+ var _MemberCardInfo2 = _interopRequireDefault(_MemberCardInfo);
45
+
46
+ var _utils = require('../../utils');
47
+
48
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
+
50
+ var cardFieldNamesList = {
51
+ 'Name': '卡名称',
52
+ 'StorageCardNo': '卡号',
53
+ 'CardTypeEnum': false,
54
+ 'ValidMethodEnum': false,
55
+ 'TotalStorage': false,
56
+ 'BalanceStorage': false,
57
+ 'OpeningStoreName': '开卡门店'
58
+
59
+ };
60
+ var cardFieldCustomList = {
61
+ 'CardTypeEnum': '卡类型',
62
+ 'ValidMethodEnum': '有效期至',
63
+ 'TotalStorage': '储值总额',
64
+ 'BalanceStorage': '储值余额'
65
+ };
66
+ var memberFieldNamesList = {
67
+ 'MemberName': '会员名称',
68
+ 'MemberMobile': '手机号'
69
+ };
70
+
71
+ var MemberStorage = (0, _mobxReact.observer)(_class = function (_Component) {
72
+ (0, _inherits3.default)(MemberStorage, _Component);
73
+
74
+ function MemberStorage() {
75
+ var _ref;
76
+
77
+ var _temp, _this, _ret;
78
+
79
+ (0, _classCallCheck3.default)(this, MemberStorage);
80
+
81
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
82
+ args[_key] = arguments[_key];
83
+ }
84
+
85
+ return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = MemberStorage.__proto__ || (0, _getPrototypeOf2.default)(MemberStorage)).call.apply(_ref, [this].concat(args))), _this), _this.tabHeadHeight = 37, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);
86
+ }
87
+
88
+ (0, _createClass3.default)(MemberStorage, [{
89
+ key: 'render',
90
+ value: function render() {
91
+ var _props = this.props,
92
+ memberTabHeight = _props.memberTabHeight,
93
+ _props$cardList = _props.cardList,
94
+ cardList = _props$cardList === undefined ? [] : _props$cardList,
95
+ cardTypeEnumList = _props.cardTypeEnumList,
96
+ storeKey = _props.storeKey;
97
+
98
+ var memberTabContentHeight = memberTabHeight - this.tabHeadHeight;
99
+ var cardListInfo = cardList[0] || {};
100
+ var CardTypeEnum = cardListInfo.CardTypeEnum,
101
+ ValidMethodEnum = cardListInfo.ValidMethodEnum,
102
+ DueDate = cardListInfo.DueDate;
103
+
104
+ var cardInfo = [];
105
+ var memberInfos = [];
106
+ (0, _keys2.default)(cardFieldNamesList).forEach(function (item) {
107
+ var keys = cardFieldNamesList[item];
108
+ if (keys === false) {
109
+ item === 'CardTypeEnum' && cardInfo.push({ 'label': cardFieldCustomList[item], value: cardTypeEnumList[cardListInfo[item]] });
110
+
111
+ item === 'ValidMethodEnum' && cardInfo.push({ 'label': cardFieldCustomList[item], value: cardListInfo[item] === 'LONG_PERIOD' ? '长期有效' : (0, _utils.dateFormat)(DueDate) });
112
+
113
+ _utils.formatPrecisionKeys.includes(item) && cardInfo.push({ 'label': cardFieldCustomList[item], value: (0, _utils.formatPrecision)(cardListInfo[item], 2) });
114
+ } else {
115
+ var value = cardListInfo[item];
116
+ cardInfo.push({ 'label': keys, value: value });
117
+ }
118
+ });
119
+ (0, _keys2.default)(memberFieldNamesList).forEach(function (item) {
120
+ if (item in cardListInfo) memberInfos.push({ 'label': memberFieldNamesList[item], value: cardListInfo[item] });
121
+ });
122
+ return _react2.default.createElement(
123
+ 'div',
124
+ { style: { height: memberTabContentHeight, position: 'relative' }, className: 'member-table-container' },
125
+ _react2.default.createElement(
126
+ _tplusComponentsTouch.TouchScroll,
127
+ { height: memberTabContentHeight },
128
+ _react2.default.createElement(_MemberCardInfo2.default, {
129
+ title: '\u5361\u4FE1\u606F',
130
+ keyName: 'cardInfos',
131
+ list: cardInfo,
132
+ cardList: cardList,
133
+ storeKey: storeKey
134
+ }),
135
+ _react2.default.createElement(_MemberCardInfo2.default, {
136
+ title: '\u5DF2\u7ED1\u5B9A\u4F1A\u5458',
137
+ keyName: 'memberInfos',
138
+ list: memberInfos,
139
+ cardList: cardList,
140
+ storeKey: storeKey
141
+ })
142
+ )
143
+ );
144
+ }
145
+ }]);
146
+ return MemberStorage;
147
+ }(_react.Component)) || _class;
148
+
149
+ exports.default = MemberStorage;
150
+ //# sourceMappingURL=MemberStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-member/member/memberTab/MemberStorage.js"],"names":["cardFieldNamesList","cardFieldCustomList","memberFieldNamesList","MemberStorage","observer","tabHeadHeight","props","memberTabHeight","cardList","cardTypeEnumList","storeKey","memberTabContentHeight","cardListInfo","CardTypeEnum","ValidMethodEnum","DueDate","cardInfo","memberInfos","forEach","keys","item","push","value","formatPrecisionKeys","includes","height","position","Component"],"mappings":"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","file":"MemberStorage.js","sourcesContent":["import React, { Component } from 'react'\nimport { Card } from 'antd';\nimport { observer } from 'mobx-react';\nimport { TouchScroll } from 'tplus-components-touch';\nimport MemberCardInfo from './MemberCardInfo'\nimport { dateFormat, formatPrecision, formatPrecisionKeys } from '../../utils';\n\nconst cardFieldNamesList = {\n 'Name': '卡名称',\n 'StorageCardNo': '卡号',\n 'CardTypeEnum': false,\n 'ValidMethodEnum': false,\n 'TotalStorage': false,\n 'BalanceStorage': false,\n 'OpeningStoreName': '开卡门店',\n \n}\nconst cardFieldCustomList = {\n 'CardTypeEnum': '卡类型',\n 'ValidMethodEnum': '有效期至',\n 'TotalStorage': '储值总额',\n 'BalanceStorage': '储值余额',\n}\nconst memberFieldNamesList = {\n 'MemberName': '会员名称',\n 'MemberMobile': '手机号'\n}\n@observer\nexport default class MemberStorage extends Component {\n tabHeadHeight = 37;\n render () {\n const { memberTabHeight, cardList = [], cardTypeEnumList, storeKey } = this.props\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\n const cardListInfo = cardList[0] || {}\n const {CardTypeEnum, ValidMethodEnum, DueDate} = cardListInfo\n const cardInfo = []\n const memberInfos = []\n Object.keys(cardFieldNamesList).forEach(item => {\n const keys = cardFieldNamesList[item]\n if (keys === false) {\n item === 'CardTypeEnum' && cardInfo.push({'label': cardFieldCustomList[item], value: cardTypeEnumList[cardListInfo[item]] })\n \n item === 'ValidMethodEnum' && cardInfo.push({'label': cardFieldCustomList[item], value: cardListInfo[item] === 'LONG_PERIOD' ? '长期有效' : dateFormat(DueDate) })\n\n formatPrecisionKeys.includes(item) && cardInfo.push({'label': cardFieldCustomList[item], value: formatPrecision(cardListInfo[item], 2) })\n } else {\n const value = cardListInfo[item]\n cardInfo.push({'label': keys, value})\n }\n })\n Object.keys(memberFieldNamesList).forEach(item => {\n if (item in cardListInfo) memberInfos.push({'label': memberFieldNamesList[item], value: cardListInfo[item] })\n })\n return (\n <div style={{ height: memberTabContentHeight, position: 'relative' }} className=\"member-table-container\">\n <TouchScroll height={memberTabContentHeight} >\n <MemberCardInfo\n title='卡信息'\n keyName='cardInfos'\n list={cardInfo}\n cardList={cardList}\n storeKey={storeKey}\n />\n \n <MemberCardInfo\n title='已绑定会员'\n keyName='memberInfos'\n list={memberInfos}\n cardList={cardList}\n storeKey={storeKey}\n />\n </TouchScroll>\n </div>\n )\n }\n}"]}
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _extends2 = require('babel-runtime/helpers/extends');
9
+
10
+ var _extends3 = _interopRequireDefault(_extends2);
11
+
12
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
+
14
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
+
16
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
+
18
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
+
20
+ var _createClass2 = require('babel-runtime/helpers/createClass');
21
+
22
+ var _createClass3 = _interopRequireDefault(_createClass2);
23
+
24
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
25
+
26
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
27
+
28
+ var _inherits2 = require('babel-runtime/helpers/inherits');
29
+
30
+ var _inherits3 = _interopRequireDefault(_inherits2);
31
+
32
+ var _class, _class2, _temp;
33
+
34
+ var _react = require('react');
35
+
36
+ var _react2 = _interopRequireDefault(_react);
37
+
38
+ var _mobxReact = require('mobx-react');
39
+
40
+ var _tplusComponentsTouch = require('tplus-components-touch');
41
+
42
+ var _propTypes = require('prop-types');
43
+
44
+ var _propTypes2 = _interopRequireDefault(_propTypes);
45
+
46
+ var _MemberManager = require('./MemberManager');
47
+
48
+ var _MemberManager2 = _interopRequireDefault(_MemberManager);
49
+
50
+ var _MemberStorage = require('./MemberStorage');
51
+
52
+ var _MemberStorage2 = _interopRequireDefault(_MemberStorage);
53
+
54
+ require('../ShopMember.less');
55
+
56
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
+
58
+ // 卡类型
59
+ var cardTypeEnumList = {
60
+ BALANCE_CARD: "余额卡",
61
+ ELEC_STORAGE_CARD: "电子储值卡",
62
+ STORAGE_CARD: "储值卡",
63
+ PHYSICAL_STORAGE_CARD: "实体储值卡"
64
+ };
65
+
66
+ var MemberTab = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_Component) {
67
+ (0, _inherits3.default)(MemberTab, _Component);
68
+
69
+ function MemberTab() {
70
+ (0, _classCallCheck3.default)(this, MemberTab);
71
+ return (0, _possibleConstructorReturn3.default)(this, (MemberTab.__proto__ || (0, _getPrototypeOf2.default)(MemberTab)).apply(this, arguments));
72
+ }
73
+
74
+ (0, _createClass3.default)(MemberTab, [{
75
+ key: 'componentDidMount',
76
+ value: function componentDidMount() {
77
+ this.overflowTip = new _tplusComponentsTouch.OverflowTip({
78
+ target: '.member-content-tab',
79
+ format: function format(text) {
80
+ text = text || '';
81
+ var colonStr = ':';
82
+ if (text.startsWith(colonStr)) {
83
+ return text.split(colonStr)[1];
84
+ }
85
+ return text;
86
+ }
87
+ });
88
+ }
89
+ }, {
90
+ key: 'componentDidUpdate',
91
+ value: function componentDidUpdate() {
92
+ if (this.overflowTip && !this.overflowTip.containerDom) {
93
+ this.overflowTip.update();
94
+ }
95
+ }
96
+ }, {
97
+ key: 'componentWillUnmount',
98
+ value: function componentWillUnmount() {
99
+ this.overflowTip.destroy();
100
+ }
101
+ }, {
102
+ key: 'render',
103
+ value: function render() {
104
+ var _props = this.props,
105
+ _props$defaultActiveK = _props.defaultActiveKey,
106
+ defaultActiveKey = _props$defaultActiveK === undefined ? '1' : _props$defaultActiveK,
107
+ storeKey = _props.storeKey;
108
+
109
+ return _react2.default.createElement(
110
+ 'div',
111
+ null,
112
+ !!storeKey && storeKey === 'memberManager' && _react2.default.createElement(_MemberManager2.default, (0, _extends3.default)({ cardTypeEnumList: cardTypeEnumList }, this.props)),
113
+ !!storeKey && storeKey === 'memberStorage' && _react2.default.createElement(_MemberStorage2.default, (0, _extends3.default)({
114
+ cardTypeEnumList: cardTypeEnumList
115
+ }, this.props))
116
+ );
117
+ }
118
+ }]);
119
+ return MemberTab;
120
+ }(_react.Component), _class2.propTypes = {
121
+ memberTabHeight: _propTypes2.default.number,
122
+ defaultActiveKey: _propTypes2.default.any,
123
+ memberList: _propTypes2.default.array,
124
+ columnInfo: _propTypes2.default.array,
125
+ member: _propTypes2.default.object,
126
+ memberInfo: _propTypes2.default.object,
127
+ precisionInfo: _propTypes2.default.object,
128
+ initEmpty: _propTypes2.default.bool,
129
+ onChange: _propTypes2.default.func
130
+ }, _temp)) || _class;
131
+
132
+ exports.default = MemberTab;
133
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-member/member/memberTab/index.js"],"names":["cardTypeEnumList","BALANCE_CARD","ELEC_STORAGE_CARD","STORAGE_CARD","PHYSICAL_STORAGE_CARD","MemberTab","observer","overflowTip","OverflowTip","target","format","text","colonStr","startsWith","split","containerDom","update","destroy","props","defaultActiveKey","storeKey","Component","propTypes","memberTabHeight","PropTypes","number","any","memberList","array","columnInfo","member","object","memberInfo","precisionInfo","initEmpty","bool","onChange","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AAEA;AACA,IAAMA,mBAAmB;AACvBC,gBAAc,KADS;AAEvBC,qBAAmB,OAFI;AAGvBC,gBAAc,KAHS;AAIvBC,yBAAuB;AAJA,CAAzB;;IAOqBC,S,OADpBC,mB;;;;;;;;;;wCAeqB;AAClB,WAAKC,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;;;6BAEQ;AAAA,mBACqC,KAAKC,KAD1C;AAAA,yCACAC,gBADA;AAAA,UACAA,gBADA,yCACmB,GADnB;AAAA,UACwBC,QADxB,UACwBA,QADxB;;AAEP,aACI;AAAA;AAAA;AAEQ,SAAC,CAACA,QAAF,IAAcA,aAAa,eAA3B,IAA8C,8BAAC,uBAAD,2BAAe,kBAAkBpB,gBAAjC,IAAuD,KAAKkB,KAA5D,EAFtD;AAMQ,SAAC,CAACE,QAAF,IAAcA,aAAa,eAA3B,IACA,8BAAC,uBAAD;AACE,4BAAkBpB;AADpB,WAEM,KAAKkB,KAFX;AAPR,OADJ;AAeD;;;EAvDoCG,gB,WAE9BC,S,GAAY;AACjBC,mBAAiBC,oBAAUC,MADV;AAEjBN,oBAAkBK,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;AASjBC,YAAUZ,oBAAUa;AATH,C;;kBAFAhC,S","file":"index.js","sourcesContent":["import React, { Component } from 'react';\nimport { observer } from 'mobx-react';\nimport { OverflowTip } from 'tplus-components-touch';\nimport PropTypes from 'prop-types';\nimport MemberManager from './MemberManager';\nimport MemberStorage from './MemberStorage'\nimport '../ShopMember.less';\n\n// 卡类型\nconst cardTypeEnumList = {\n BALANCE_CARD: \"余额卡\", \n ELEC_STORAGE_CARD: \"电子储值卡\",\n STORAGE_CARD: \"储值卡\",\n PHYSICAL_STORAGE_CARD: \"实体储值卡\"\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 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 render() {\n const {defaultActiveKey = '1', storeKey } = this.props;\n return (\n <div>\n {\n !!storeKey && storeKey === 'memberManager' && <MemberManager cardTypeEnumList={cardTypeEnumList} {...this.props}\n />\n }\n {\n !!storeKey && storeKey === 'memberStorage' &&\n <MemberStorage\n cardTypeEnumList={cardTypeEnumList}\n {...this.props}\n />\n }\n </div>\n );\n }\n}\n"]}
package/dist/socket.js ADDED
@@ -0,0 +1,164 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
9
+
10
+ var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
11
+
12
+ var _keys = require('babel-runtime/core-js/object/keys');
13
+
14
+ var _keys2 = _interopRequireDefault(_keys);
15
+
16
+ var _typeof2 = require('babel-runtime/helpers/typeof');
17
+
18
+ var _typeof3 = _interopRequireDefault(_typeof2);
19
+
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
21
+
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
23
+
24
+ var _createClass2 = require('babel-runtime/helpers/createClass');
25
+
26
+ var _createClass3 = _interopRequireDefault(_createClass2);
27
+
28
+ var _signalr = require('@aspnet/signalr');
29
+
30
+ var signalR = _interopRequireWildcard(_signalr);
31
+
32
+ var _utils = require('./utils');
33
+
34
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
+
38
+ /**
39
+ * Created by hzy on 2019/7/26.
40
+ */
41
+ /**
42
+ * host 主机
43
+ * path 地址
44
+ * connected 连接成功后的回调
45
+ * error 错误信息的回调
46
+ * reconnect 触发重连的钩子
47
+ * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接
48
+ * send 发送消息
49
+ * on 监听推送消息
50
+ * stop 停止连接
51
+ *
52
+ **/
53
+ var Socket = function () {
54
+ function Socket(_ref) {
55
+ var host = _ref.host,
56
+ path = _ref.path,
57
+ connected = _ref.connected,
58
+ error = _ref.error,
59
+ reconnect = _ref.reconnect,
60
+ token = _ref.token;
61
+ (0, _classCallCheck3.default)(this, Socket);
62
+
63
+ this.host = host;
64
+ this.path = path;
65
+ this.token = token;
66
+ this.connected = connected || function () {};
67
+ this.reconnect = reconnect || function () {};
68
+ this.error = error || function () {};
69
+ this.connection = this._init();
70
+ this.on = this.on;
71
+ this.stop = this.stop;
72
+ }
73
+
74
+ (0, _createClass3.default)(Socket, [{
75
+ key: '_init',
76
+ value: function _init() {
77
+ var _this = this;
78
+
79
+ var connection = new signalR.HubConnectionBuilder().withUrl('' + this.host + this.path, {
80
+ accessTokenFactory: function accessTokenFactory() {
81
+ return _this.token;
82
+ }
83
+ }).configureLogging(signalR.LogLevel.Information).build();
84
+
85
+ connection.start().then(function () {
86
+ return _this.connected(connection);
87
+ }).catch(function (err) {
88
+ return _this._error(err);
89
+ });
90
+ connection.onclose(function () {
91
+ return _this.reconnect(connection);
92
+ });
93
+
94
+ return connection;
95
+ }
96
+ }, {
97
+ key: '_error',
98
+ value: function _error(err) {
99
+ var _this2 = this;
100
+
101
+ console.error('signalR:', err);
102
+ this.error(err);
103
+ (0, _utils.throttle)(function () {
104
+ _this2.reconnect(_this2.connection);
105
+ }, 3000);
106
+ }
107
+ }, {
108
+ key: 'updateConfig',
109
+ value: function updateConfig(options, reInit) {
110
+ var _this3 = this;
111
+
112
+ if (options && (typeof options === 'undefined' ? 'undefined' : (0, _typeof3.default)(options)) === 'object') {
113
+ (0, _keys2.default)(options).forEach(function (key) {
114
+ return _this3[key] = options[key];
115
+ });
116
+ }
117
+ if (reInit) {
118
+ this.stop(function () {
119
+ _this3.connection = _this3._init();
120
+ });
121
+ } else {
122
+ this.connection.start().then(function () {
123
+ return _this3.connected(_this3.connection);
124
+ }).catch(function (err) {
125
+ return _this3._error(err);
126
+ });
127
+ }
128
+ }
129
+ }, {
130
+ key: 'on',
131
+ value: function on(type, func) {
132
+ this.connection.on(type, function () {
133
+ return func.apply(undefined, arguments);
134
+ });
135
+ }
136
+ }, {
137
+ key: 'send',
138
+ value: function send(type) {
139
+ var _connection;
140
+
141
+ var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
142
+ var error = arguments[2];
143
+
144
+ (_connection = this.connection).invoke.apply(_connection, [type].concat((0, _toConsumableArray3.default)(params))).catch(function (err) {
145
+ return error && error(err);
146
+ });
147
+ }
148
+ }, {
149
+ key: 'stop',
150
+ value: function stop(func) {
151
+ var _this4 = this;
152
+
153
+ var stoped = function stoped() {
154
+ _this4.connection = null;
155
+ func && func();
156
+ };
157
+ this.connection.stop().then(stoped).catch(stoped);
158
+ }
159
+ }]);
160
+ return Socket;
161
+ }();
162
+
163
+ exports.default = Socket;
164
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;IAAYA,O;;AACZ;;;;;;AAhBA;;;AAGA;;;;;;;;;;;;IAeqBC,M;AACnB,wBAAgE;AAAA,QAAlDC,IAAkD,QAAlDA,IAAkD;AAAA,QAA5CC,IAA4C,QAA5CA,IAA4C;AAAA,QAAtCC,SAAsC,QAAtCA,SAAsC;AAAA,QAA3BC,KAA2B,QAA3BA,KAA2B;AAAA,QAApBC,SAAoB,QAApBA,SAAoB;AAAA,QAATC,KAAS,QAATA,KAAS;AAAA;;AAC9D,SAAKL,IAAL,GAAYA,IAAZ;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKI,KAAL,GAAaA,KAAb;AACA,SAAKH,SAAL,GAAiBA,aAAc,YAAM,CAAG,CAAxC;AACA,SAAKE,SAAL,GAAiBA,aAAc,YAAM,CAAG,CAAxC;AACA,SAAKD,KAAL,GAAaA,SAAU,YAAM,CAAG,CAAhC;AACA,SAAKG,UAAL,GAAkB,KAAKC,KAAL,EAAlB;AACA,SAAKC,EAAL,GAAU,KAAKA,EAAf;AACA,SAAKC,IAAL,GAAY,KAAKA,IAAjB;AACD;;;;4BAEO;AAAA;;AACN,UAAMH,aAAa,IAAIR,QAAQY,oBAAZ,GAChBC,OADgB,MACL,KAAKX,IADA,GACO,KAAKC,IADZ,EACoB;AACnCW,4BAAoB;AAAA,iBAAM,MAAKP,KAAX;AAAA;AADe,OADpB,EAIhBQ,gBAJgB,CAICf,QAAQgB,QAAR,CAAiBC,WAJlB,EAKhBC,KALgB,EAAnB;;AAOAV,iBAAWW,KAAX,GAAmBC,IAAnB,CAAwB;AAAA,eAAM,MAAKhB,SAAL,CAAeI,UAAf,CAAN;AAAA,OAAxB,EAA0Da,KAA1D,CAAgE;AAAA,eAAO,MAAKC,MAAL,CAAYC,GAAZ,CAAP;AAAA,OAAhE;AACAf,iBAAWgB,OAAX,CAAmB;AAAA,eAAM,MAAKlB,SAAL,CAAeE,UAAf,CAAN;AAAA,OAAnB;;AAEA,aAAOA,UAAP;AACD;;;2BAEMe,G,EAAK;AAAA;;AACVE,cAAQpB,KAAR,CAAc,UAAd,EAA0BkB,GAA1B;AACA,WAAKlB,KAAL,CAAWkB,GAAX;AACA,2BAAS,YAAM;AACb,eAAKjB,SAAL,CAAe,OAAKE,UAApB;AACD,OAFD,EAEG,IAFH;AAGD;;;iCAEYkB,O,EAASC,M,EAAQ;AAAA;;AAC5B,UAAID,WAAW,QAAOA,OAAP,uDAAOA,OAAP,OAAmB,QAAlC,EAA4C;AAC1C,4BAAYA,OAAZ,EAAqBE,OAArB,CAA6B;AAAA,iBAAO,OAAKC,GAAL,IAAYH,QAAQG,GAAR,CAAnB;AAAA,SAA7B;AACD;AACD,UAAIF,MAAJ,EAAY;AACV,aAAKhB,IAAL,CAAU,YAAM;AACd,iBAAKH,UAAL,GAAkB,OAAKC,KAAL,EAAlB;AACD,SAFD;AAGD,OAJD,MAIO;AACL,aAAKD,UAAL,CAAgBW,KAAhB,GAAwBC,IAAxB,CAA6B;AAAA,iBAAM,OAAKhB,SAAL,CAAe,OAAKI,UAApB,CAAN;AAAA,SAA7B,EAAoEa,KAApE,CAA0E;AAAA,iBAAO,OAAKC,MAAL,CAAYC,GAAZ,CAAP;AAAA,SAA1E;AACD;AACF;;;uBAEEO,I,EAAMC,I,EAAM;AACb,WAAKvB,UAAL,CAAgBE,EAAhB,CAAmBoB,IAAnB,EAAyB;AAAA,eAAiBC,gCAAjB;AAAA,OAAzB;AACD;;;yBAEID,I,EAA0B;AAAA;;AAAA,UAApBE,MAAoB,uEAAX,EAAW;AAAA,UAAP3B,KAAO;;AAC7B,0BAAKG,UAAL,EAAgByB,MAAhB,qBAAuBH,IAAvB,0CAAgCE,MAAhC,IAAwCX,KAAxC,CAA8C;AAAA,eAAOhB,SAASA,MAAMkB,GAAN,CAAhB;AAAA,OAA9C;AACD;;;yBAEIQ,I,EAAM;AAAA;;AACT,UAAMG,SAAS,SAATA,MAAS,GAAM;AACnB,eAAK1B,UAAL,GAAkB,IAAlB;AACAuB,gBAAQA,MAAR;AACD,OAHD;AAIA,WAAKvB,UAAL,CAAgBG,IAAhB,GAAuBS,IAAvB,CAA4Bc,MAA5B,EAAoCb,KAApC,CAA0Ca,MAA1C;AACD;;;;;kBA9DkBjC,M","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"]}