component-shipinlv 0.0.19 → 0.0.20

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.
@@ -18,6 +18,7 @@ var reTryMaxCount = 120;
18
18
  var reTryTimeLoop = 1000; // ms
19
19
  var FromWhere = 'web';
20
20
  import QRCode from 'qrcode.react';
21
+ import isInClient from "../../lib/isInClient";
21
22
  import { jsx as _jsx } from "react/jsx-runtime";
22
23
  import { Fragment as _Fragment } from "react/jsx-runtime";
23
24
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -143,7 +144,7 @@ var LoginQr = function LoginQr(_ref) {
143
144
  env: getApiEnv()
144
145
  });
145
146
  }, {
146
- manual: defaultLoginType !== 'wechat',
147
+ manual: !isInClient() || defaultLoginType !== 'wechat',
147
148
  onSuccess: function onSuccess(result) {
148
149
  setWeQrUrl(result.url);
149
150
  onRunCheck();
@@ -3,7 +3,7 @@ interface Props {
3
3
  env?: Global.Env;
4
4
  vipId: number;
5
5
  productCount: number;
6
- productKind: Global.ProductKind;
6
+ productKind: 'vip' | 'card-vip';
7
7
  disabled?: boolean;
8
8
  children: React.ReactNode;
9
9
  }
@@ -2,5 +2,5 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLit
2
2
  var _templateObject;
3
3
  import styled from 'styled-components';
4
4
  export default {
5
- BuyQr: styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ktv-ai-vipQr{\n position: relative;\n text-align: center;\n display: flex;\n flex-direction: column;\n height: 100%;\n .qrImage{\n width: 200px;\n height: 200px;\n margin: 20px auto 10px;\n img{\n display: block;\n width: 100%;\n max-width: 100%;\n }\n }\n .price{\n font-size: 16px;\n strong{\n font-size: 20px;\n color: #F60;\n }\n .multiply{\n display: inline-block;\n margin: 0 10px;\n color: #AAA;\n }\n .productCount{\n font-size: 20px;\n }\n .equal{\n transform: rotate(90deg);\n display: inline-block;\n margin: 0 10px;\n color: #AAA;\n }\n .moneyAll{\n color: #F60;\n font-size: 32px;\n }\n }\n .alt{\n color: #999;\n font-size: 13px;\n .wechatIcon{\n color: #0bc160;\n }\n }\n .altInH5{\n padding: 8px 0 0;\n color: #C00;\n font-size: 15px;\n .toFriend{\n font-size: 13px;\n color: #888;\n padding: 0;\n margin: 0;\n }\n }\n\n .payResult{\n .ant-result{\n padding: 0 30px 30px;\n }\n .ant-result-icon{\n display: none;\n }\n }\n }\n\n "])))
5
+ BuyQr: styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n text-align: center;\n display: flex;\n flex-direction: column;\n height: 100%;\n .qrImage{\n width: 200px;\n height: 200px;\n margin: 30px auto 0;\n img{\n display: block;\n width: 100%;\n max-width: 100%;\n }\n }\n .loadingIcon{\n font-size: 68px;\n color: #BBB;\n }\n .price{\n font-size: 16px;\n strong{\n font-size: 20px;\n color: #F60;\n }\n .multiply{\n display: inline-block;\n margin: 0 10px;\n color: #AAA;\n }\n .productCount{\n font-size: 20px;\n }\n .equal{\n transform: rotate(90deg);\n display: inline-block;\n margin: 0 10px;\n color: #AAA;\n }\n .moneyAll{\n color: #F60;\n font-size: 32px;\n }\n }\n .alt{\n color: #999;\n font-size: 13px;\n .wechatIcon{\n color: #0bc160;\n }\n .alipayIcon{\n color: #1677ff;\n }\n }\n .altInH5{\n padding: 8px 0 0;\n color: #C00;\n font-size: 15px;\n .toFriend{\n font-size: 13px;\n color: #888;\n padding: 0;\n margin: 0;\n }\n }\n .tabIcon{\n font-size: 18px;\n }\n .qrAlt{\n padding: 0 0 12px;\n }\n .payResult{\n .ant-result{\n padding: 0 30px 30px;\n }\n .ant-result-icon{\n display: none;\n }\n }\n .payChannel{\n padding: 30px 20px 20px;\n .payChannelTabs{\n position: relative;\n .ant-tabs-content-holder{\n border: 1px solid #E8E8E8;\n margin: -17px 0 0;\n }\n }\n }\n "])))
6
6
  };
package/dist/Buy/qr.js CHANGED
@@ -1,7 +1,8 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
1
2
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
3
  import React, { useState } from 'react';
3
- import { Result, Button, Space, Divider } from 'antd';
4
- import { CloseOutlined, PauseOutlined, WechatOutlined } from '@ant-design/icons';
4
+ import { Result, Button, Space, Divider, Tabs } from 'antd';
5
+ import { AlipayCircleOutlined, CloseOutlined, LoadingOutlined, PauseOutlined, WechatOutlined } from '@ant-design/icons';
5
6
  import { useRequest } from '@umijs/hooks';
6
7
  import * as TradeController from "../service/api/TradeController";
7
8
  import * as VipController from "../service/api/VipController";
@@ -10,8 +11,9 @@ import Tool from "../lib/Tool";
10
11
  import PageContentWarp from "../UI/PageContentWarp";
11
12
  import styles from "./qr.css";
12
13
  import Platform from "../lib/platform";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ import isInClient from "../lib/isInClient";
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
17
  import { Fragment as _Fragment } from "react/jsx-runtime";
16
18
  var VipQr = function VipQr(_ref) {
17
19
  var _ref$env = _ref.env,
@@ -27,22 +29,36 @@ var VipQr = function VipQr(_ref) {
27
29
  var _useState = useState(Tool.getLocalUserInfo()),
28
30
  _useState2 = _slicedToArray(_useState, 1),
29
31
  userInfo = _useState2[0];
30
- var _useState3 = useState(false),
32
+ var _useState3 = useState('wepay'),
31
33
  _useState4 = _slicedToArray(_useState3, 2),
32
- payResult = _useState4[0],
33
- setPayResult = _useState4[1];
34
- var _useState5 = useState({
34
+ payChannel = _useState4[0],
35
+ setPayChannel = _useState4[1];
36
+ var _useState5 = useState(false),
37
+ _useState6 = _slicedToArray(_useState5, 2),
38
+ payResult = _useState6[0],
39
+ setPayResult = _useState6[1];
40
+ var _useState7 = useState({
35
41
  codeUrl: '',
36
- mWebUrl: ''
42
+ mWebUrl: '',
43
+ payChannel: payChannel
37
44
  }),
38
- _useState6 = _slicedToArray(_useState5, 2),
39
- orderPayInfo = _useState6[0],
40
- setOrderPayInfo = _useState6[1];
41
- var _useState7 = useState(''),
42
45
  _useState8 = _slicedToArray(_useState7, 2),
43
- payQrImageUrl = _useState8[0],
44
- setPayQrImageUrl = _useState8[1];
46
+ orderPayInfo = _useState8[0],
47
+ setOrderPayInfo = _useState8[1];
45
48
  var _useState9 = useState({
49
+ wepay: {
50
+ message: '',
51
+ qrUrl: ''
52
+ },
53
+ alipay: {
54
+ message: '',
55
+ qrUrl: ''
56
+ }
57
+ }),
58
+ _useState10 = _slicedToArray(_useState9, 2),
59
+ payOrderInfo = _useState10[0],
60
+ setPayOrderInfo = _useState10[1];
61
+ var _useState11 = useState({
46
62
  id: 0,
47
63
  marketPrice: 0,
48
64
  month: 0,
@@ -55,18 +71,21 @@ var VipQr = function VipQr(_ref) {
55
71
  alt: '',
56
72
  recommend: 0
57
73
  }),
58
- _useState10 = _slicedToArray(_useState9, 2),
59
- detailData = _useState10[0],
60
- setDetailData = _useState10[1];
74
+ _useState12 = _slicedToArray(_useState11, 2),
75
+ detailData = _useState12[0],
76
+ setDetailData = _useState12[1];
61
77
  // 允许帮别人支付,只认码; 不认支付的小程序
62
78
 
63
79
  var _useRequest = useRequest(function () {
80
+ var channel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : payChannel;
64
81
  return TradeController.create({
65
82
  productKind: productKind,
66
83
  productTypeId: vipId,
67
84
  productCount: productCount,
68
85
  userId: Tool.getLocalUserInfo().id,
69
- payType: 'NATIVE' //Platform.isH5 ? 'MWEB' : 'NATIVE',
86
+ payType: 'NATIVE',
87
+ //Platform.isH5 ? 'MWEB' : 'NATIVE',
88
+ payChannel: channel
70
89
  }, {
71
90
  env: env
72
91
  });
@@ -80,12 +99,23 @@ var VipQr = function VipQr(_ref) {
80
99
  } else {}
81
100
  } else {}
82
101
  setOrderPayInfo(result);
83
- // setPayQrImageUrl( Tool.makeQrUrl( result.codeUrl || result.mWebUrl, '#0bc160') );
84
- setPayQrImageUrl(result.codeUrl || result.mWebUrl);
85
- // 五秒后自动弹出;
86
- setTimeout(function () {
87
- setPayResult(true);
88
- }, 20e3);
102
+ // setPayOrderInfo( Tool.makeQrUrl( result.codeUrl || result.mWebUrl, '#0bc160') );
103
+ if (payOrderInfo[result.payChannel]) {
104
+ payOrderInfo[result.payChannel].qrUrl = result.codeUrl || result.mWebUrl;
105
+ setPayOrderInfo(_objectSpread({}, payOrderInfo));
106
+ // 五秒后自动弹出;
107
+ setTimeout(function () {
108
+ setPayResult(true);
109
+ }, 20e3);
110
+ } else {
111
+ Tool.toast('支付类型有问题');
112
+ }
113
+ },
114
+ onError: function onError(e) {
115
+ if (payOrderInfo[payChannel]) {
116
+ payOrderInfo[payChannel].message = "\u521B\u5EFA\u8BA2\u5355\u5931\u8D25\uFF1A".concat(e.message || '');
117
+ setPayOrderInfo(_objectSpread({}, payOrderInfo));
118
+ }
89
119
  }
90
120
  }),
91
121
  loadingPay = _useRequest.loading,
@@ -98,25 +128,112 @@ var VipQr = function VipQr(_ref) {
98
128
  env: env
99
129
  });
100
130
  }, {
131
+ manual: !isInClient(),
101
132
  onSuccess: function onSuccess(result) {
102
- runPay();
103
133
  console.log('re 1', result);
104
134
  setDetailData(result);
135
+ runPay();
105
136
  }
106
137
  }),
107
138
  loading = _useRequest2.loading,
108
139
  run = _useRequest2.run,
109
140
  error = _useRequest2.error;
110
- return /*#__PURE__*/_jsx(styles.BuyQr, {
111
- children: /*#__PURE__*/_jsxs(PageContentWarp, {
112
- loading: loading || loadingPay,
113
- error: error || errorPay
114
- // title="购买会员"
115
- ,
116
- onReload: function onReload() {
117
- return run();
118
- },
119
- className: "ktv-ai-vipQr",
141
+ var itemsTabs = [{
142
+ key: 'wepay',
143
+ label: '微信支付',
144
+ icon: /*#__PURE__*/_jsx(WechatOutlined, {
145
+ className: "tabIcon"
146
+ }),
147
+ disabled: loadingPay,
148
+ children: payOrderInfo.wepay.message ? /*#__PURE__*/_jsx(Result, {
149
+ status: "error",
150
+ title: "\u4E0B\u5355\u53D1\u751F\u4E00\u4E9B\u95EE\u9898",
151
+ subTitle: payOrderInfo.wepay.message,
152
+ children: /*#__PURE__*/_jsx(Button, {
153
+ type: "primary",
154
+ children: "\u91CD\u8BD5"
155
+ })
156
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
157
+ children: [/*#__PURE__*/_jsx("div", {
158
+ className: "qrImage",
159
+ children: payOrderInfo.wepay.qrUrl ? /*#__PURE__*/_jsx(QRCode, {
160
+ value: payOrderInfo.wepay.qrUrl,
161
+ fgColor: "#0bc160",
162
+ size: 180
163
+ }) : /*#__PURE__*/_jsx(LoadingOutlined, {
164
+ className: "loadingIcon"
165
+ })
166
+ }), /*#__PURE__*/_jsx("div", {
167
+ className: "qrAlt",
168
+ children: Platform.isH5 ? /*#__PURE__*/_jsxs("div", {
169
+ className: "altInH5",
170
+ children: ["\u957F\u6309\u4E8C\u7EF4\u7801\uFF0C\u53EF\u8BC6\u522B\u4E8C\u7EF4\u7801\u652F\u4ED8", /*#__PURE__*/_jsx("p", {
171
+ className: "toFriend",
172
+ children: "\u6216\u8005\u4FDD\u5B58\u56FE\u7247\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"
173
+ })]
174
+ }) : /*#__PURE__*/_jsxs("div", {
175
+ className: "alt",
176
+ children: ["\u8BF7\u7528 ", /*#__PURE__*/_jsx(WechatOutlined, {
177
+ className: "wechatIcon"
178
+ }), " \u5FAE\u4FE1 \u626B\u7801\u652F\u4ED8 ", /*#__PURE__*/_jsx(Divider, {
179
+ type: "vertical"
180
+ }), " \u4E5F\u53EF\u4EE5\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"]
181
+ })
182
+ })]
183
+ })
184
+ }, {
185
+ key: 'alipay',
186
+ label: '支付宝',
187
+ disabled: loadingPay,
188
+ icon: /*#__PURE__*/_jsx(AlipayCircleOutlined, {
189
+ className: "tabIcon"
190
+ }),
191
+ children: payOrderInfo.alipay.message ? /*#__PURE__*/_jsx(Result, {
192
+ status: "error",
193
+ title: "\u4E0B\u5355\u53D1\u751F\u4E00\u4E9B\u95EE\u9898",
194
+ subTitle: payOrderInfo.alipay.message,
195
+ children: /*#__PURE__*/_jsx(Button, {
196
+ type: "primary",
197
+ children: "\u91CD\u8BD5"
198
+ })
199
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
200
+ children: [/*#__PURE__*/_jsx("div", {
201
+ className: "qrImage",
202
+ children: payOrderInfo.alipay.qrUrl ? /*#__PURE__*/_jsx(QRCode, {
203
+ value: payOrderInfo.alipay.qrUrl,
204
+ fgColor: "#1677ff",
205
+ size: 180
206
+ }) : /*#__PURE__*/_jsx(LoadingOutlined, {
207
+ className: "loadingIcon"
208
+ })
209
+ }), /*#__PURE__*/_jsx("div", {
210
+ className: "qrAlt",
211
+ children: Platform.isH5 ? /*#__PURE__*/_jsxs("div", {
212
+ className: "altInH5",
213
+ children: ["\u957F\u6309\u4E8C\u7EF4\u7801\uFF0C\u53EF\u8BC6\u522B\u4E8C\u7EF4\u7801\u652F\u4ED8", /*#__PURE__*/_jsx("p", {
214
+ className: "toFriend",
215
+ children: "\u6216\u8005\u4FDD\u5B58\u56FE\u7247\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"
216
+ })]
217
+ }) : /*#__PURE__*/_jsxs("div", {
218
+ className: "alt",
219
+ children: ["\u8BF7\u7528 ", /*#__PURE__*/_jsx(AlipayCircleOutlined, {
220
+ className: "alipayIcon"
221
+ }), " \u652F\u4ED8\u5B9D \u626B\u7801\u652F\u4ED8 ", /*#__PURE__*/_jsx(Divider, {
222
+ type: "vertical"
223
+ }), " \u4E5F\u53EF\u4EE5\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"]
224
+ })
225
+ })]
226
+ })
227
+ }];
228
+ return /*#__PURE__*/_jsx(PageContentWarp, {
229
+ loading: loading,
230
+ error: error
231
+ // title="购买会员"
232
+ ,
233
+ onReload: function onReload() {
234
+ return run();
235
+ },
236
+ children: /*#__PURE__*/_jsxs(styles.BuyQr, {
120
237
  children: [/*#__PURE__*/_jsxs("h2", {
121
238
  children: ["\u8D2D\u4E70\u4F1A\u5458\uFF1A", detailData.productName || detailData.productType]
122
239
  }), /*#__PURE__*/_jsxs("div", {
@@ -144,24 +261,21 @@ var VipQr = function VipQr(_ref) {
144
261
  })]
145
262
  })]
146
263
  }), /*#__PURE__*/_jsx("div", {
147
- className: "qrImage",
148
- children: payQrImageUrl && /*#__PURE__*/_jsx(QRCode, {
149
- value: payQrImageUrl,
150
- fgColor: "#0bc160"
264
+ className: "payChannel",
265
+ children: /*#__PURE__*/_jsx(Tabs, {
266
+ activeKey: payChannel,
267
+ items: itemsTabs,
268
+ type: "card",
269
+ className: "payChannelTabs",
270
+ onChange: function onChange(keyName) {
271
+ // @ts-ignore
272
+ var channel = keyName;
273
+ setPayChannel(channel);
274
+ if (!payOrderInfo[channel]) {
275
+ runPay(channel);
276
+ }
277
+ }
151
278
  })
152
- }), Platform.isH5 ? /*#__PURE__*/_jsxs("div", {
153
- className: "altInH5",
154
- children: ["\u957F\u6309\u4E8C\u7EF4\u7801\uFF0C\u53EF\u8BC6\u522B\u4E8C\u7EF4\u7801\u652F\u4ED8", /*#__PURE__*/_jsx("p", {
155
- className: "toFriend",
156
- children: "\u6216\u8005\u4FDD\u5B58\u56FE\u7247\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"
157
- })]
158
- }) : /*#__PURE__*/_jsxs("div", {
159
- className: "alt",
160
- children: ["\u8BF7\u7528 ", /*#__PURE__*/_jsx(WechatOutlined, {
161
- className: "wechatIcon"
162
- }), " \u5FAE\u4FE1 \u626B\u7801\u652F\u4ED8 ", /*#__PURE__*/_jsx(Divider, {
163
- type: "vertical"
164
- }), " \u4E5F\u53EF\u4EE5\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"]
165
279
  }), payResult && /*#__PURE__*/_jsxs("div", {
166
280
  className: "payResult",
167
281
  children: [/*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(Result, {
@@ -14,6 +14,7 @@ import VipCommend from "./commend";
14
14
  import * as UserController from "../service/api/UserController";
15
15
  import * as ProductController from "../service/api/ProductController";
16
16
  import Buy from "../Buy";
17
+ import isInClient from "../lib/isInClient";
17
18
  import { jsx as _jsx } from "react/jsx-runtime";
18
19
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
20
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -44,6 +45,7 @@ var VipCompare = function VipCompare(_ref) {
44
45
  env: env
45
46
  });
46
47
  }, {
48
+ manual: !isInClient(),
47
49
  onSuccess: function onSuccess(result) {
48
50
  setProductDetail(result);
49
51
  }
@@ -163,6 +165,7 @@ var VipCompare = function VipCompare(_ref) {
163
165
  env: env
164
166
  });
165
167
  }, {
168
+ manual: !isInClient(),
166
169
  onSuccess: function onSuccess(result) {
167
170
  setListData(result);
168
171
  }
@@ -179,7 +182,7 @@ var VipCompare = function VipCompare(_ref) {
179
182
  _objectDestructuringEmpty(useRequest(function () {
180
183
  return UserController.userVipInfo();
181
184
  }, {
182
- manual: !Tool.getLocalUserInfo().isLogin,
185
+ manual: !isInClient() || !Tool.getLocalUserInfo().isLogin,
183
186
  onSuccess: function onSuccess(result) {
184
187
  var dataDict = {};
185
188
  result === null || result === void 0 || result.forEach(function (items) {
@@ -0,0 +1,2 @@
1
+ declare const isInClient: () => boolean;
2
+ export default isInClient;
@@ -0,0 +1,4 @@
1
+ var isInClient = function isInClient() {
2
+ return typeof window !== 'undefined';
3
+ };
4
+ export default isInClient;
@@ -1,16 +1,19 @@
1
1
  declare namespace Trade {
2
2
  type PayType = 'NATIVE' | 'MWEB';
3
+ type PayChannel = 'wepay' | 'alipay';
3
4
  interface CommonCreateQuery {
4
5
  productKind: Global.ProductKind;
5
6
  productTypeId: number;
6
7
  productCount: number;
7
8
  userId: number;
8
9
  payType: PayType;
10
+ payChannel: PayChannel;
9
11
  [name: string]: any;
10
12
  }
11
13
  interface CreateResult {
12
14
  codeUrl: string;
13
15
  mWebUrl: string;
16
+ payChannel: PayChannel;
14
17
  }
15
18
  interface CommonCreateResult {
16
19
  "h5PayUrl": string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "component-shipinlv",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",