component-shipinlv 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/LICENSE +21 -0
- package/README.md +4 -0
- package/dist/AuthClient/index.d.ts +10 -0
- package/dist/AuthClient/index.js +24 -0
- package/dist/AuthClient/login-reg.d.ts +9 -0
- package/dist/AuthClient/login-reg.js +62 -0
- package/dist/AuthClient/login-reg.less +13 -0
- package/dist/AuthClient/login.d.ts +7 -0
- package/dist/AuthClient/login.js +159 -0
- package/dist/AuthClient/login.less +52 -0
- package/dist/AuthClient/qr/index.d.ts +13 -0
- package/dist/AuthClient/qr/index.js +315 -0
- package/dist/AuthClient/qr/index.less +84 -0
- package/dist/AuthClient/qr/typings.d.ts +22 -0
- package/dist/AuthClient/qr/ws.d.ts +20 -0
- package/dist/AuthClient/qr/ws.js +253 -0
- package/dist/AuthClient/reg.d.ts +7 -0
- package/dist/AuthClient/reg.js +170 -0
- package/dist/AuthClient/reg.less +3 -0
- package/dist/Buy/index.d.ts +14 -0
- package/dist/Buy/index.js +91 -0
- package/dist/Buy/index.less +26 -0
- package/dist/Buy/qr.d.ts +11 -0
- package/dist/Buy/qr.js +185 -0
- package/dist/Buy/qr.less +69 -0
- package/dist/Login/index.d.ts +2 -0
- package/dist/Login/index.js +5 -0
- package/dist/Product/index.d.ts +4 -0
- package/dist/Product/index.js +34 -0
- package/dist/Product/index.less +84 -0
- package/dist/UI/DialogDrawer.d.ts +8 -0
- package/dist/UI/DialogDrawer.js +67 -0
- package/dist/UI/DialogDrawer.less +10 -0
- package/dist/UI/DialogDrawerFooter.d.ts +7 -0
- package/dist/UI/DialogDrawerFooter.js +23 -0
- package/dist/UI/DialogDrawerFooter.less +19 -0
- package/dist/UI/LoadError.d.ts +10 -0
- package/dist/UI/LoadError.js +37 -0
- package/dist/UI/LoadError.less +18 -0
- package/dist/UI/PageContentWarp.d.ts +16 -0
- package/dist/UI/PageContentWarp.js +46 -0
- package/dist/UI/PageContentWarp.less +11 -0
- package/dist/VipCompare/commend.d.ts +7 -0
- package/dist/VipCompare/commend.js +29 -0
- package/dist/VipCompare/commend.less +7 -0
- package/dist/VipCompare/index.d.ts +9 -0
- package/dist/VipCompare/index.js +320 -0
- package/dist/VipCompare/index.less +26 -0
- package/dist/component/product-dict.d.ts +10 -0
- package/dist/component/product-dict.js +11 -0
- package/dist/component/product-type.d.ts +6 -0
- package/dist/component/product-type.js +19 -0
- package/dist/component/websocket/index.d.ts +22 -0
- package/dist/component/websocket/index.js +139 -0
- package/dist/config/apiUrls.d.ts +9 -0
- package/dist/config/apiUrls.js +25 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/lib/Tool.d.ts +201 -0
- package/dist/lib/Tool.js +1086 -0
- package/dist/lib/call-mini-url.d.ts +2 -0
- package/dist/lib/call-mini-url.js +8 -0
- package/dist/lib/getApiUrl.d.ts +5 -0
- package/dist/lib/getApiUrl.js +56 -0
- package/dist/lib/goAuth.d.ts +1 -0
- package/dist/lib/goAuth.js +28 -0
- package/dist/lib/js-error.d.ts +2 -0
- package/dist/lib/js-error.js +27 -0
- package/dist/lib/notification.d.ts +9 -0
- package/dist/lib/notification.js +42 -0
- package/dist/lib/platform.d.ts +12 -0
- package/dist/lib/platform.js +48 -0
- package/dist/lib/postMessage.d.ts +3 -0
- package/dist/lib/postMessage.js +8 -0
- package/dist/lib/request.d.ts +3 -0
- package/dist/lib/request.js +97 -0
- package/dist/service/api/AuthController.d.ts +16 -0
- package/dist/service/api/AuthController.js +75 -0
- package/dist/service/api/JsErrorController.d.ts +5 -0
- package/dist/service/api/JsErrorController.js +27 -0
- package/dist/service/api/ProductController.d.ts +7 -0
- package/dist/service/api/ProductController.js +53 -0
- package/dist/service/api/TradeController.d.ts +7 -0
- package/dist/service/api/TradeController.js +52 -0
- package/dist/service/api/UserController.d.ts +2 -0
- package/dist/service/api/UserController.js +52 -0
- package/dist/service/api/VipController.d.ts +6 -0
- package/dist/service/api/VipController.js +50 -0
- package/dist/service/typing.d.ts +12 -0
- package/dist/typings/Product.d.ts +25 -0
- package/dist/typings/Product.js +0 -0
- package/dist/typings/Trade.d.ts +29 -0
- package/dist/typings/Trade.js +0 -0
- package/dist/typings/User.d.ts +54 -0
- package/dist/typings/User.js +0 -0
- package/dist/typings/Vip.d.ts +15 -0
- package/dist/typings/Vip.js +0 -0
- package/dist/typings.d.ts +66 -0
- package/dist/window.d.ts +9 -0
- package/package.json +88 -0
@@ -0,0 +1,170 @@
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
5
|
+
import React from 'react';
|
6
|
+
import { LockOutlined, UserOutlined, EyeTwoTone, EyeInvisibleOutlined } from '@ant-design/icons';
|
7
|
+
import { Input, Button, Form } from 'antd';
|
8
|
+
import Tool from "../lib/Tool";
|
9
|
+
import "./reg.less";
|
10
|
+
import { useRequest } from "@umijs/hooks";
|
11
|
+
import * as AuthController from "../service/api/AuthController";
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
13
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
14
|
+
var formItemLayout = {
|
15
|
+
labelCol: {
|
16
|
+
xs: {
|
17
|
+
span: 24
|
18
|
+
},
|
19
|
+
sm: {
|
20
|
+
span: 5
|
21
|
+
}
|
22
|
+
},
|
23
|
+
wrapperCol: {
|
24
|
+
xs: {
|
25
|
+
span: 24
|
26
|
+
},
|
27
|
+
sm: {
|
28
|
+
span: 19
|
29
|
+
}
|
30
|
+
}
|
31
|
+
};
|
32
|
+
var tailFormItemLayout = {
|
33
|
+
wrapperCol: {
|
34
|
+
xs: {
|
35
|
+
span: 24,
|
36
|
+
offset: 5
|
37
|
+
},
|
38
|
+
sm: {
|
39
|
+
span: 16,
|
40
|
+
offset: 5
|
41
|
+
}
|
42
|
+
}
|
43
|
+
};
|
44
|
+
var Reg = function Reg(_ref) {
|
45
|
+
var _ref$onSuccess = _ref.onSuccess,
|
46
|
+
onSuccess = _ref$onSuccess === void 0 ? function () {} : _ref$onSuccess;
|
47
|
+
var _Form$useForm = Form.useForm(),
|
48
|
+
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
49
|
+
form = _Form$useForm2[0];
|
50
|
+
var _useRequest = useRequest(function (data) {
|
51
|
+
return AuthController.reg(_objectSpread(_objectSpread({}, data), {}, {
|
52
|
+
inviteUserId: Tool.getInviteUserId()
|
53
|
+
}));
|
54
|
+
}, {
|
55
|
+
manual: true,
|
56
|
+
onSuccess: function onSuccess(result) {
|
57
|
+
loginSuccess(result);
|
58
|
+
}
|
59
|
+
}),
|
60
|
+
loading = _useRequest.loading,
|
61
|
+
run = _useRequest.run;
|
62
|
+
var loginSuccess = function loginSuccess(data) {
|
63
|
+
//登入用户名存在本地;
|
64
|
+
Tool.setLocalUserInfo(_objectSpread(_objectSpread({}, data), {}, {
|
65
|
+
isLogin: true
|
66
|
+
}));
|
67
|
+
Tool.toast('登录成功');
|
68
|
+
Tool.event.run('user-info');
|
69
|
+
onSuccess();
|
70
|
+
};
|
71
|
+
var onFinish = /*#__PURE__*/function () {
|
72
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
73
|
+
var values,
|
74
|
+
_args = arguments;
|
75
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
76
|
+
while (1) switch (_context.prev = _context.next) {
|
77
|
+
case 0:
|
78
|
+
values = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
|
79
|
+
run(values);
|
80
|
+
case 2:
|
81
|
+
case "end":
|
82
|
+
return _context.stop();
|
83
|
+
}
|
84
|
+
}, _callee);
|
85
|
+
}));
|
86
|
+
return function onFinish() {
|
87
|
+
return _ref2.apply(this, arguments);
|
88
|
+
};
|
89
|
+
}();
|
90
|
+
return /*#__PURE__*/_jsx("section", {
|
91
|
+
className: "authClientReg",
|
92
|
+
children: /*#__PURE__*/_jsxs(Form, {
|
93
|
+
disabled: loading,
|
94
|
+
form: form,
|
95
|
+
onFinish: onFinish,
|
96
|
+
autoComplete: "off",
|
97
|
+
children: [/*#__PURE__*/_jsx(Form.Item, _objectSpread(_objectSpread({
|
98
|
+
label: "\u8D26\u53F7"
|
99
|
+
}, formItemLayout), {}, {
|
100
|
+
name: "accountName",
|
101
|
+
rules: [{
|
102
|
+
required: true,
|
103
|
+
message: '请输入'
|
104
|
+
}
|
105
|
+
// {
|
106
|
+
// pattern: /^([a-z0-9]+[_\-.]?)*[a-z0-9]+@([a-z0-9]+[_\-.]?)*[a-z0-9]+\.[a-z]{2,10}$/i,
|
107
|
+
// message: '这似乎不是一个电子邮箱'
|
108
|
+
// },
|
109
|
+
],
|
110
|
+
children: /*#__PURE__*/_jsx(Input, {
|
111
|
+
placeholder: "\u8D26\u53F7",
|
112
|
+
prefix: /*#__PURE__*/_jsx(UserOutlined, {
|
113
|
+
className: "input-prefix-icon"
|
114
|
+
})
|
115
|
+
})
|
116
|
+
})), /*#__PURE__*/_jsx(Form.Item, _objectSpread(_objectSpread({}, formItemLayout), {}, {
|
117
|
+
label: "\u5BC6\u7801",
|
118
|
+
name: "password",
|
119
|
+
rules: [{
|
120
|
+
required: true,
|
121
|
+
message: '请输入密码!'
|
122
|
+
}, {
|
123
|
+
min: 6,
|
124
|
+
message: '密码最短6位哦'
|
125
|
+
}, {
|
126
|
+
max: 60,
|
127
|
+
message: '密码最长60位哦'
|
128
|
+
}],
|
129
|
+
children: /*#__PURE__*/_jsx(Input.Password, {
|
130
|
+
prefix: /*#__PURE__*/_jsx(LockOutlined, {
|
131
|
+
className: "input-prefix-icon"
|
132
|
+
}),
|
133
|
+
type: "password",
|
134
|
+
placeholder: "\u8F93\u5165\u60A8\u7684\u5BC6\u7801",
|
135
|
+
iconRender: function iconRender(visible) {
|
136
|
+
return visible ? /*#__PURE__*/_jsx(EyeTwoTone, {}) : /*#__PURE__*/_jsx(EyeInvisibleOutlined, {});
|
137
|
+
}
|
138
|
+
})
|
139
|
+
})), /*#__PURE__*/_jsx(Form.Item, _objectSpread(_objectSpread({}, formItemLayout), {}, {
|
140
|
+
label: "\u786E\u8BA4\u5BC6\u7801",
|
141
|
+
name: "inviteId",
|
142
|
+
rules: [{
|
143
|
+
required: true,
|
144
|
+
message: '请输入推荐码'
|
145
|
+
}, {
|
146
|
+
max: 60,
|
147
|
+
message: '密码最长60位哦'
|
148
|
+
}],
|
149
|
+
children: /*#__PURE__*/_jsx(Input.Password, {
|
150
|
+
type: "password",
|
151
|
+
prefix: /*#__PURE__*/_jsx(LockOutlined, {
|
152
|
+
className: "input-prefix-icon"
|
153
|
+
}),
|
154
|
+
placeholder: "\u628A\u4E0A\u9762\u7684\u5BC6\u7801\u518D\u8F93\u5165\u4E00\u6B21"
|
155
|
+
})
|
156
|
+
})), /*#__PURE__*/_jsx(Form.Item, _objectSpread(_objectSpread({}, tailFormItemLayout), {}, {
|
157
|
+
children: /*#__PURE__*/_jsx("div", {
|
158
|
+
children: /*#__PURE__*/_jsx(Button, {
|
159
|
+
type: "primary",
|
160
|
+
loading: loading,
|
161
|
+
htmlType: "submit",
|
162
|
+
icon: /*#__PURE__*/_jsx(UserOutlined, {}),
|
163
|
+
children: "\u6CE8\u518C"
|
164
|
+
})
|
165
|
+
})
|
166
|
+
}))]
|
167
|
+
})
|
168
|
+
});
|
169
|
+
};
|
170
|
+
export default Reg;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import "./index.less";
|
3
|
+
import type { SizeType } from "antd/es/config-provider/SizeContext";
|
4
|
+
interface Props {
|
5
|
+
env?: Global.Env;
|
6
|
+
vipId: number;
|
7
|
+
productCount: number;
|
8
|
+
productKind: Global.ProductKind;
|
9
|
+
buttonSmall?: SizeType;
|
10
|
+
title?: React.ReactNode;
|
11
|
+
disabled?: boolean;
|
12
|
+
}
|
13
|
+
declare const Buy: React.FC<Props>;
|
14
|
+
export default Buy;
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
3
|
+
import React from 'react';
|
4
|
+
import { Button } from 'antd';
|
5
|
+
import Tool from "../lib/Tool";
|
6
|
+
import "./index.less";
|
7
|
+
import VipQr from "./qr";
|
8
|
+
import Platform from "../lib/platform";
|
9
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
10
|
+
var Buy = function Buy(_ref) {
|
11
|
+
var _ref$env = _ref.env,
|
12
|
+
env = _ref$env === void 0 ? 'prod' : _ref$env,
|
13
|
+
_ref$buttonSmall = _ref.buttonSmall,
|
14
|
+
buttonSmall = _ref$buttonSmall === void 0 ? 'small' : _ref$buttonSmall,
|
15
|
+
_ref$productKind = _ref.productKind,
|
16
|
+
productKind = _ref$productKind === void 0 ? 'vip' : _ref$productKind,
|
17
|
+
_ref$vipId = _ref.vipId,
|
18
|
+
vipId = _ref$vipId === void 0 ? 0 : _ref$vipId,
|
19
|
+
_ref$productCount = _ref.productCount,
|
20
|
+
productCount = _ref$productCount === void 0 ? 1 : _ref$productCount,
|
21
|
+
_ref$title = _ref.title,
|
22
|
+
title = _ref$title === void 0 ? '购买' : _ref$title,
|
23
|
+
_ref$disabled = _ref.disabled,
|
24
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
25
|
+
var onBuy = /*#__PURE__*/function () {
|
26
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
27
|
+
var userInfo;
|
28
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
29
|
+
while (1) switch (_context.prev = _context.next) {
|
30
|
+
case 0:
|
31
|
+
// 先要登录;
|
32
|
+
userInfo = Tool.getLocalUserInfo();
|
33
|
+
if (userInfo.isLogin) {
|
34
|
+
_context.next = 4;
|
35
|
+
break;
|
36
|
+
}
|
37
|
+
console.log("not login");
|
38
|
+
return _context.abrupt("return", Tool.onLogin());
|
39
|
+
case 4:
|
40
|
+
onOpenVipQr();
|
41
|
+
case 5:
|
42
|
+
case "end":
|
43
|
+
return _context.stop();
|
44
|
+
}
|
45
|
+
}, _callee);
|
46
|
+
}));
|
47
|
+
return function onBuy() {
|
48
|
+
return _ref2.apply(this, arguments);
|
49
|
+
};
|
50
|
+
}();
|
51
|
+
var onOpenVipQr = function onOpenVipQr() {
|
52
|
+
var userId = Tool.getLocalUserInfo().id;
|
53
|
+
if (Platform.isWechat || Platform.isH5) {
|
54
|
+
Tool.h5Pay({
|
55
|
+
productKind: productKind,
|
56
|
+
// 'vip',
|
57
|
+
productId: vipId,
|
58
|
+
productCount: productCount,
|
59
|
+
userId: userId,
|
60
|
+
wechatAppId: Tool.getLocalSiteInfo().wechatAppId
|
61
|
+
});
|
62
|
+
return;
|
63
|
+
}
|
64
|
+
var dialog = Tool.drawer({
|
65
|
+
title: '购买会员',
|
66
|
+
content: /*#__PURE__*/_jsx(VipQr, {
|
67
|
+
env: env,
|
68
|
+
productKind: productKind,
|
69
|
+
vipId: vipId,
|
70
|
+
productCount: productCount,
|
71
|
+
onHandlePaySuccess: function onHandlePaySuccess() {
|
72
|
+
dialog.destroy();
|
73
|
+
Tool.toast('^_^,谢谢购买,祝您发财');
|
74
|
+
}
|
75
|
+
}),
|
76
|
+
width: Math.min(520, window.innerWidth * 0.95)
|
77
|
+
});
|
78
|
+
// 广播,点击了 购买;
|
79
|
+
Tool.event.run('vip-buy-click');
|
80
|
+
};
|
81
|
+
return /*#__PURE__*/_jsx(Button, {
|
82
|
+
type: "primary",
|
83
|
+
size: buttonSmall,
|
84
|
+
disabled: disabled,
|
85
|
+
onClick: function onClick() {
|
86
|
+
return onBuy();
|
87
|
+
},
|
88
|
+
children: title
|
89
|
+
});
|
90
|
+
};
|
91
|
+
export default Buy;
|
@@ -0,0 +1,26 @@
|
|
1
|
+
.ktv-ai-vip-compare{
|
2
|
+
.vip-compare-price{
|
3
|
+
small{
|
4
|
+
color: #888;
|
5
|
+
vertical-align: middle;
|
6
|
+
}
|
7
|
+
}
|
8
|
+
.listMore{
|
9
|
+
position: absolute;
|
10
|
+
right: 10px;
|
11
|
+
top: 9px;
|
12
|
+
}
|
13
|
+
|
14
|
+
.vipCompareListMoreContent{
|
15
|
+
width: 500px;
|
16
|
+
.ratioAlt{
|
17
|
+
padding: 6px 0;
|
18
|
+
font-size: 13px;
|
19
|
+
color: #777;
|
20
|
+
.vip-compare-alt{
|
21
|
+
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
}
|
package/dist/Buy/qr.d.ts
ADDED
package/dist/Buy/qr.js
ADDED
@@ -0,0 +1,185 @@
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
2
|
+
import React, { useState } from 'react';
|
3
|
+
import { Result, Button, Space, Divider } from 'antd';
|
4
|
+
import { CloseOutlined, PauseOutlined, WechatOutlined } from '@ant-design/icons';
|
5
|
+
import { useRequest } from '@umijs/hooks';
|
6
|
+
import * as TradeController from "../service/api/TradeController";
|
7
|
+
import * as VipController from "../service/api/VipController";
|
8
|
+
import Tool from "../lib/Tool";
|
9
|
+
import PageContentWarp from "../UI/PageContentWarp";
|
10
|
+
import "./qr.less";
|
11
|
+
import Platform from "../lib/platform";
|
12
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
14
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
15
|
+
var VipQr = function VipQr(_ref) {
|
16
|
+
var _ref$env = _ref.env,
|
17
|
+
env = _ref$env === void 0 ? 'prod' : _ref$env,
|
18
|
+
_ref$productKind = _ref.productKind,
|
19
|
+
productKind = _ref$productKind === void 0 ? 'vip' : _ref$productKind,
|
20
|
+
_ref$productCount = _ref.productCount,
|
21
|
+
productCount = _ref$productCount === void 0 ? 1 : _ref$productCount,
|
22
|
+
_ref$vipId = _ref.vipId,
|
23
|
+
vipId = _ref$vipId === void 0 ? 0 : _ref$vipId,
|
24
|
+
_ref$onHandlePaySucce = _ref.onHandlePaySuccess,
|
25
|
+
onHandlePaySuccess = _ref$onHandlePaySucce === void 0 ? function () {} : _ref$onHandlePaySucce;
|
26
|
+
var _useState = useState(Tool.getLocalUserInfo()),
|
27
|
+
_useState2 = _slicedToArray(_useState, 1),
|
28
|
+
userInfo = _useState2[0];
|
29
|
+
var _useState3 = useState(false),
|
30
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
31
|
+
payResult = _useState4[0],
|
32
|
+
setPayResult = _useState4[1];
|
33
|
+
var _useState5 = useState({
|
34
|
+
codeUrl: '',
|
35
|
+
mWebUrl: ''
|
36
|
+
}),
|
37
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
38
|
+
orderPayInfo = _useState6[0],
|
39
|
+
setOrderPayInfo = _useState6[1];
|
40
|
+
var _useState7 = useState(''),
|
41
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
42
|
+
payQrImageUrl = _useState8[0],
|
43
|
+
setPayQrImageUrl = _useState8[1];
|
44
|
+
var _useState9 = useState({
|
45
|
+
id: 0,
|
46
|
+
marketPrice: 0,
|
47
|
+
month: 0,
|
48
|
+
monthTitle: '',
|
49
|
+
price: 0,
|
50
|
+
productType: '',
|
51
|
+
productName: '',
|
52
|
+
ratioDownPercent1: 0,
|
53
|
+
ratioDownPercent2: 0,
|
54
|
+
alt: '',
|
55
|
+
recommend: 0
|
56
|
+
}),
|
57
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
58
|
+
detailData = _useState10[0],
|
59
|
+
setDetailData = _useState10[1];
|
60
|
+
// 允许帮别人支付,只认码; 不认支付的小程序
|
61
|
+
|
62
|
+
var _useRequest = useRequest(function () {
|
63
|
+
return TradeController.create({
|
64
|
+
productKind: productKind,
|
65
|
+
productTypeId: vipId,
|
66
|
+
productCount: productCount,
|
67
|
+
userId: Tool.getLocalUserInfo().id,
|
68
|
+
payType: 'NATIVE' //Platform.isH5 ? 'MWEB' : 'NATIVE',
|
69
|
+
}, {
|
70
|
+
env: env
|
71
|
+
});
|
72
|
+
}, {
|
73
|
+
manual: true,
|
74
|
+
onSuccess: function onSuccess(result) {
|
75
|
+
console.log('re 1', result);
|
76
|
+
if (Platform.isH5) {
|
77
|
+
if (Platform.isWechat) {
|
78
|
+
// document.location.href = result.mWebUrl;
|
79
|
+
} else {}
|
80
|
+
} else {}
|
81
|
+
setOrderPayInfo(result);
|
82
|
+
setPayQrImageUrl(Tool.makeQrUrl(result.codeUrl || result.mWebUrl, '#0bc160'));
|
83
|
+
// 五秒后自动弹出;
|
84
|
+
setTimeout(function () {
|
85
|
+
setPayResult(true);
|
86
|
+
}, 20e3);
|
87
|
+
}
|
88
|
+
}),
|
89
|
+
loadingPay = _useRequest.loading,
|
90
|
+
runPay = _useRequest.run,
|
91
|
+
errorPay = _useRequest.error;
|
92
|
+
var _useRequest2 = useRequest(function () {
|
93
|
+
return VipController.detail({
|
94
|
+
id: vipId
|
95
|
+
}, {
|
96
|
+
env: env
|
97
|
+
});
|
98
|
+
}, {
|
99
|
+
onSuccess: function onSuccess(result) {
|
100
|
+
runPay();
|
101
|
+
console.log('re 1', result);
|
102
|
+
setDetailData(result);
|
103
|
+
}
|
104
|
+
}),
|
105
|
+
loading = _useRequest2.loading,
|
106
|
+
run = _useRequest2.run,
|
107
|
+
error = _useRequest2.error;
|
108
|
+
return /*#__PURE__*/_jsxs(PageContentWarp, {
|
109
|
+
loading: loading || loadingPay,
|
110
|
+
error: error || errorPay
|
111
|
+
// title="购买会员"
|
112
|
+
,
|
113
|
+
onReload: function onReload() {
|
114
|
+
return run();
|
115
|
+
},
|
116
|
+
className: "ktv-ai-vipQr",
|
117
|
+
children: [/*#__PURE__*/_jsxs("h2", {
|
118
|
+
children: ["\u8D2D\u4E70\u4F1A\u5458\uFF1A", detailData.productName || detailData.productType]
|
119
|
+
}), /*#__PURE__*/_jsxs("div", {
|
120
|
+
className: "price",
|
121
|
+
children: [/*#__PURE__*/_jsx("small", {
|
122
|
+
children: "\uFFE5"
|
123
|
+
}), /*#__PURE__*/_jsx("strong", {
|
124
|
+
children: detailData.price
|
125
|
+
}), /*#__PURE__*/_jsx("small", {
|
126
|
+
children: "\u5143"
|
127
|
+
}), " / ", detailData.monthTitle, productCount > 1 && /*#__PURE__*/_jsxs(_Fragment, {
|
128
|
+
children: [/*#__PURE__*/_jsx(CloseOutlined, {
|
129
|
+
className: "multiply"
|
130
|
+
}), /*#__PURE__*/_jsx("span", {
|
131
|
+
className: "productCount",
|
132
|
+
children: productCount
|
133
|
+
}), /*#__PURE__*/_jsx(PauseOutlined, {
|
134
|
+
className: "equal"
|
135
|
+
}), /*#__PURE__*/_jsx("span", {
|
136
|
+
className: "moneyAll",
|
137
|
+
children: parseFloat(Tool.math.multiply(detailData.price, productCount).toFixed(0))
|
138
|
+
}), /*#__PURE__*/_jsx("small", {
|
139
|
+
className: "yen",
|
140
|
+
children: "\u5143"
|
141
|
+
})]
|
142
|
+
})]
|
143
|
+
}), /*#__PURE__*/_jsx("div", {
|
144
|
+
className: "qrImage",
|
145
|
+
children: payQrImageUrl && /*#__PURE__*/_jsx("img", {
|
146
|
+
src: payQrImageUrl,
|
147
|
+
alt: ""
|
148
|
+
})
|
149
|
+
}), Platform.isH5 ? /*#__PURE__*/_jsxs("div", {
|
150
|
+
className: "altInH5",
|
151
|
+
children: ["\u957F\u6309\u4E8C\u7EF4\u7801\uFF0C\u53EF\u8BC6\u522B\u4E8C\u7EF4\u7801\u652F\u4ED8", /*#__PURE__*/_jsx("p", {
|
152
|
+
className: "toFriend",
|
153
|
+
children: "\u6216\u8005\u4FDD\u5B58\u56FE\u7247\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"
|
154
|
+
})]
|
155
|
+
}) : /*#__PURE__*/_jsxs("div", {
|
156
|
+
className: "alt",
|
157
|
+
children: ["\u8BF7\u7528 ", /*#__PURE__*/_jsx(WechatOutlined, {
|
158
|
+
className: "wechatIcon"
|
159
|
+
}), " \u5FAE\u4FE1 \u626B\u7801\u652F\u4ED8 ", /*#__PURE__*/_jsx(Divider, {
|
160
|
+
type: "vertical"
|
161
|
+
}), " \u4E5F\u53EF\u4EE5\u8BA9\u670B\u53CB\u626B\u7801\u4EE3\u4ED8"]
|
162
|
+
}), payResult && /*#__PURE__*/_jsxs("div", {
|
163
|
+
className: "payResult",
|
164
|
+
children: [/*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(Result, {
|
165
|
+
title: "\u662F\u5426\u5DF2\u7ECF\u8D2D\u4E70\u6210\u529F\uFF1F",
|
166
|
+
subTitle: "\u8D2D\u4E70\u6210\u529F\u540E\uFF0C\u53EF\u4EE5\u5728\u201C\u6211\u7684\u201D\u9875\u9762\u67E5\u770B",
|
167
|
+
extra: /*#__PURE__*/_jsxs(Space, {
|
168
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
169
|
+
type: "primary",
|
170
|
+
onClick: function onClick() {
|
171
|
+
return onHandlePaySuccess();
|
172
|
+
},
|
173
|
+
children: "\u5DF2\u7ECF\u4ED8\u6B3E\u6210\u529F"
|
174
|
+
}), /*#__PURE__*/_jsx(Button, {
|
175
|
+
onClick: function onClick() {
|
176
|
+
return setPayResult(false);
|
177
|
+
},
|
178
|
+
children: "\u672A\u4ED8\u6B3E"
|
179
|
+
})]
|
180
|
+
})
|
181
|
+
})]
|
182
|
+
})]
|
183
|
+
});
|
184
|
+
};
|
185
|
+
export default VipQr;
|
package/dist/Buy/qr.less
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
.ktv-ai-vipQr{
|
2
|
+
position: relative;
|
3
|
+
text-align: center;
|
4
|
+
display: flex;
|
5
|
+
flex-direction: column;
|
6
|
+
height: 100%;
|
7
|
+
.qrImage{
|
8
|
+
width: 200px;
|
9
|
+
height: 200px;
|
10
|
+
margin: 20px auto 10px;
|
11
|
+
img{
|
12
|
+
display: block;
|
13
|
+
width: 100%;
|
14
|
+
max-width: 100%;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
.price{
|
18
|
+
font-size: 16px;
|
19
|
+
strong{
|
20
|
+
font-size: 20px;
|
21
|
+
color: #F60;
|
22
|
+
}
|
23
|
+
.multiply{
|
24
|
+
display: inline-block;
|
25
|
+
margin: 0 10px;
|
26
|
+
color: #AAA;
|
27
|
+
}
|
28
|
+
.productCount{
|
29
|
+
font-size: 20px;
|
30
|
+
}
|
31
|
+
.equal{
|
32
|
+
transform: rotate(90deg);
|
33
|
+
display: inline-block;
|
34
|
+
margin: 0 10px;
|
35
|
+
color: #AAA;
|
36
|
+
}
|
37
|
+
.moneyAll{
|
38
|
+
color: #F60;
|
39
|
+
font-size: 32px;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
.alt{
|
43
|
+
color: #999;
|
44
|
+
font-size: 13px;
|
45
|
+
.wechatIcon{
|
46
|
+
color: #0bc160;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
.altInH5{
|
50
|
+
padding: 8px 0 0;
|
51
|
+
color: #C00;
|
52
|
+
font-size: 15px;
|
53
|
+
.toFriend{
|
54
|
+
font-size: 13px;
|
55
|
+
color: #888;
|
56
|
+
padding: 0;
|
57
|
+
margin: 0;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
61
|
+
.payResult{
|
62
|
+
.ant-result{
|
63
|
+
padding: 0 30px 30px;
|
64
|
+
}
|
65
|
+
.ant-result-icon{
|
66
|
+
display: none;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
4
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
5
|
+
import * as ProductController from "../service/api/ProductController";
|
6
|
+
var Product = /*#__PURE__*/function () {
|
7
|
+
function Product() {
|
8
|
+
_classCallCheck(this, Product);
|
9
|
+
}
|
10
|
+
_createClass(Product, [{
|
11
|
+
key: "detail",
|
12
|
+
value: function () {
|
13
|
+
var _detail = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(productType) {
|
14
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
15
|
+
while (1) switch (_context.prev = _context.next) {
|
16
|
+
case 0:
|
17
|
+
return _context.abrupt("return", ProductController.detail({
|
18
|
+
productType: productType
|
19
|
+
}));
|
20
|
+
case 1:
|
21
|
+
case "end":
|
22
|
+
return _context.stop();
|
23
|
+
}
|
24
|
+
}, _callee);
|
25
|
+
}));
|
26
|
+
function detail(_x) {
|
27
|
+
return _detail.apply(this, arguments);
|
28
|
+
}
|
29
|
+
return detail;
|
30
|
+
}()
|
31
|
+
}]);
|
32
|
+
return Product;
|
33
|
+
}();
|
34
|
+
export default Product;
|