@bootpay/client-js 5.0.0-beta.5 → 5.0.0-beta.7

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.
Files changed (109) hide show
  1. package/dist/package.json +47 -0
  2. package/dist/src/bootpay-environment.js +5 -0
  3. package/dist/src/bootpay-environment.js.map +1 -0
  4. package/dist/src/bootpay-sdk.js +243 -0
  5. package/dist/src/bootpay-sdk.js.map +1 -0
  6. package/{bootpay-widget.d.ts → dist/src/bootpay-widget.d.ts} +1 -1
  7. package/dist/src/bootpay-widget.js +83 -0
  8. package/dist/src/bootpay-widget.js.map +1 -0
  9. package/dist/src/bootpay.js +321 -0
  10. package/dist/src/bootpay.js.map +1 -0
  11. package/dist/src/index.d.ts +77 -0
  12. package/dist/src/index.js +33 -0
  13. package/dist/src/index.js.map +1 -0
  14. package/dist/src/lib/analytics.js +137 -0
  15. package/dist/src/lib/analytics.js.map +1 -0
  16. package/dist/src/lib/bootpay-widget.js +171 -0
  17. package/dist/src/lib/bootpay-widget.js.map +1 -0
  18. package/dist/src/lib/bootpay.js +496 -0
  19. package/dist/src/lib/bootpay.js.map +1 -0
  20. package/{lib → dist/src/lib}/event/payment.d.ts +1 -2
  21. package/dist/src/lib/event/payment.js +215 -0
  22. package/dist/src/lib/event/payment.js.map +1 -0
  23. package/dist/src/lib/event/polling.js +42 -0
  24. package/dist/src/lib/event/polling.js.map +1 -0
  25. package/dist/src/lib/event/user-token.js +51 -0
  26. package/dist/src/lib/event/user-token.js.map +1 -0
  27. package/dist/src/lib/event/widget.js +90 -0
  28. package/dist/src/lib/event/widget.js.map +1 -0
  29. package/dist/src/lib/locale/message.js +110 -0
  30. package/dist/src/lib/locale/message.js.map +1 -0
  31. package/dist/src/lib/template/oopay.js +66 -0
  32. package/dist/src/lib/template/oopay.js.map +1 -0
  33. package/dist/src/lib/template/payment.js +488 -0
  34. package/dist/src/lib/template/payment.js.map +1 -0
  35. package/dist/src/lib/template/user-token.js +281 -0
  36. package/dist/src/lib/template/user-token.js.map +1 -0
  37. package/dist/src/lib/template/widget.js +78 -0
  38. package/dist/src/lib/template/widget.js.map +1 -0
  39. package/dist/src/models/bootpay-interface.js +3 -0
  40. package/dist/src/models/bootpay-interface.js.map +1 -0
  41. package/dist/src/models/bootpay-sdk-interface.js +3 -0
  42. package/dist/src/models/bootpay-sdk-interface.js.map +1 -0
  43. package/dist/src/models/bootpay-widget-interface.js +3 -0
  44. package/dist/src/models/bootpay-widget-interface.js.map +1 -0
  45. package/dist/src/models/const.js +15 -0
  46. package/dist/src/models/const.js.map +1 -0
  47. package/dist/src/support/alfred-progress/index.js +64 -0
  48. package/dist/src/support/alfred-progress/index.js.map +1 -0
  49. package/{support → dist/src/support}/bootpay-manager.d.ts +2 -2
  50. package/dist/src/support/bootpay-manager.js +39 -0
  51. package/dist/src/support/bootpay-manager.js.map +1 -0
  52. package/{support → dist/src/support}/environment.d.ts +1 -0
  53. package/dist/src/support/environment.js +89 -0
  54. package/dist/src/support/environment.js.map +1 -0
  55. package/dist/src/support/event.js +133 -0
  56. package/dist/src/support/event.js.map +1 -0
  57. package/dist/src/support/logger.js +130 -0
  58. package/dist/src/support/logger.js.map +1 -0
  59. package/dist/src/support/resource.js +125 -0
  60. package/dist/src/support/resource.js.map +1 -0
  61. package/dist/src/support/storage.js +191 -0
  62. package/dist/src/support/storage.js.map +1 -0
  63. package/dist/src/support/template-manager.js +47 -0
  64. package/dist/src/support/template-manager.js.map +1 -0
  65. package/dist/src/support/util.js +36 -0
  66. package/dist/src/support/util.js.map +1 -0
  67. package/dist/src/support/widget-store.js +73 -0
  68. package/dist/src/support/widget-store.js.map +1 -0
  69. package/package.json +4 -4
  70. package/tsconfig-esnext.json +39 -0
  71. package/tsconfig.json +37 -0
  72. package/bootpay-environment.js +0 -1
  73. package/bootpay-sdk.js +0 -2
  74. package/bootpay-sdk.js.LICENSE.txt +0 -1
  75. package/bootpay-widget.js +0 -2
  76. package/bootpay-widget.js.LICENSE.txt +0 -1
  77. package/bootpay.js +0 -2
  78. package/bootpay.js.LICENSE.txt +0 -1
  79. package/dist/bootpay.d.ts +0 -2
  80. package/index.d.ts +0 -6
  81. package/index.js +0 -8
  82. package/test/index.d.ts +0 -1
  83. package/test/moduleRequire.d.ts +0 -1
  84. /package/{bootpay-environment.d.ts → dist/src/bootpay-environment.d.ts} +0 -0
  85. /package/{bootpay-sdk.d.ts → dist/src/bootpay-sdk.d.ts} +0 -0
  86. /package/{bootpay.d.ts → dist/src/bootpay.d.ts} +0 -0
  87. /package/{lib → dist/src/lib}/analytics.d.ts +0 -0
  88. /package/{lib → dist/src/lib}/bootpay-widget.d.ts +0 -0
  89. /package/{lib → dist/src/lib}/bootpay.d.ts +0 -0
  90. /package/{lib → dist/src/lib}/event/polling.d.ts +0 -0
  91. /package/{lib → dist/src/lib}/event/user-token.d.ts +0 -0
  92. /package/{lib → dist/src/lib}/event/widget.d.ts +0 -0
  93. /package/{lib → dist/src/lib}/locale/message.d.ts +0 -0
  94. /package/{lib → dist/src/lib}/template/oopay.d.ts +0 -0
  95. /package/{lib → dist/src/lib}/template/payment.d.ts +0 -0
  96. /package/{lib → dist/src/lib}/template/user-token.d.ts +0 -0
  97. /package/{lib → dist/src/lib}/template/widget.d.ts +0 -0
  98. /package/{models → dist/src/models}/bootpay-interface.d.ts +0 -0
  99. /package/{models → dist/src/models}/bootpay-sdk-interface.d.ts +0 -0
  100. /package/{models → dist/src/models}/bootpay-widget-interface.d.ts +0 -0
  101. /package/{models → dist/src/models}/const.d.ts +0 -0
  102. /package/{support → dist/src/support}/alfred-progress/index.d.ts +0 -0
  103. /package/{support → dist/src/support}/event.d.ts +0 -0
  104. /package/{support → dist/src/support}/logger.d.ts +0 -0
  105. /package/{support → dist/src/support}/resource.d.ts +0 -0
  106. /package/{support → dist/src/support}/storage.d.ts +0 -0
  107. /package/{support → dist/src/support}/template-manager.d.ts +0 -0
  108. /package/{support → dist/src/support}/util.d.ts +0 -0
  109. /package/{support → dist/src/support}/widget-store.d.ts +0 -0
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventMessage = exports.BootpayWindowEvent = exports.EventListener = exports.BootpayEventError = void 0;
4
+ const util_1 = require("./util");
5
+ const bootpay_manager_1 = require("./bootpay-manager");
6
+ const logger_1 = require("./logger");
7
+ class BootpayEventError extends Error {
8
+ constructor(message) {
9
+ super();
10
+ this.name = 'BootpayEventError';
11
+ this.eventMessage = message;
12
+ }
13
+ }
14
+ exports.BootpayEventError = BootpayEventError;
15
+ exports.EventListener = {
16
+ __BOOTPAY_NAMESPACE: {},
17
+ isBind: false,
18
+ initialize() {
19
+ if (!this.isBind) {
20
+ if ((0, util_1.isPresent)(window)) {
21
+ window.addBootpayEventListener = this.on;
22
+ window.removeBootpayEventListener = this.off;
23
+ window.resetBootpayEventListener = function (event, cb, opts) {
24
+ this.removeBootpayEventListener(event).addBootpayEventListener(event, cb, opts);
25
+ };
26
+ }
27
+ if ((0, util_1.isPresent)(document)) {
28
+ document.addBootpayEventListener = this.on;
29
+ document.removeBootpayEventListener = this.off;
30
+ document.resetBootpayEventListener = function (event, cb, opts) {
31
+ this.removeBootpayEventListener(event).addBootpayEventListener(event, cb, opts);
32
+ };
33
+ }
34
+ if ((0, util_1.isPresent)(Element)) {
35
+ Element.prototype.addBootpayEventListener = this.on;
36
+ Element.prototype.removeBootpayEventListener = this.off;
37
+ Element.prototype.resetBootpayEventListener = function (event, cb, opts) {
38
+ this.removeBootpayEventListener(event).addBootpayEventListener(event, cb, opts);
39
+ };
40
+ }
41
+ this.isBind = true;
42
+ }
43
+ },
44
+ on(event, cb, opts = undefined) {
45
+ if ((0, util_1.isBlank)(exports.EventListener.__BOOTPAY_NAMESPACE)) {
46
+ exports.EventListener.__BOOTPAY_NAMESPACE = {};
47
+ }
48
+ this.addEventListener(event.split('.')[0], cb, opts || false);
49
+ exports.EventListener.__BOOTPAY_NAMESPACE[event] = cb;
50
+ return this;
51
+ },
52
+ off(event) {
53
+ if ((0, util_1.isPresent)(exports.EventListener.__BOOTPAY_NAMESPACE) && (0, util_1.isPresent)(exports.EventListener.__BOOTPAY_NAMESPACE[event])) {
54
+ this.removeEventListener(event.split('.')[0], exports.EventListener.__BOOTPAY_NAMESPACE[event]);
55
+ }
56
+ return this;
57
+ }
58
+ };
59
+ class BootpayWindowEvent extends bootpay_manager_1.BootpayManager {
60
+ constructor() {
61
+ super();
62
+ this.$resolve = null;
63
+ this.$reject = null;
64
+ exports.EventListener.initialize();
65
+ }
66
+ reject(data) {
67
+ if (this.$reject !== null) {
68
+ this.$reject(data);
69
+ }
70
+ }
71
+ resolve(data) {
72
+ if (this.$resolve !== null) {
73
+ this.$resolve(data);
74
+ }
75
+ }
76
+ /**
77
+ * 함수를 class instnace variables에 넣는다
78
+ * Comment by GOSOMI
79
+ * @date: 2021-05-11
80
+ * @param resolve: Function
81
+ * @param reject: Function
82
+ */
83
+ setCallbackFunction(resolve, reject) {
84
+ this.$resolve = resolve;
85
+ this.$reject = reject;
86
+ }
87
+ /**
88
+ * event 데이터를 파싱한다
89
+ * Comment by Gosomi
90
+ * @date: 2021-02-19
91
+ * @param data: string
92
+ */
93
+ parseEvent(data) {
94
+ let message = {};
95
+ if (this.$present(data) && this.$type(data, 'string')) {
96
+ try {
97
+ message = JSON.parse(data);
98
+ }
99
+ catch (e) {
100
+ logger_1.Logger.info('json parsing failed', `data: ${data}, message: ${(0, exports.EventMessage)(e)} JSON 파싱 형태가 아닌 이벤트 입니다.`);
101
+ // throw new BootpayEventError({
102
+ // event: 'info',
103
+ // error_code: 'EVENT_JSON_PARSE_FAILED',
104
+ // message: `data: ${ data }, ${ EventMessage(e) } JSON 파싱에 실패하였습니다.`
105
+ // })
106
+ }
107
+ if (message.bootpay_event) {
108
+ delete (message.bootpay_event);
109
+ return message;
110
+ }
111
+ else {
112
+ return null;
113
+ }
114
+ }
115
+ else {
116
+ return null;
117
+ }
118
+ }
119
+ }
120
+ exports.BootpayWindowEvent = BootpayWindowEvent;
121
+ const EventMessage = (e) => {
122
+ if (typeof e === "string") {
123
+ return e.toUpperCase();
124
+ }
125
+ else if (e instanceof Error) {
126
+ return e.message;
127
+ }
128
+ else {
129
+ return e;
130
+ }
131
+ };
132
+ exports.EventMessage = EventMessage;
133
+ //# sourceMappingURL=event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/support/event.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EventLogger = exports.EventLoggerManager = exports.Logger = exports.LOG_LEVEL = void 0;
7
+ const util_1 = require("./util");
8
+ const resource_1 = require("./resource");
9
+ const storage_1 = require("./storage");
10
+ const environment_1 = require("./environment");
11
+ const package_json_1 = __importDefault(require("../../package.json"));
12
+ exports.LOG_LEVEL = {
13
+ debug: 1,
14
+ info: 2,
15
+ warning: 3,
16
+ error: 4
17
+ };
18
+ exports.Logger = {
19
+ level: exports.LOG_LEVEL.warning,
20
+ /**
21
+ * 로그 레벨을 설정한다
22
+ * Comment by John
23
+ * @date: 2021-02-18
24
+ * @param logLevel: number
25
+ */
26
+ setLogLevel(logLevel) {
27
+ this.level = logLevel;
28
+ },
29
+ messageStringify(key, message) {
30
+ try {
31
+ return message = `${key}: ${(0, util_1.isType)(message, 'object') ? JSON.stringify(message) : message}`;
32
+ }
33
+ catch (e) {
34
+ console.error(`log parse error: ${e}`);
35
+ }
36
+ },
37
+ debug(key, message) {
38
+ if (this.level <= exports.LOG_LEVEL.debug) {
39
+ console.log(this.messageStringify(key, message));
40
+ }
41
+ },
42
+ info(key, message) {
43
+ if (this.level <= exports.LOG_LEVEL.info) {
44
+ console.info(this.messageStringify(key, message));
45
+ }
46
+ },
47
+ warn(key, message) {
48
+ if (this.level <= exports.LOG_LEVEL.warning) {
49
+ console.warn(this.messageStringify(key, message));
50
+ }
51
+ },
52
+ error(key, message) {
53
+ if (this.level <= exports.LOG_LEVEL.error) {
54
+ console.error(this.messageStringify(key, message));
55
+ }
56
+ }
57
+ };
58
+ class EventLoggerManager extends resource_1.Resource {
59
+ constructor() {
60
+ super();
61
+ this.$session = storage_1.SessionStorage;
62
+ this.$applicationId = undefined;
63
+ this.$tk = undefined;
64
+ this.$platformType = 1;
65
+ this.$receiptId = undefined;
66
+ }
67
+ /**
68
+ * Token키를 설정
69
+ * Comment by GOSOMI
70
+ * @date: 2021-05-20
71
+ * @param tokenKey: string
72
+ * @returns void
73
+ */
74
+ setTokenKey(tokenKey) {
75
+ this.$tk = tokenKey;
76
+ }
77
+ setReceiptId(receiptId) {
78
+ this.$receiptId = receiptId;
79
+ }
80
+ clearInstance() {
81
+ this.$applicationId = undefined;
82
+ this.$receiptId = undefined;
83
+ }
84
+ send(eventData) {
85
+ // await를 하지 않는 비동기로 데이터를 전달한다
86
+ try {
87
+ if ((0, util_1.isPresent)(this.$applicationId)) {
88
+ eventData.application_id = this.$applicationId;
89
+ eventData.status = (0, util_1.isPresent)(eventData.status) ? eventData.status : 1;
90
+ eventData.version = package_json_1.default.version;
91
+ eventData.tk = this.$tk;
92
+ exports.Logger.debug("send event", `${JSON.stringify(eventData)} 전송됨`);
93
+ return this.$http.post(environment_1.Environment.toAnalytics('event'), eventData);
94
+ }
95
+ }
96
+ catch (e) {
97
+ // 아무것도 하지 않는다
98
+ return;
99
+ }
100
+ }
101
+ sendError(eventData) {
102
+ eventData.status = -1;
103
+ this.send(eventData);
104
+ }
105
+ setApplicationId(key) {
106
+ this.$applicationId = key;
107
+ }
108
+ /**
109
+ * 결제창 닫기 이벤트를 전송한다
110
+ * Comment by GOSOMI
111
+ * @date: 2022-05-13
112
+ */
113
+ sendCloseEvent() {
114
+ if ((0, util_1.isPresent)(this.$receiptId)) {
115
+ try {
116
+ return this.$http.put(environment_1.Environment.toApi(`close/${this.$receiptId}`));
117
+ }
118
+ catch (e) {
119
+ return Promise.reject(e);
120
+ }
121
+ }
122
+ else {
123
+ exports.Logger.debug('receipt_id', 'undefined receipt_id');
124
+ return Promise.resolve();
125
+ }
126
+ }
127
+ }
128
+ exports.EventLoggerManager = EventLoggerManager;
129
+ exports.EventLogger = new EventLoggerManager();
130
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/support/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Resource = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const util_1 = require("./util");
9
+ // @ts-ignore
10
+ const aes_1 = __importDefault(require("crypto-js/aes"));
11
+ // @ts-ignore
12
+ const enc_base64_1 = __importDefault(require("crypto-js/enc-base64"));
13
+ class Resource {
14
+ constructor() {
15
+ // axis instance로 생성
16
+ this.$http = axios_1.default.create({
17
+ timeout: 60000
18
+ });
19
+ }
20
+ static encryptParams(data) {
21
+ if ((0, util_1.isType)(data, 'object')) {
22
+ data = JSON.stringify(data);
23
+ }
24
+ let encryptData = aes_1.default.encrypt(data, (0, util_1.generateUUID)());
25
+ return {
26
+ payload: encryptData.ciphertext.toString(enc_base64_1.default),
27
+ token: `${encryptData.key.toString(enc_base64_1.default)}##${encryptData.iv.toString(enc_base64_1.default)}`
28
+ };
29
+ }
30
+ static toUnderscore(value) {
31
+ return value.split(/(?=[A-Z])/).join('_').toLowerCase();
32
+ }
33
+ static toCamelcase(value) {
34
+ return value.replace(/(\_[a-z])/g, function ($1) {
35
+ return $1.toUpperCase().replace(/_/g, '');
36
+ });
37
+ }
38
+ static objectKeyToUnderscore(value) {
39
+ let cloneObject = undefined;
40
+ if ((0, util_1.isPresent)(value)) {
41
+ if (Array.isArray(value)) {
42
+ cloneObject = [];
43
+ value.forEach((_value) => {
44
+ let childObject = {};
45
+ Object.keys(_value).forEach((key) => {
46
+ childObject[this.toUnderscore(key)] = _value[key];
47
+ });
48
+ cloneObject.push(childObject);
49
+ });
50
+ }
51
+ else {
52
+ cloneObject = {};
53
+ Object.keys(value).forEach((key) => {
54
+ cloneObject[this.toUnderscore(key)] = value[key];
55
+ });
56
+ }
57
+ }
58
+ return cloneObject;
59
+ }
60
+ static objectKeyToCamel(value) {
61
+ let cloneObject = undefined;
62
+ if ((0, util_1.isPresent)(value)) {
63
+ if (Array.isArray(value)) {
64
+ cloneObject = [];
65
+ value.forEach((_value) => {
66
+ let childObject = {};
67
+ Object.keys(_value).forEach((key) => {
68
+ childObject[this.toCamelcase(key)] = _value[key];
69
+ });
70
+ cloneObject.push(childObject);
71
+ });
72
+ }
73
+ else {
74
+ cloneObject = {};
75
+ Object.keys(value).forEach((key) => {
76
+ if ((0, util_1.isType)(value[key], 'object') && Object.keys(value[key]).length > 0) {
77
+ cloneObject[this.toCamelcase(key)] = this.objectKeyToCamel(value[key]);
78
+ }
79
+ else {
80
+ cloneObject[this.toCamelcase(key)] = value[key];
81
+ }
82
+ });
83
+ }
84
+ }
85
+ return cloneObject;
86
+ }
87
+ static axiosMultipayConfigure() {
88
+ // Class 내 construct 에서 여러번 호출될 수 있으므로 한번만 호출되도록 한다
89
+ axios_1.default.defaults.headers.common['Content-Type'] = 'application/json';
90
+ axios_1.default.defaults.headers.common['Accept'] = 'application/json';
91
+ axios_1.default.interceptors.request.use((config) => {
92
+ if ((0, util_1.isPresent)(config.data), this.isHttpBodyUsedMethod(config.method)) {
93
+ config.data = Resource.encryptParams(Resource.objectKeyToUnderscore(config.data));
94
+ }
95
+ // 프로그래스창이 메세지가 있다면 보여준다
96
+ if (config.headers !== undefined && (0, util_1.isPresent)(config.headers.progress)) {
97
+ delete config.headers.progress;
98
+ }
99
+ // Do something before request is sent
100
+ return config;
101
+ }, (error) => {
102
+ // Do something with request error
103
+ return Promise.reject(error);
104
+ });
105
+ axios_1.default.interceptors.response.use((response) => {
106
+ return response;
107
+ }, function (error) {
108
+ if ((0, util_1.isPresent)(error.response)) {
109
+ let responseData = error.response.data;
110
+ responseData.status = error.response.status;
111
+ return Promise.reject(responseData);
112
+ }
113
+ else {
114
+ return Promise.reject(error);
115
+ }
116
+ });
117
+ }
118
+ static isHttpBodyUsedMethod(method) {
119
+ return ['post', 'put'].indexOf(method) > -1;
120
+ }
121
+ }
122
+ exports.Resource = Resource;
123
+ // 한번만 호출한다 static 함수로 ( import를 여러번 하더라도 호출을 여러번 안함 )
124
+ Resource.axiosMultipayConfigure();
125
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/support/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionStorage = exports.SessionStorageManager = void 0;
4
+ const bootpay_manager_1 = require("./bootpay-manager");
5
+ const const_1 = require("../models/const");
6
+ const logger_1 = require("./logger");
7
+ class StorageManager extends bootpay_manager_1.BootpayManager {
8
+ constructor() {
9
+ super();
10
+ this.$storage = {};
11
+ }
12
+ /**
13
+ * Local Storage 에 데이터를 가져온다
14
+ * Comment by Gosomi
15
+ * @date: 2021-02-18
16
+ * @param key: string
17
+ * @returns string
18
+ */
19
+ get(key) {
20
+ let value = '';
21
+ try {
22
+ value = window.localStorage.getItem(key);
23
+ }
24
+ catch (e) {
25
+ value = this.$storage[key];
26
+ }
27
+ return this.$present(value) ? this.$decrypt(value) : undefined;
28
+ }
29
+ /**
30
+ * Local Storage에 데이터를 저장
31
+ * Comment by Gosomi
32
+ * @date: 2021-02-18
33
+ * @param key: string
34
+ * @param value: any
35
+ * @returns any
36
+ */
37
+ set(key, value) {
38
+ try {
39
+ window.localStorage.setItem(key, this.$encrypt(value));
40
+ }
41
+ catch (e) {
42
+ this.$storage[key] = this.$encrypt(value);
43
+ }
44
+ return value;
45
+ }
46
+ /**
47
+ * 현재 사용자의 고유 UUID를 Local Storage에서 가져온다
48
+ * Comment by Gosomi
49
+ * @date: 2021-02-18
50
+ * @returns string
51
+ */
52
+ currentUserUUID() {
53
+ const key = const_1.Const.STORAGE_PREFIX('uuid');
54
+ const uuid = this.get(key);
55
+ return this.$blank(uuid) ? this.set(key, this.$uuid()) : uuid;
56
+ }
57
+ /**
58
+ * UUID를 외부 값으로 설정
59
+ * Comment by GOSOMI
60
+ * @date: 2021-12-22
61
+ * @param uuid: string
62
+ * @returns string
63
+ */
64
+ setUUID(uuid) {
65
+ const key = const_1.Const.STORAGE_PREFIX('uuid');
66
+ return this.set(key, uuid);
67
+ }
68
+ /**
69
+ * Local Storage 에서 JSON -> Object 변환해서 가져온다
70
+ * Comment by Gosomi
71
+ * @date: 2021-02-18
72
+ * @param key: string
73
+ * @returns object
74
+ */
75
+ getToJSON(key) {
76
+ const value = this.get(key);
77
+ return this.$present(value) ? this.caseMarshalToJson(value) : value;
78
+ }
79
+ /**
80
+ * Local Storage 에서 Object -> JSON으로 데이터를 변환해서 저장한다
81
+ * Comment by Gosomi
82
+ * @date: 2021-02-18
83
+ * @param key: string
84
+ * @param value: any
85
+ * @returns any
86
+ */
87
+ setToJSON(key, value) {
88
+ this.set(key, JSON.stringify(value));
89
+ return value;
90
+ }
91
+ caseMarshalToJson(data) {
92
+ try {
93
+ return JSON.parse(data);
94
+ }
95
+ catch (e) {
96
+ return JSON.parse(data.replace(/\\\"/g, '"'));
97
+ }
98
+ }
99
+ }
100
+ class SessionStorageManager extends StorageManager {
101
+ constructor() {
102
+ super();
103
+ // 현재 Current User UUID를 자동으로 생성한다
104
+ this.currentUserUUID();
105
+ }
106
+ /**
107
+ * 현재 결제의 Session key를 가져온다. 1800초 ( 30분 ) 초과되면 세션을 갱신한다
108
+ * Comment by Gosomi
109
+ * @date: 2021-02-18
110
+ * @returns string
111
+ */
112
+ currentSessionKey() {
113
+ const currentUnixTime = Math.round((new Date()).getTime() / 1000);
114
+ const key = const_1.Const.STORAGE_PREFIX('session');
115
+ const session = this.getToJSON(key);
116
+ // 세션이 없거나 세션이 만료된 경우 ( 30분으로 잡는다 )
117
+ if (this.$blank(session) || (session.time + 1800) < currentUnixTime) {
118
+ const createdSession = this.setToJSON(key, {
119
+ time: currentUnixTime,
120
+ term: this.$blank(session) ? -1 : currentUnixTime - session.time,
121
+ uuid: `${this.$uuid()}-${currentUnixTime}`
122
+ });
123
+ return createdSession.uuid;
124
+ }
125
+ else {
126
+ return session.uuid;
127
+ }
128
+ }
129
+ /**
130
+ * 재방문 시간을 리턴한다
131
+ * Comment by GOSOMI
132
+ * @date: 2021-05-12
133
+ * @returns number
134
+ */
135
+ currentTimeTerm() {
136
+ const key = const_1.Const.STORAGE_PREFIX('session');
137
+ const session = this.getToJSON(key);
138
+ return this.$blank(session.term) ? -1 : session.term;
139
+ }
140
+ currentTime() {
141
+ const key = const_1.Const.STORAGE_PREFIX('session');
142
+ const session = this.getToJSON(key);
143
+ return this.$blank(session.time) ? -1 : session.time;
144
+ }
145
+ setTime(time) {
146
+ const currentUnixTime = Math.round((new Date()).getTime() / 1000);
147
+ const key = const_1.Const.STORAGE_PREFIX('session');
148
+ const session = this.getToJSON(key);
149
+ const currentSession = this.$blank(session) ? {
150
+ time: time > 0 ? time : currentUnixTime,
151
+ term: time > 0 ? currentUnixTime - time : -1,
152
+ uuid: `${this.$uuid()}-${currentUnixTime}`
153
+ } : session;
154
+ currentSession.time = time;
155
+ this.setToJSON(key, currentSession);
156
+ }
157
+ /**
158
+ * 사용할 기본 키를 조합한다
159
+ * Comment by GOSOMI
160
+ * @date: 2021-05-20
161
+ */
162
+ generateKey() {
163
+ return `${this.$uuid()}-${(new Date()).getTime()}`;
164
+ }
165
+ /**
166
+ * 사용자 정보를 저장
167
+ * Comment by GOSOMI
168
+ * @date: 2022-03-02 @returns
169
+ */
170
+ setUser(data) {
171
+ this.set(const_1.Const.STORAGE_PREFIX('user'), data === undefined ? undefined : JSON.stringify(data));
172
+ return data;
173
+ }
174
+ /**
175
+ * 사용자 정보를 가져온다
176
+ * Comment by GOSOMI
177
+ * @date: 2022-03-02
178
+ */
179
+ getUser() {
180
+ try {
181
+ return JSON.parse(this.get(const_1.Const.STORAGE_PREFIX('user')));
182
+ }
183
+ catch (e) {
184
+ logger_1.Logger.error('User Storage', `사용자 정보를 추출하는데 실패하였습니다. [ ${e.message} ]`);
185
+ return undefined;
186
+ }
187
+ }
188
+ }
189
+ exports.SessionStorageManager = SessionStorageManager;
190
+ exports.SessionStorage = new SessionStorageManager();
191
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/support/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateManager = void 0;
4
+ const bootpay_manager_1 = require("./bootpay-manager");
5
+ class TemplateManager extends bootpay_manager_1.BootpayManager {
6
+ constructor() {
7
+ super();
8
+ this.$windowId = '';
9
+ this.$template = '';
10
+ }
11
+ byId(id) {
12
+ return document.getElementById(id);
13
+ }
14
+ /**
15
+ * Template body append
16
+ * Comment by GOSOMI
17
+ * @date: 2022-02-16
18
+ */
19
+ createTemplateHtml() {
20
+ if (this.byId(this.$windowId) === null) {
21
+ const body = document.querySelector('body');
22
+ if (this.$present(body.className)) {
23
+ body.className = `${body.className} bootpay-open`;
24
+ }
25
+ else {
26
+ body.className = 'bootpay-open';
27
+ }
28
+ document.body.insertAdjacentHTML('beforeend', this.$template);
29
+ }
30
+ }
31
+ templateResize(el, resizeData) {
32
+ const element = this.byId(el);
33
+ if (element !== undefined) {
34
+ for (let i in Object.keys(resizeData)) {
35
+ let key = Object.keys(resizeData)[i];
36
+ let value = resizeData[key];
37
+ if (this.$present(value) && !String(value).match(/%/) &&
38
+ (key.match(/width/) || key.match(/Width/) || key.match(/height/) || key.match(/Height/))) {
39
+ value = `${String(resizeData[key]).replace(/px/gi, '')}px`;
40
+ }
41
+ element.style.setProperty(key, value);
42
+ }
43
+ }
44
+ }
45
+ }
46
+ exports.TemplateManager = TemplateManager;
47
+ //# sourceMappingURL=template-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../../src/support/template-manager.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAElD,MAAa,eAAgB,SAAQ,gCAAc;IAI/C;QACI,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,EAAU;QACX,OAAO,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QACd,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAoB,CAAA;YAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,GAAI,IAAI,CAAC,SAAU,eAAe,CAAA;aACtD;iBAAM;gBACH,IAAI,CAAC,SAAS,GAAG,cAAc,CAAA;aAClC;YACD,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;SAChE;IACL,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,UAAe;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAY,CAAgB,CAAA;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE;YACvB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,GAAG,GAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBACtC,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;gBAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;oBACjD,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC1F,KAAK,GAAG,GAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAE,IAAI,CAAA;iBAC/D;gBACD,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;aACxC;SACJ;IACL,CAAC;CACJ;AA7CD,0CA6CC"}