iamport-react-native 1.6.4 → 2.0.0-rc.2
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.
- package/LICENSE +21 -0
- package/README.md +25 -320
- package/android/build.gradle +114 -24
- package/android/gradle.properties +4 -0
- package/android/src/main/AndroidManifest.xml +1 -3
- package/android/src/main/java/com/iamportreactnative/IamportReactNativePackage.kt +17 -0
- package/android/src/main/java/com/iamportreactnative/IamportReactNativeViewManager.kt +20 -0
- package/iamport-react-native.podspec +19 -0
- package/ios/IamportReactNative-Bridging-Header.h +1 -0
- package/ios/IamportReactNative.xcodeproj/project.pbxproj +47 -20
- package/ios/IamportReactNativeViewManager.m +12 -0
- package/ios/IamportReactNativeViewManager.swift +32 -0
- package/lib/commonjs/components/Certification/index.js +154 -0
- package/lib/commonjs/components/Certification/index.js.map +1 -0
- package/lib/commonjs/components/ErrorOnParams/index.js +66 -0
- package/lib/commonjs/components/ErrorOnParams/index.js.map +1 -0
- package/lib/commonjs/components/Loading/index.js +50 -0
- package/lib/commonjs/components/Loading/index.js.map +1 -0
- package/lib/commonjs/components/Payment/index.js +288 -0
- package/lib/commonjs/components/Payment/index.js.map +1 -0
- package/lib/commonjs/constants/index.js +103 -0
- package/lib/commonjs/constants/index.js.map +1 -0
- package/{android/src/main/assets → lib/commonjs}/img/iamport-logo.png +0 -0
- package/lib/commonjs/index.js +36 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/styles.js +31 -0
- package/lib/commonjs/styles.js.map +1 -0
- package/lib/commonjs/utils/IamportUrl.js +334 -0
- package/lib/commonjs/utils/IamportUrl.js.map +1 -0
- package/lib/commonjs/utils/Validation.js +72 -0
- package/lib/commonjs/utils/Validation.js.map +1 -0
- package/lib/commonjs/utils/ValidationForPayment.js +143 -0
- package/lib/commonjs/utils/ValidationForPayment.js.map +1 -0
- package/lib/module/components/Certification/index.js +132 -0
- package/lib/module/components/Certification/index.js.map +1 -0
- package/lib/module/components/ErrorOnParams/index.js +55 -0
- package/lib/module/components/ErrorOnParams/index.js.map +1 -0
- package/lib/module/components/Loading/index.js +38 -0
- package/lib/module/components/Loading/index.js.map +1 -0
- package/lib/module/components/Payment/index.js +266 -0
- package/lib/module/components/Payment/index.js.map +1 -0
- package/lib/module/constants/index.js +98 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/img/iamport-logo.png +0 -0
- package/lib/module/index.js +10 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/styles.js +21 -0
- package/lib/module/styles.js.map +1 -0
- package/lib/module/utils/IamportUrl.js +322 -0
- package/lib/module/utils/IamportUrl.js.map +1 -0
- package/{src → lib/module}/utils/Validation.js +25 -9
- package/lib/module/utils/Validation.js.map +1 -0
- package/{src → lib/module}/utils/ValidationForPayment.js +23 -13
- package/lib/module/utils/ValidationForPayment.js.map +1 -0
- package/lib/typescript/components/Certification/index.d.ts +10 -0
- package/lib/typescript/components/ErrorOnParams/index.d.ts +5 -0
- package/lib/typescript/components/Loading/index.d.ts +2 -0
- package/lib/typescript/components/Payment/index.d.ts +10 -0
- package/lib/typescript/constants/index.d.ts +76 -0
- package/lib/typescript/index.d.ts +9 -0
- package/lib/typescript/styles.d.ts +19 -0
- package/lib/typescript/utils/IamportUrl.d.ts +19 -0
- package/lib/typescript/utils/Validation.d.ts +58 -0
- package/lib/typescript/utils/ValidationForPayment.d.ts +7 -0
- package/package.json +98 -20
- package/src/components/Certification/index.tsx +112 -0
- package/src/components/ErrorOnParams/{index.js → index.tsx} +20 -25
- package/src/components/Loading/{index.js → index.tsx} +9 -10
- package/src/components/Payment/index.tsx +243 -0
- package/src/constants/index.ts +150 -0
- package/src/{index.js → index.tsx} +4 -1
- package/src/{styles.js → styles.ts} +3 -1
- package/src/utils/IamportUrl.ts +319 -0
- package/src/utils/Validation.ts +101 -0
- package/src/utils/ValidationForPayment.ts +146 -0
- package/IamportReactNative.podspec +0 -19
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/android/gradlew +0 -172
- package/android/gradlew.bat +0 -84
- package/android/src/main/java/com/iamport/IamportModule.java +0 -88
- package/android/src/main/java/com/iamport/IamportPackage.java +0 -23
- package/ios/IamportReactNative.h +0 -11
- package/ios/IamportReactNative.m +0 -23
- package/ios/IamportReactNative.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/IamportReactNative.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/IamportReactNative.xcworkspace/contents.xcworkspacedata +0 -9
- package/manuals/CALLBACK.md +0 -68
- package/manuals/EXAMPLE.md +0 -175
- package/manuals/EXPO.md +0 -66
- package/manuals/INSTALL.md +0 -72
- package/manuals/SETTING.md +0 -72
- package/manuals/SUPPORT.md +0 -30
- package/manuals/TRANS.md +0 -122
- package/manuals/VERSION.md +0 -114
- package/manuals/assets/webview-peer-dependency.png +0 -0
- package/src/components/Certification/index.js +0 -99
- package/src/components/Payment/PaymentWebView.js +0 -285
- package/src/components/Payment/index.android.js +0 -51
- package/src/components/Payment/index.ios.js +0 -30
- package/src/constants/index.js +0 -83
- package/src/img/after-linking-iamport.png +0 -0
- package/src/img/after-linking-webview.png +0 -0
- package/src/img/allow-arbitrary.gif +0 -0
- package/src/img/android-studio-avd-manager.png +0 -0
- package/src/img/android-studio-build.png +0 -0
- package/src/img/app-scheme-registry.gif +0 -0
- package/src/img/expo-eject.png +0 -0
- package/src/img/ios-emulator-certification.png +0 -0
- package/src/img/ios-emulator-home.png +0 -0
- package/src/img/ios-emulator-payment.png +0 -0
- package/src/img/ios-trans-create-header-file-1.png +0 -0
- package/src/img/ios-trans-create-header-file-2.png +0 -0
- package/src/img/ios-trans-create-objectivec-file-1.png +0 -0
- package/src/img/ios-trans-create-objectivec-file-2.png +0 -0
- package/src/img/ios-trans-result.png +0 -0
- package/src/utils/IamportUrl.js +0 -103
|
@@ -7,15 +7,18 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
5E555C0D2413F4C50049A1A2 /* IamportReactNative.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* IamportReactNative.m */; };
|
|
12
|
+
F4FF95D7245B92E800C19C63 /* IamportReactNative.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* IamportReactNative.swift */; };
|
|
13
|
+
|
|
11
14
|
/* End PBXBuildFile section */
|
|
12
15
|
|
|
13
16
|
/* Begin PBXCopyFilesBuildPhase section */
|
|
14
|
-
|
|
17
|
+
58B511D91A9E6C8500147676 /* CopyFiles */ = {
|
|
15
18
|
isa = PBXCopyFilesBuildPhase;
|
|
16
19
|
buildActionMask = 2147483647;
|
|
17
|
-
dstPath = "";
|
|
18
|
-
dstSubfolderSpec =
|
|
20
|
+
dstPath = "include/$(PRODUCT_NAME)";
|
|
21
|
+
dstSubfolderSpec = 16;
|
|
19
22
|
files = (
|
|
20
23
|
);
|
|
21
24
|
runOnlyForDeploymentPostprocessing = 0;
|
|
@@ -24,12 +27,15 @@
|
|
|
24
27
|
|
|
25
28
|
/* Begin PBXFileReference section */
|
|
26
29
|
134814201AA4EA6300B7C361 /* libIamportReactNative.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libIamportReactNative.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
27
|
-
|
|
30
|
+
|
|
28
31
|
B3E7B5891CC2AC0600A0062D /* IamportReactNative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IamportReactNative.m; sourceTree = "<group>"; };
|
|
32
|
+
F4FF95D5245B92E700C19C63 /* IamportReactNative-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "IamportReactNative-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
33
|
+
F4FF95D6245B92E800C19C63 /* IamportReactNative.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IamportReactNative.swift; sourceTree = "<group>"; };
|
|
34
|
+
|
|
29
35
|
/* End PBXFileReference section */
|
|
30
36
|
|
|
31
37
|
/* Begin PBXFrameworksBuildPhase section */
|
|
32
|
-
|
|
38
|
+
58B511D81A9E6C8500147676 /* Frameworks */ = {
|
|
33
39
|
isa = PBXFrameworksBuildPhase;
|
|
34
40
|
buildActionMask = 2147483647;
|
|
35
41
|
files = (
|
|
@@ -50,8 +56,11 @@
|
|
|
50
56
|
58B511D21A9E6C8500147676 = {
|
|
51
57
|
isa = PBXGroup;
|
|
52
58
|
children = (
|
|
53
|
-
|
|
59
|
+
|
|
60
|
+
F4FF95D6245B92E800C19C63 /* IamportReactNative.swift */,
|
|
54
61
|
B3E7B5891CC2AC0600A0062D /* IamportReactNative.m */,
|
|
62
|
+
F4FF95D5245B92E700C19C63 /* IamportReactNative-Bridging-Header.h */,
|
|
63
|
+
|
|
55
64
|
134814211AA4EA7D00B7C361 /* Products */,
|
|
56
65
|
);
|
|
57
66
|
sourceTree = "<group>";
|
|
@@ -64,8 +73,8 @@
|
|
|
64
73
|
buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "IamportReactNative" */;
|
|
65
74
|
buildPhases = (
|
|
66
75
|
58B511D71A9E6C8500147676 /* Sources */,
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
58B511D81A9E6C8500147676 /* Frameworks */,
|
|
77
|
+
58B511D91A9E6C8500147676 /* CopyFiles */,
|
|
69
78
|
);
|
|
70
79
|
buildRules = (
|
|
71
80
|
);
|
|
@@ -82,7 +91,7 @@
|
|
|
82
91
|
58B511D31A9E6C8500147676 /* Project object */ = {
|
|
83
92
|
isa = PBXProject;
|
|
84
93
|
attributes = {
|
|
85
|
-
LastUpgradeCheck =
|
|
94
|
+
LastUpgradeCheck = 0920;
|
|
86
95
|
ORGANIZATIONNAME = Facebook;
|
|
87
96
|
TargetAttributes = {
|
|
88
97
|
58B511DA1A9E6C8500147676 = {
|
|
@@ -113,7 +122,10 @@
|
|
|
113
122
|
isa = PBXSourcesBuildPhase;
|
|
114
123
|
buildActionMask = 2147483647;
|
|
115
124
|
files = (
|
|
125
|
+
|
|
126
|
+
F4FF95D7245B92E800C19C63 /* IamportReactNative.swift in Sources */,
|
|
116
127
|
B3E7B58A1CC2AC0600A0062D /* IamportReactNative.m in Sources */,
|
|
128
|
+
|
|
117
129
|
);
|
|
118
130
|
runOnlyForDeploymentPostprocessing = 0;
|
|
119
131
|
};
|
|
@@ -128,14 +140,20 @@
|
|
|
128
140
|
CLANG_CXX_LIBRARY = "libc++";
|
|
129
141
|
CLANG_ENABLE_MODULES = YES;
|
|
130
142
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
143
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
131
144
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
145
|
+
CLANG_WARN_COMMA = YES;
|
|
132
146
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
133
147
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
134
148
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
135
149
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
136
150
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
137
151
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
152
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
153
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
138
154
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
155
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
156
|
+
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
139
157
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
140
158
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
141
159
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
@@ -172,14 +190,20 @@
|
|
|
172
190
|
CLANG_CXX_LIBRARY = "libc++";
|
|
173
191
|
CLANG_ENABLE_MODULES = YES;
|
|
174
192
|
CLANG_ENABLE_OBJC_ARC = YES;
|
|
193
|
+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
|
175
194
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
|
195
|
+
CLANG_WARN_COMMA = YES;
|
|
176
196
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
|
177
197
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
178
198
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
179
199
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
180
200
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
181
201
|
CLANG_WARN_INT_CONVERSION = YES;
|
|
202
|
+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
|
203
|
+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
|
182
204
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
|
205
|
+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
206
|
+
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
|
183
207
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
|
184
208
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
185
209
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
@@ -209,14 +233,16 @@
|
|
|
209
233
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
210
234
|
"$(SRCROOT)/../../../React/**",
|
|
211
235
|
"$(SRCROOT)/../../react-native/React/**",
|
|
212
|
-
"$(SRCROOT)/../../react-native-webview/ios/**",
|
|
213
|
-
);
|
|
214
|
-
LIBRARY_SEARCH_PATHS = (
|
|
215
|
-
"$(inherited)",
|
|
216
|
-
"\"$(SRCROOT)/IamportReactNative\"",
|
|
217
236
|
);
|
|
237
|
+
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
238
|
+
OTHER_LDFLAGS = "-ObjC";
|
|
218
239
|
PRODUCT_NAME = IamportReactNative;
|
|
219
240
|
SKIP_INSTALL = YES;
|
|
241
|
+
|
|
242
|
+
SWIFT_OBJC_BRIDGING_HEADER = "IamportReactNative-Bridging-Header.h";
|
|
243
|
+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
244
|
+
SWIFT_VERSION = 5.0;
|
|
245
|
+
|
|
220
246
|
};
|
|
221
247
|
name = Debug;
|
|
222
248
|
};
|
|
@@ -228,14 +254,15 @@
|
|
|
228
254
|
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
|
|
229
255
|
"$(SRCROOT)/../../../React/**",
|
|
230
256
|
"$(SRCROOT)/../../react-native/React/**",
|
|
231
|
-
"$(SRCROOT)/../../react-native-webview/ios/**",
|
|
232
|
-
);
|
|
233
|
-
LIBRARY_SEARCH_PATHS = (
|
|
234
|
-
"$(inherited)",
|
|
235
|
-
"\"$(SRCROOT)/IamportReactNative\"",
|
|
236
257
|
);
|
|
258
|
+
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
259
|
+
OTHER_LDFLAGS = "-ObjC";
|
|
237
260
|
PRODUCT_NAME = IamportReactNative;
|
|
238
261
|
SKIP_INSTALL = YES;
|
|
262
|
+
|
|
263
|
+
SWIFT_OBJC_BRIDGING_HEADER = "IamportReactNative-Bridging-Header.h";
|
|
264
|
+
SWIFT_VERSION = 5.0;
|
|
265
|
+
|
|
239
266
|
};
|
|
240
267
|
name = Release;
|
|
241
268
|
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@objc(IamportReactNativeViewManager)
|
|
2
|
+
class IamportReactNativeViewManager: RCTViewManager {
|
|
3
|
+
|
|
4
|
+
override func view() -> (IamportReactNativeView) {
|
|
5
|
+
return IamportReactNativeView()
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class IamportReactNativeView : UIView {
|
|
10
|
+
|
|
11
|
+
@objc var color: String = "" {
|
|
12
|
+
didSet {
|
|
13
|
+
self.backgroundColor = hexStringToUIColor(hexColor: color)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
func hexStringToUIColor(hexColor: String) -> UIColor {
|
|
18
|
+
let stringScanner = Scanner(string: hexColor)
|
|
19
|
+
|
|
20
|
+
if(hexColor.hasPrefix("#")) {
|
|
21
|
+
stringScanner.scanLocation = 1
|
|
22
|
+
}
|
|
23
|
+
var color: UInt32 = 0
|
|
24
|
+
stringScanner.scanHexInt32(&color)
|
|
25
|
+
|
|
26
|
+
let r = CGFloat(Int(color >> 16) & 0x000000FF)
|
|
27
|
+
let g = CGFloat(Int(color >> 8) & 0x000000FF)
|
|
28
|
+
let b = CGFloat(Int(color) & 0x000000FF)
|
|
29
|
+
|
|
30
|
+
return UIColor(red: r / 255.0, green: g / 255.0, blue: b / 255.0, alpha: 1)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
var _reactNativeWebview = require("react-native-webview");
|
|
13
|
+
|
|
14
|
+
var _Loading = _interopRequireDefault(require("../Loading"));
|
|
15
|
+
|
|
16
|
+
var _ErrorOnParams = _interopRequireDefault(require("../ErrorOnParams"));
|
|
17
|
+
|
|
18
|
+
var _Validation = require("../../utils/Validation");
|
|
19
|
+
|
|
20
|
+
var _constants = require("../../constants");
|
|
21
|
+
|
|
22
|
+
var _styles = _interopRequireDefault(require("../../styles"));
|
|
23
|
+
|
|
24
|
+
var _IamportUrl = _interopRequireDefault(require("../../utils/IamportUrl"));
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
|
|
30
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
|
+
|
|
32
|
+
function Certification({
|
|
33
|
+
userCode,
|
|
34
|
+
tierCode,
|
|
35
|
+
data,
|
|
36
|
+
loading,
|
|
37
|
+
callback
|
|
38
|
+
}) {
|
|
39
|
+
const [isWebViewLoaded, setIsWebViewLoaded] = (0, _react.useState)(false);
|
|
40
|
+
const webview = (0, _react.useRef)();
|
|
41
|
+
const validation = new _Validation.Validation(userCode, loading);
|
|
42
|
+
|
|
43
|
+
if (validation.getIsValid()) {
|
|
44
|
+
const {
|
|
45
|
+
wrapper,
|
|
46
|
+
loadingContainer,
|
|
47
|
+
webViewContainer
|
|
48
|
+
} = _styles.default;
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
50
|
+
style: wrapper
|
|
51
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
52
|
+
style: webViewContainer
|
|
53
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNativeWebview.WebView, {
|
|
54
|
+
ref: ref => {
|
|
55
|
+
if (ref !== null) {
|
|
56
|
+
webview.current = ref;
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
useWebKit: true,
|
|
60
|
+
source: {
|
|
61
|
+
html: _constants.IMPConst.WEBVIEW_SOURCE_HTML
|
|
62
|
+
},
|
|
63
|
+
onLoadEnd: () => {
|
|
64
|
+
if (!isWebViewLoaded) {
|
|
65
|
+
var _webview$current3;
|
|
66
|
+
|
|
67
|
+
// html이 load되고 최초 한번만 inject javascript
|
|
68
|
+
if (tierCode) {
|
|
69
|
+
var _webview$current;
|
|
70
|
+
|
|
71
|
+
(_webview$current = webview.current) === null || _webview$current === void 0 ? void 0 : _webview$current.injectJavaScript(`
|
|
72
|
+
setTimeout(function() { IMP.agency("${userCode}", "${tierCode}"); });
|
|
73
|
+
`);
|
|
74
|
+
} else {
|
|
75
|
+
var _webview$current2;
|
|
76
|
+
|
|
77
|
+
(_webview$current2 = webview.current) === null || _webview$current2 === void 0 ? void 0 : _webview$current2.injectJavaScript(`
|
|
78
|
+
setTimeout(function() { IMP.init("${userCode}"); });
|
|
79
|
+
`);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
(_webview$current3 = webview.current) === null || _webview$current3 === void 0 ? void 0 : _webview$current3.injectJavaScript(`
|
|
83
|
+
setTimeout(function() {
|
|
84
|
+
IMP.certification(${JSON.stringify(data)}, function(response) {
|
|
85
|
+
window.ReactNativeWebView.postMessage(JSON.stringify(response));
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
`);
|
|
89
|
+
setIsWebViewLoaded(true);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
onMessage: e => {
|
|
93
|
+
const {
|
|
94
|
+
data
|
|
95
|
+
} = e.nativeEvent;
|
|
96
|
+
let response = data;
|
|
97
|
+
|
|
98
|
+
while (decodeURIComponent(response) !== response) {
|
|
99
|
+
response = decodeURIComponent(response);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
response = JSON.parse(response);
|
|
103
|
+
|
|
104
|
+
if (typeof callback === 'function') {
|
|
105
|
+
callback(response);
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
startInLoadingState: true,
|
|
109
|
+
renderLoading: () => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
110
|
+
style: loadingContainer
|
|
111
|
+
}, loading || /*#__PURE__*/_react.default.createElement(_Loading.default, null)),
|
|
112
|
+
originWhitelist: ['*'] // https://github.com/facebook/react-native/issues/19986
|
|
113
|
+
,
|
|
114
|
+
onShouldStartLoadWithRequest: request => {
|
|
115
|
+
const {
|
|
116
|
+
url
|
|
117
|
+
} = request; // console.log('url: ' + url);
|
|
118
|
+
|
|
119
|
+
const iamportUrl = new _IamportUrl.default(url);
|
|
120
|
+
|
|
121
|
+
if (iamportUrl.isAppUrl()) {
|
|
122
|
+
/* 3rd-party 앱 오픈 */
|
|
123
|
+
iamportUrl.launchApp().catch(e => {
|
|
124
|
+
const {
|
|
125
|
+
code,
|
|
126
|
+
message
|
|
127
|
+
} = e;
|
|
128
|
+
callback({
|
|
129
|
+
imp_success: false,
|
|
130
|
+
error_code: code,
|
|
131
|
+
error_msg: message
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (iamportUrl.isPaymentOver()) {
|
|
138
|
+
callback(iamportUrl.getQuery());
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
})));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return /*#__PURE__*/_react.default.createElement(_ErrorOnParams.default, {
|
|
148
|
+
message: validation.getMessage()
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
var _default = Certification;
|
|
153
|
+
exports.default = _default;
|
|
154
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["Certification","userCode","tierCode","data","loading","callback","isWebViewLoaded","setIsWebViewLoaded","webview","validation","Validation","getIsValid","wrapper","loadingContainer","webViewContainer","viewStyles","ref","current","html","IMPConst","WEBVIEW_SOURCE_HTML","injectJavaScript","JSON","stringify","e","nativeEvent","response","decodeURIComponent","parse","request","url","iamportUrl","IamportUrl","isAppUrl","launchApp","catch","code","message","imp_success","error_code","error_msg","isPaymentOver","getQuery","getMessage"],"mappings":"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","sourcesContent":["import React, { useRef, useState } from 'react';\nimport { View } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\nimport Loading from '../Loading';\nimport ErrorOnParams from '../ErrorOnParams';\n\nimport { IMPData, Validation } from '../../utils/Validation';\nimport { IMPConst } from '../../constants';\n\nimport viewStyles from '../../styles';\nimport IamportUrl from '../../utils/IamportUrl';\n\ntype Props = {\n userCode: string;\n tierCode?: string;\n data: IMPData.CertificationData;\n loading: any;\n callback: (response: any) => any;\n};\n\nfunction Certification({ userCode, tierCode, data, loading, callback }: Props) {\n const [isWebViewLoaded, setIsWebViewLoaded] = useState(false);\n const webview = useRef<WebView>();\n\n const validation = new Validation(userCode, loading);\n if (validation.getIsValid()) {\n const { wrapper, loadingContainer, webViewContainer } = viewStyles;\n return (\n <View style={wrapper}>\n <View style={webViewContainer}>\n <WebView\n ref={(ref) => {\n if (ref !== null) {\n webview.current = ref;\n }\n }}\n useWebKit\n source={{ html: IMPConst.WEBVIEW_SOURCE_HTML }}\n onLoadEnd={() => {\n if (!isWebViewLoaded) {\n // html이 load되고 최초 한번만 inject javascript\n if (tierCode) {\n webview.current?.injectJavaScript(`\n setTimeout(function() { IMP.agency(\"${userCode}\", \"${tierCode}\"); });\n `);\n } else {\n webview.current?.injectJavaScript(`\n setTimeout(function() { IMP.init(\"${userCode}\"); });\n `);\n }\n webview.current?.injectJavaScript(`\n setTimeout(function() {\n IMP.certification(${JSON.stringify(data)}, function(response) {\n window.ReactNativeWebView.postMessage(JSON.stringify(response));\n });\n });\n `);\n setIsWebViewLoaded(true);\n }\n }}\n onMessage={(e) => {\n const { data } = e.nativeEvent;\n let response = data;\n while (decodeURIComponent(response) !== response) {\n response = decodeURIComponent(response);\n }\n response = JSON.parse(response);\n\n if (typeof callback === 'function') {\n callback(response);\n }\n }}\n startInLoadingState\n renderLoading={() => (\n <View style={loadingContainer}>{loading || <Loading />}</View>\n )}\n originWhitelist={['*']} // https://github.com/facebook/react-native/issues/19986\n onShouldStartLoadWithRequest={(request) => {\n const { url } = request;\n // console.log('url: ' + url);\n const iamportUrl = new IamportUrl(url);\n if (iamportUrl.isAppUrl()) {\n /* 3rd-party 앱 오픈 */\n iamportUrl.launchApp().catch((e) => {\n const { code, message } = e;\n callback({\n imp_success: false,\n error_code: code,\n error_msg: message,\n });\n });\n\n return false;\n }\n if (iamportUrl.isPaymentOver()) {\n callback(iamportUrl.getQuery());\n return false;\n }\n\n return true;\n }}\n />\n </View>\n </View>\n );\n }\n\n return <ErrorOnParams message={validation.getMessage()} />;\n}\n\nexport default Certification;\n"]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const logo = require('../../img/iamport-logo.png');
|
|
15
|
+
|
|
16
|
+
function ErrorOnParams({
|
|
17
|
+
message
|
|
18
|
+
}) {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
20
|
+
style: styles.container
|
|
21
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
22
|
+
style: styles.contents
|
|
23
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
24
|
+
style: styles.contents,
|
|
25
|
+
source: logo
|
|
26
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
27
|
+
style: styles.text
|
|
28
|
+
}, message)));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const styles = _reactNative.StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
flex: 1,
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
flexDirection: 'row',
|
|
36
|
+
justifyContent: 'center'
|
|
37
|
+
},
|
|
38
|
+
contents: {
|
|
39
|
+
flex: 1,
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
justifyContent: 'center'
|
|
42
|
+
},
|
|
43
|
+
text: {
|
|
44
|
+
fontSize: 16,
|
|
45
|
+
marginTop: 20,
|
|
46
|
+
lineHeight: 25
|
|
47
|
+
},
|
|
48
|
+
button: {
|
|
49
|
+
backgroundColor: '#fff',
|
|
50
|
+
color: '#ff0000',
|
|
51
|
+
borderColor: '#333',
|
|
52
|
+
borderWidth: 1,
|
|
53
|
+
borderRadius: 3,
|
|
54
|
+
paddingTop: 10,
|
|
55
|
+
paddingBottom: 10,
|
|
56
|
+
paddingLeft: 20,
|
|
57
|
+
paddingRight: 20,
|
|
58
|
+
fontSize: 14,
|
|
59
|
+
marginTop: 20,
|
|
60
|
+
fontWeight: 'bold'
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
var _default = ErrorOnParams;
|
|
65
|
+
exports.default = _default;
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["logo","require","ErrorOnParams","message","styles","container","contents","text","StyleSheet","create","flex","alignItems","flexDirection","justifyContent","fontSize","marginTop","lineHeight","button","backgroundColor","color","borderColor","borderWidth","borderRadius","paddingTop","paddingBottom","paddingLeft","paddingRight","fontWeight"],"mappings":";;;;;;;AAAA;;AACA;;;;AAQA,MAAMA,IAAI,GAAGC,OAAO,CAAC,4BAAD,CAApB;;AAIA,SAASC,aAAT,CAAuB;AAAEC,EAAAA;AAAF,CAAvB,EAAgD;AAC9C,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEC,MAAM,CAACC;AAApB,kBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAED,MAAM,CAACE;AAApB,kBACE,6BAAC,kBAAD;AAAO,IAAA,KAAK,EAAEF,MAAM,CAACE,QAArB;AAA+B,IAAA,MAAM,EAAEN;AAAvC,IADF,eAEE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEI,MAAM,CAACG;AAApB,KAA2BJ,OAA3B,CAFF,CADF,CADF;AAcD;;AAED,MAAMC,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,SAAS,EAAE;AACTK,IAAAA,IAAI,EAAE,CADG;AAETC,IAAAA,UAAU,EAAE,QAFH;AAGTC,IAAAA,aAAa,EAAE,KAHN;AAITC,IAAAA,cAAc,EAAE;AAJP,GADoB;AAO/BP,EAAAA,QAAQ,EAAE;AACRI,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRE,IAAAA,cAAc,EAAE;AAHR,GAPqB;AAY/BN,EAAAA,IAAI,EAAE;AACJO,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,SAAS,EAAE,EAFP;AAGJC,IAAAA,UAAU,EAAE;AAHR,GAZyB;AAiB/BC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,MADX;AAENC,IAAAA,KAAK,EAAE,SAFD;AAGNC,IAAAA,WAAW,EAAE,MAHP;AAINC,IAAAA,WAAW,EAAE,CAJP;AAKNC,IAAAA,YAAY,EAAE,CALR;AAMNC,IAAAA,UAAU,EAAE,EANN;AAONC,IAAAA,aAAa,EAAE,EAPT;AAQNC,IAAAA,WAAW,EAAE,EARP;AASNC,IAAAA,YAAY,EAAE,EATR;AAUNZ,IAAAA,QAAQ,EAAE,EAVJ;AAWNC,IAAAA,SAAS,EAAE,EAXL;AAYNY,IAAAA,UAAU,EAAE;AAZN;AAjBuB,CAAlB,CAAf;;eAiCezB,a","sourcesContent":["import React from 'react';\nimport {\n View,\n Image,\n Text,\n // TouchableOpacity,\n StyleSheet,\n} from 'react-native';\n\nconst logo = require('../../img/iamport-logo.png');\n\ntype ErrorProps = { message: string };\n\nfunction ErrorOnParams({ message }: ErrorProps) {\n return (\n <View style={styles.container}>\n <View style={styles.contents}>\n <Image style={styles.contents} source={logo} />\n <Text style={styles.text}>{message}</Text>\n {/*<TouchableOpacity\n style={button}\n onPress={}\n >\n <Text>돌아가기</Text>\n </TouchableOpacity>*/}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n contents: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: 16,\n marginTop: 20,\n lineHeight: 25,\n },\n button: {\n backgroundColor: '#fff',\n color: '#ff0000',\n borderColor: '#333',\n borderWidth: 1,\n borderRadius: 3,\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 20,\n paddingRight: 20,\n fontSize: 14,\n marginTop: 20,\n fontWeight: 'bold',\n },\n});\n\nexport default ErrorOnParams;\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const logo = require('../../img/iamport-logo.png');
|
|
15
|
+
|
|
16
|
+
function Loading() {
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
18
|
+
style: styles.container
|
|
19
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
20
|
+
style: styles.contents
|
|
21
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
|
22
|
+
style: styles.contents,
|
|
23
|
+
source: logo
|
|
24
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
25
|
+
style: styles.text
|
|
26
|
+
}, "\uC7A0\uC2DC\uB9CC \uAE30\uB2E4\uB824\uC8FC\uC138\uC694...")));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const styles = _reactNative.StyleSheet.create({
|
|
30
|
+
container: { ..._reactNative.StyleSheet.absoluteFillObject,
|
|
31
|
+
flex: 1,
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
flexDirection: 'row',
|
|
34
|
+
justifyContent: 'center'
|
|
35
|
+
},
|
|
36
|
+
contents: {
|
|
37
|
+
flex: 1,
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
justifyContent: 'center'
|
|
40
|
+
},
|
|
41
|
+
text: {
|
|
42
|
+
fontSize: 20,
|
|
43
|
+
marginTop: 20,
|
|
44
|
+
lineHeight: 25
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
var _default = Loading;
|
|
49
|
+
exports.default = _default;
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["logo","require","Loading","styles","container","contents","text","StyleSheet","create","absoluteFillObject","flex","alignItems","flexDirection","justifyContent","fontSize","marginTop","lineHeight"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,MAAMA,IAAI,GAAGC,OAAO,CAAC,4BAAD,CAApB;;AAEA,SAASC,OAAT,GAAmB;AACjB,sBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEC,MAAM,CAACC;AAApB,kBACE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAED,MAAM,CAACE;AAApB,kBACE,6BAAC,kBAAD;AAAO,IAAA,KAAK,EAAEF,MAAM,CAACE,QAArB;AAA+B,IAAA,MAAM,EAAEL;AAAvC,IADF,eAEE,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEG,MAAM,CAACG;AAApB,kEAFF,CADF,CADF;AAQD;;AAED,MAAMH,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,SAAS,EAAE,EACT,GAAGG,wBAAWE,kBADL;AAETC,IAAAA,IAAI,EAAE,CAFG;AAGTC,IAAAA,UAAU,EAAE,QAHH;AAITC,IAAAA,aAAa,EAAE,KAJN;AAKTC,IAAAA,cAAc,EAAE;AALP,GADoB;AAQ/BR,EAAAA,QAAQ,EAAE;AACRK,IAAAA,IAAI,EAAE,CADE;AAERC,IAAAA,UAAU,EAAE,QAFJ;AAGRE,IAAAA,cAAc,EAAE;AAHR,GARqB;AAa/BP,EAAAA,IAAI,EAAE;AACJQ,IAAAA,QAAQ,EAAE,EADN;AAEJC,IAAAA,SAAS,EAAE,EAFP;AAGJC,IAAAA,UAAU,EAAE;AAHR;AAbyB,CAAlB,CAAf;;eAoBed,O","sourcesContent":["import React from 'react';\nimport { View, Image, Text, StyleSheet } from 'react-native';\n\nconst logo = require('../../img/iamport-logo.png');\n\nfunction Loading() {\n return (\n <View style={styles.container}>\n <View style={styles.contents}>\n <Image style={styles.contents} source={logo} />\n <Text style={styles.text}>잠시만 기다려주세요...</Text>\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n ...StyleSheet.absoluteFillObject,\n flex: 1,\n alignItems: 'center',\n flexDirection: 'row',\n justifyContent: 'center',\n },\n contents: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n text: {\n fontSize: 20,\n marginTop: 20,\n lineHeight: 25,\n },\n});\n\nexport default Loading;\n"]}
|