@vqh2602/mini-app-sdk 1.0.7 → 1.0.8

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 (173) hide show
  1. package/README.md +9 -0
  2. package/bin/simulator.js +36 -6
  3. package/dist/cli/commands/dev.d.ts +1 -0
  4. package/dist/cli/commands/dev.d.ts.map +1 -1
  5. package/dist/cli/commands/dev.js +3 -2
  6. package/dist/cli/commands/dev.js.map +1 -1
  7. package/dist/cli/commands/simulator.d.ts +1 -0
  8. package/dist/cli/commands/simulator.d.ts.map +1 -1
  9. package/dist/cli/commands/simulator.js +3 -2
  10. package/dist/cli/commands/simulator.js.map +1 -1
  11. package/dist/cli/commands/upload.d.ts +3 -0
  12. package/dist/cli/commands/upload.d.ts.map +1 -1
  13. package/dist/cli/commands/upload.js +45 -27
  14. package/dist/cli/commands/upload.js.map +1 -1
  15. package/dist/cli/index.js +5 -1
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/utils/auth.d.ts +34 -0
  18. package/dist/cli/utils/auth.d.ts.map +1 -0
  19. package/dist/cli/utils/auth.js +99 -0
  20. package/dist/cli/utils/auth.js.map +1 -0
  21. package/dist/cli/utils/server.d.ts +15 -1
  22. package/dist/cli/utils/server.d.ts.map +1 -1
  23. package/dist/cli/utils/server.js +71 -7
  24. package/dist/cli/utils/server.js.map +1 -1
  25. package/dist/core/client.d.ts +148 -16
  26. package/dist/core/client.d.ts.map +1 -1
  27. package/dist/core/client.js +113 -53
  28. package/dist/core/client.js.map +1 -1
  29. package/dist/core/index.d.ts +10 -0
  30. package/dist/core/index.d.ts.map +1 -1
  31. package/dist/core/index.js +10 -0
  32. package/dist/core/index.js.map +1 -1
  33. package/dist/core/modules/auth.d.ts +64 -4
  34. package/dist/core/modules/auth.d.ts.map +1 -1
  35. package/dist/core/modules/auth.js +205 -2
  36. package/dist/core/modules/auth.js.map +1 -1
  37. package/dist/core/modules/debug.d.ts +14 -0
  38. package/dist/core/modules/debug.d.ts.map +1 -0
  39. package/dist/core/modules/debug.js +19 -0
  40. package/dist/core/modules/debug.js.map +1 -0
  41. package/dist/core/modules/device.d.ts +4 -1
  42. package/dist/core/modules/device.d.ts.map +1 -1
  43. package/dist/core/modules/device.js +4 -1
  44. package/dist/core/modules/device.js.map +1 -1
  45. package/dist/core/modules/file.d.ts +38 -0
  46. package/dist/core/modules/file.d.ts.map +1 -0
  47. package/dist/core/modules/file.js +25 -0
  48. package/dist/core/modules/file.js.map +1 -0
  49. package/dist/core/modules/lifecycle.d.ts +23 -0
  50. package/dist/core/modules/lifecycle.d.ts.map +1 -1
  51. package/dist/core/modules/lifecycle.js +30 -0
  52. package/dist/core/modules/lifecycle.js.map +1 -1
  53. package/dist/core/modules/media.d.ts +65 -0
  54. package/dist/core/modules/media.d.ts.map +1 -1
  55. package/dist/core/modules/media.js +36 -0
  56. package/dist/core/modules/media.js.map +1 -1
  57. package/dist/core/modules/navigation.d.ts +3 -3
  58. package/dist/core/modules/navigation.d.ts.map +1 -1
  59. package/dist/core/modules/navigation.js +3 -3
  60. package/dist/core/modules/navigation.js.map +1 -1
  61. package/dist/core/modules/payment.d.ts +39 -0
  62. package/dist/core/modules/payment.d.ts.map +1 -0
  63. package/dist/core/modules/payment.js +25 -0
  64. package/dist/core/modules/payment.js.map +1 -0
  65. package/dist/core/modules/permissions.d.ts +28 -0
  66. package/dist/core/modules/permissions.d.ts.map +1 -0
  67. package/dist/core/modules/permissions.js +31 -0
  68. package/dist/core/modules/permissions.js.map +1 -0
  69. package/dist/core/modules/phone.d.ts +22 -0
  70. package/dist/core/modules/phone.d.ts.map +1 -0
  71. package/dist/core/modules/phone.js +31 -0
  72. package/dist/core/modules/phone.js.map +1 -0
  73. package/dist/core/modules/storage.d.ts +88 -4
  74. package/dist/core/modules/storage.d.ts.map +1 -1
  75. package/dist/core/modules/storage.js +78 -13
  76. package/dist/core/modules/storage.js.map +1 -1
  77. package/dist/core/modules/system.d.ts +67 -0
  78. package/dist/core/modules/system.d.ts.map +1 -0
  79. package/dist/core/modules/system.js +55 -0
  80. package/dist/core/modules/system.js.map +1 -0
  81. package/dist/core/modules/ui.d.ts +40 -9
  82. package/dist/core/modules/ui.d.ts.map +1 -1
  83. package/dist/core/modules/ui.js +45 -11
  84. package/dist/core/modules/ui.js.map +1 -1
  85. package/dist/core/modules/user.d.ts +18 -0
  86. package/dist/core/modules/user.d.ts.map +1 -0
  87. package/dist/core/modules/user.js +19 -0
  88. package/dist/core/modules/user.js.map +1 -0
  89. package/dist/core/modules/utility.d.ts +23 -0
  90. package/dist/core/modules/utility.d.ts.map +1 -0
  91. package/dist/core/modules/utility.js +19 -0
  92. package/dist/core/modules/utility.js.map +1 -0
  93. package/dist/core/types/index.d.ts +66 -8
  94. package/dist/core/types/index.d.ts.map +1 -1
  95. package/dist/index.d.ts +3 -3
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +3 -3
  98. package/dist/index.js.map +1 -1
  99. package/dist/mock/index.d.ts +0 -6
  100. package/dist/mock/index.d.ts.map +1 -1
  101. package/dist/mock/index.js +0 -6
  102. package/dist/mock/index.js.map +1 -1
  103. package/dist/mock/mock-engine.d.ts +6 -25
  104. package/dist/mock/mock-engine.d.ts.map +1 -1
  105. package/dist/mock/mock-engine.js +8 -325
  106. package/dist/mock/mock-engine.js.map +1 -1
  107. package/dist/mock/presets.d.ts +2 -2
  108. package/dist/mock/presets.d.ts.map +1 -1
  109. package/dist/mock/presets.js +2 -42
  110. package/dist/mock/presets.js.map +1 -1
  111. package/dist/mock/store.d.ts +2 -33
  112. package/dist/mock/store.d.ts.map +1 -1
  113. package/dist/mock/store.js +2 -130
  114. package/dist/mock/store.js.map +1 -1
  115. package/dist/transport/adaptive-transport.d.ts +2 -0
  116. package/dist/transport/adaptive-transport.d.ts.map +1 -1
  117. package/dist/transport/adaptive-transport.js +11 -3
  118. package/dist/transport/adaptive-transport.js.map +1 -1
  119. package/dist/transport/bridge-hub.d.ts +46 -0
  120. package/dist/transport/bridge-hub.d.ts.map +1 -0
  121. package/dist/transport/bridge-hub.js +268 -0
  122. package/dist/transport/bridge-hub.js.map +1 -0
  123. package/dist/transport/index.d.ts +1 -0
  124. package/dist/transport/index.d.ts.map +1 -1
  125. package/dist/transport/index.js +1 -0
  126. package/dist/transport/index.js.map +1 -1
  127. package/dist/transport/mock-transport.d.ts +2 -0
  128. package/dist/transport/mock-transport.d.ts.map +1 -1
  129. package/dist/transport/mock-transport.js +6 -0
  130. package/dist/transport/mock-transport.js.map +1 -1
  131. package/dist/transport/native-transport.d.ts +6 -5
  132. package/dist/transport/native-transport.d.ts.map +1 -1
  133. package/dist/transport/native-transport.js +46 -120
  134. package/dist/transport/native-transport.js.map +1 -1
  135. package/dist/transport/postmessage-transport.d.ts +8 -0
  136. package/dist/transport/postmessage-transport.d.ts.map +1 -1
  137. package/dist/transport/postmessage-transport.js +213 -12
  138. package/dist/transport/postmessage-transport.js.map +1 -1
  139. package/dist/transport/timeout-policy.d.ts.map +1 -1
  140. package/dist/transport/timeout-policy.js +1 -0
  141. package/dist/transport/timeout-policy.js.map +1 -1
  142. package/dist/transport/transport.interface.d.ts +2 -0
  143. package/dist/transport/transport.interface.d.ts.map +1 -1
  144. package/dist/transport/types.d.ts +4 -1
  145. package/dist/transport/types.d.ts.map +1 -1
  146. package/package.json +2 -2
  147. package/simulator-dist/assets/index-DkSKbR3O.js +120 -0
  148. package/simulator-dist/index.html +1 -1
  149. package/dist/mock/handlers/auth.handler.d.ts +0 -24
  150. package/dist/mock/handlers/auth.handler.d.ts.map +0 -1
  151. package/dist/mock/handlers/auth.handler.js +0 -106
  152. package/dist/mock/handlers/auth.handler.js.map +0 -1
  153. package/dist/mock/handlers/device.handler.d.ts +0 -16
  154. package/dist/mock/handlers/device.handler.d.ts.map +0 -1
  155. package/dist/mock/handlers/device.handler.js +0 -53
  156. package/dist/mock/handlers/device.handler.js.map +0 -1
  157. package/dist/mock/handlers/media.handler.d.ts +0 -9
  158. package/dist/mock/handlers/media.handler.d.ts.map +0 -1
  159. package/dist/mock/handlers/media.handler.js +0 -20
  160. package/dist/mock/handlers/media.handler.js.map +0 -1
  161. package/dist/mock/handlers/payment.handler.d.ts +0 -27
  162. package/dist/mock/handlers/payment.handler.d.ts.map +0 -1
  163. package/dist/mock/handlers/payment.handler.js +0 -62
  164. package/dist/mock/handlers/payment.handler.js.map +0 -1
  165. package/dist/mock/handlers/storage.handler.d.ts +0 -18
  166. package/dist/mock/handlers/storage.handler.d.ts.map +0 -1
  167. package/dist/mock/handlers/storage.handler.js +0 -40
  168. package/dist/mock/handlers/storage.handler.js.map +0 -1
  169. package/dist/mock/handlers/ui.handler.d.ts +0 -34
  170. package/dist/mock/handlers/ui.handler.d.ts.map +0 -1
  171. package/dist/mock/handlers/ui.handler.js +0 -59
  172. package/dist/mock/handlers/ui.handler.js.map +0 -1
  173. package/simulator-dist/assets/index-DpHZwm7N.js +0 -199
@@ -7,9 +7,74 @@ export declare class MediaModule {
7
7
  * Quét mã QR Code bằng camera của SuperApp
8
8
  */
9
9
  scanQRCode(prompt?: string): Promise<QRCodeResult>;
10
+ /**
11
+ * Quét mã QR và Mã vạch (EAN-13, Code-128, QR Code...) bằng camera hoặc ảnh
12
+ */
13
+ scanQr(options?: {
14
+ formats?: string[];
15
+ }): Promise<{
16
+ content: string;
17
+ format: string;
18
+ timestamp: number;
19
+ }>;
10
20
  /**
11
21
  * Chọn ảnh từ thư viện thiết bị
12
22
  */
13
23
  chooseImage(options?: ChooseImageOptions): Promise<ChooseImageResult>;
24
+ /**
25
+ * Chụp ảnh từ camera hoặc chọn 1 ảnh từ thư viện
26
+ */
27
+ getPhoto(options?: {
28
+ source?: 'camera' | 'gallery';
29
+ }): Promise<{
30
+ uri: string;
31
+ mimeType: string;
32
+ source: string;
33
+ width: number;
34
+ height: number;
35
+ sizeBytes: number;
36
+ }>;
37
+ /**
38
+ * Chọn nhiều ảnh từ thư viện
39
+ */
40
+ pickImages(options?: {
41
+ maxCount?: number;
42
+ }): Promise<{
43
+ images: Array<{
44
+ uri: string;
45
+ mimeType: string;
46
+ width: number;
47
+ height: number;
48
+ sizeBytes: number;
49
+ fileName: string;
50
+ }>;
51
+ count: number;
52
+ }>;
53
+ /**
54
+ * Lưu 1 ảnh vào thư viện ảnh máy
55
+ */
56
+ saveImageToGallery(uri: string): Promise<{
57
+ success: boolean;
58
+ savedUri: string;
59
+ }>;
60
+ /**
61
+ * Chọn 1 video từ thư viện
62
+ */
63
+ pickVideo(): Promise<{
64
+ uri: string;
65
+ mimeType: string;
66
+ durationSec: number;
67
+ sizeBytes: number;
68
+ fileName: string;
69
+ width: number;
70
+ height: number;
71
+ }>;
72
+ /**
73
+ * Lưu video vào thư viện máy
74
+ */
75
+ saveVideoToGallery(uri: string): Promise<{
76
+ success: boolean;
77
+ savedUri: string;
78
+ }>;
14
79
  }
15
80
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/core/modules/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExF,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/D;;OAEG;IACU,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAGvF"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../src/core/modules/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExF,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/D;;OAEG;IACU,MAAM,CAAC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC;QACjE,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAIF;;OAEG;IACU,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAItF;;OAEG;IACU,QAAQ,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC;QAC9E,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAIF;;OAEG;IACU,UAAU,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC;QACpE,MAAM,EAAE,KAAK,CAAC;YACZ,GAAG,EAAE,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;OAEG;IACU,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7F;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC;QAChC,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAIF;;OAEG;IACU,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAG9F"}
@@ -9,11 +9,47 @@ export class MediaModule {
9
9
  async scanQRCode(prompt) {
10
10
  return this.transport.invoke('media.scanQRCode', { prompt });
11
11
  }
12
+ /**
13
+ * Quét mã QR và Mã vạch (EAN-13, Code-128, QR Code...) bằng camera hoặc ảnh
14
+ */
15
+ async scanQr(options = {}) {
16
+ return this.transport.invoke('scanQr', options);
17
+ }
12
18
  /**
13
19
  * Chọn ảnh từ thư viện thiết bị
14
20
  */
15
21
  async chooseImage(options = {}) {
16
22
  return this.transport.invoke('media.chooseImage', options);
17
23
  }
24
+ /**
25
+ * Chụp ảnh từ camera hoặc chọn 1 ảnh từ thư viện
26
+ */
27
+ async getPhoto(options = {}) {
28
+ return this.transport.invoke('getPhoto', options);
29
+ }
30
+ /**
31
+ * Chọn nhiều ảnh từ thư viện
32
+ */
33
+ async pickImages(options = {}) {
34
+ return this.transport.invoke('pickImages', options);
35
+ }
36
+ /**
37
+ * Lưu 1 ảnh vào thư viện ảnh máy
38
+ */
39
+ async saveImageToGallery(uri) {
40
+ return this.transport.invoke('saveImageToGallery', { uri });
41
+ }
42
+ /**
43
+ * Chọn 1 video từ thư viện
44
+ */
45
+ async pickVideo() {
46
+ return this.transport.invoke('pickVideo');
47
+ }
48
+ /**
49
+ * Lưu video vào thư viện máy
50
+ */
51
+ async saveVideoToGallery(uri) {
52
+ return this.transport.invoke('saveVideoToGallery', { uri });
53
+ }
18
54
  }
19
55
  //# sourceMappingURL=media.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/core/modules/media.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,MAAe;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAe,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAoB,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;CACF"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/core/modules/media.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,MAAe;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAe,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,UAAkC,EAAE;QAKtD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAoB,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,UAA6C,EAAE;QAQnE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,UAAiC,EAAE;QAWzD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB,CAAC,GAAW;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS;QASpB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB,CAAC,GAAW;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -14,11 +14,11 @@ export declare class NavigationModule {
14
14
  /**
15
15
  * Đóng Mini App và quay lại màn hình SuperApp chính
16
16
  */
17
- closeApp(): Promise<void>;
17
+ closeApp(): Promise<any>;
18
18
  /**
19
19
  * Alias cho closeApp()
20
20
  */
21
- close(): Promise<void>;
21
+ close(): Promise<any>;
22
22
  /**
23
23
  * Thu nhỏ Mini App vào dạng floating window / background dock
24
24
  */
@@ -26,6 +26,6 @@ export declare class NavigationModule {
26
26
  /**
27
27
  * Mở liên kết trình duyệt ngoài
28
28
  */
29
- openUrl(url: string): Promise<void>;
29
+ openUrl(url: string): Promise<any>;
30
30
  }
31
31
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/core/modules/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,gBAAgB;IACf,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1G;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAItD;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/core/modules/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,qBAAa,gBAAgB;IACf,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1G;;OAEG;IACU,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAInF;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAIrC;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IAIlC;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAItD;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGhD"}
@@ -19,13 +19,13 @@ export class NavigationModule {
19
19
  * Đóng Mini App và quay lại màn hình SuperApp chính
20
20
  */
21
21
  async closeApp() {
22
- await this.transport.invoke('navigation.closeApp');
22
+ return this.transport.invoke('navigation.closeApp');
23
23
  }
24
24
  /**
25
25
  * Alias cho closeApp()
26
26
  */
27
27
  async close() {
28
- await this.transport.invoke('navigation.close');
28
+ return this.transport.invoke('navigation.close');
29
29
  }
30
30
  /**
31
31
  * Thu nhỏ Mini App vào dạng floating window / background dock
@@ -37,7 +37,7 @@ export class NavigationModule {
37
37
  * Mở liên kết trình duyệt ngoài
38
38
  */
39
39
  async openUrl(url) {
40
- await this.transport.invoke('phone.openExternalBrowser', { url });
40
+ return this.transport.invoke('phone.openExternalBrowser', { url });
41
41
  }
42
42
  }
43
43
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/core/modules/navigation.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,IAAiC,EAAE,MAA4B;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,MAA4B;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAoB,wBAAwB,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,GAAW;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/core/modules/navigation.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,gBAAgB;IACP;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,IAAiC,EAAE,MAA4B;QACzF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,MAA4B;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAoB,wBAAwB,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,GAAW;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import { ITransport } from '../../transport/index.js';
2
+ export interface PaymentOrder {
3
+ orderId: string;
4
+ amount: number;
5
+ description: string;
6
+ partnerCode?: string;
7
+ extraData?: Record<string, any>;
8
+ }
9
+ export interface PaymentResult {
10
+ transactionId: string;
11
+ orderId: string;
12
+ status: 'SUCCESS' | 'FAILED' | 'CANCELLED' | string;
13
+ amount: number;
14
+ timestamp: number;
15
+ paymentMethod: string;
16
+ message: string;
17
+ }
18
+ export declare class PaymentModule {
19
+ private transport;
20
+ constructor(transport: ITransport);
21
+ /**
22
+ * Tạo đơn hàng thanh toán
23
+ */
24
+ createOrder(data: {
25
+ amount: number;
26
+ description: string;
27
+ partnerCode?: string;
28
+ extraData?: Record<string, any>;
29
+ }): Promise<PaymentOrder>;
30
+ /**
31
+ * Mở giao diện thanh toán native SuperApp
32
+ */
33
+ openCheckout(orderId: string): Promise<PaymentResult>;
34
+ /**
35
+ * Kiểm tra trạng thái giao dịch thanh toán
36
+ */
37
+ checkStatus(transactionId: string): Promise<PaymentResult>;
38
+ }
39
+ //# sourceMappingURL=payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/core/modules/payment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,WAAW,CAAC,IAAI,EAAE;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACjC,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzB;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlE;;OAEG;IACU,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAGxE"}
@@ -0,0 +1,25 @@
1
+ export class PaymentModule {
2
+ transport;
3
+ constructor(transport) {
4
+ this.transport = transport;
5
+ }
6
+ /**
7
+ * Tạo đơn hàng thanh toán
8
+ */
9
+ async createOrder(data) {
10
+ return this.transport.invoke('payment.createOrder', data);
11
+ }
12
+ /**
13
+ * Mở giao diện thanh toán native SuperApp
14
+ */
15
+ async openCheckout(orderId) {
16
+ return this.transport.invoke('payment.openCheckout', { orderId });
17
+ }
18
+ /**
19
+ * Kiểm tra trạng thái giao dịch thanh toán
20
+ */
21
+ async checkStatus(transactionId) {
22
+ return this.transport.invoke('payment.checkStatus', { transactionId });
23
+ }
24
+ }
25
+ //# sourceMappingURL=payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/core/modules/payment.ts"],"names":[],"mappings":"AAoBA,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,IAKxB;QACC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAe,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,OAAe;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAgB,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,aAAqB;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAgB,qBAAqB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import { ITransport } from '../../transport/index.js';
2
+ export declare class PermissionsModule {
3
+ private transport;
4
+ constructor(transport: ITransport);
5
+ /**
6
+ * Yêu cầu cấp quyền người dùng cho capability cụ thể (camera, location, contacts...)
7
+ */
8
+ request(capability: string): Promise<{
9
+ capability: string;
10
+ granted: boolean;
11
+ }>;
12
+ /**
13
+ * Kiểm tra quyền đã được cấp hay chưa
14
+ */
15
+ check(capability: string): Promise<{
16
+ capability: string;
17
+ granted: boolean;
18
+ }>;
19
+ /**
20
+ * Lấy toàn bộ danh sách trạng thái cấp quyền của Mini App
21
+ */
22
+ getAll(): Promise<Record<string, boolean>>;
23
+ /**
24
+ * Alias cho getAll()
25
+ */
26
+ getPermissions(): Promise<Record<string, boolean>>;
27
+ }
28
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/core/modules/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBAAa,iBAAiB;IAChB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI3F;;OAEG;IACU,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzF;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIvD;;OAEG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGhE"}
@@ -0,0 +1,31 @@
1
+ export class PermissionsModule {
2
+ transport;
3
+ constructor(transport) {
4
+ this.transport = transport;
5
+ }
6
+ /**
7
+ * Yêu cầu cấp quyền người dùng cho capability cụ thể (camera, location, contacts...)
8
+ */
9
+ async request(capability) {
10
+ return this.transport.invoke('permission.request', { capability });
11
+ }
12
+ /**
13
+ * Kiểm tra quyền đã được cấp hay chưa
14
+ */
15
+ async check(capability) {
16
+ return this.transport.invoke('permission.check', { capability });
17
+ }
18
+ /**
19
+ * Lấy toàn bộ danh sách trạng thái cấp quyền của Mini App
20
+ */
21
+ async getAll() {
22
+ return this.transport.invoke('permission.getAll');
23
+ }
24
+ /**
25
+ * Alias cho getAll()
26
+ */
27
+ async getPermissions() {
28
+ return this.getAll();
29
+ }
30
+ }
31
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/core/modules/permissions.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { ITransport } from '../../transport/index.js';
2
+ export declare class PhoneModule {
3
+ private transport;
4
+ constructor(transport: ITransport);
5
+ /**
6
+ * Mở trình gọi điện thoại native
7
+ */
8
+ openPhone(phoneNumber: string): Promise<any>;
9
+ /**
10
+ * Mở trình nhắn tin SMS native
11
+ */
12
+ openSMS(phoneNumber: string, body?: string): Promise<any>;
13
+ /**
14
+ * Mở liên kết trên trình duyệt ngoài (Safari / Chrome)
15
+ */
16
+ openExternalBrowser(url: string): Promise<any>;
17
+ /**
18
+ * Mở Deep Link trong hệ sinh thái ứng dụng
19
+ */
20
+ openDeepLink(url: string): Promise<any>;
21
+ }
22
+ //# sourceMappingURL=phone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../../src/core/modules/phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIzD;;OAEG;IACU,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAItE;;OAEG;IACU,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3D;;OAEG;IACU,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAGrD"}
@@ -0,0 +1,31 @@
1
+ export class PhoneModule {
2
+ transport;
3
+ constructor(transport) {
4
+ this.transport = transport;
5
+ }
6
+ /**
7
+ * Mở trình gọi điện thoại native
8
+ */
9
+ async openPhone(phoneNumber) {
10
+ return this.transport.invoke('phone.openPhone', { phoneNumber });
11
+ }
12
+ /**
13
+ * Mở trình nhắn tin SMS native
14
+ */
15
+ async openSMS(phoneNumber, body) {
16
+ return this.transport.invoke('phone.openSMS', { phoneNumber, body });
17
+ }
18
+ /**
19
+ * Mở liên kết trên trình duyệt ngoài (Safari / Chrome)
20
+ */
21
+ async openExternalBrowser(url) {
22
+ return this.transport.invoke('phone.openExternalBrowser', { url });
23
+ }
24
+ /**
25
+ * Mở Deep Link trong hệ sinh thái ứng dụng
26
+ */
27
+ async openDeepLink(url) {
28
+ return this.transport.invoke('phone.openDeepLink', { url });
29
+ }
30
+ }
31
+ //# sourceMappingURL=phone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phone.js","sourceRoot":"","sources":["../../../src/core/modules/phone.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAAG,CAAC;IAE7C;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,WAAmB;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAa;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,mBAAmB,CAAC,GAAW;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,YAAY,CAAC,GAAW;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1,26 +1,110 @@
1
1
  import { ITransport } from '../../transport/index.js';
2
+ export interface SecureStorageSetResult {
3
+ key: string;
4
+ domain: string;
5
+ appId: string;
6
+ success: boolean;
7
+ securityLevel: string;
8
+ updatedAt: string;
9
+ }
10
+ export interface SecureStorageGetResult {
11
+ key: string;
12
+ value: string | null;
13
+ domain: string;
14
+ exists: boolean;
15
+ securityLevel: string;
16
+ }
17
+ export interface SecureStorageRemoveResult {
18
+ key: string;
19
+ domain: string;
20
+ removed: boolean;
21
+ }
22
+ export interface SecureStorageClearResult {
23
+ cleared: boolean;
24
+ count: number;
25
+ }
26
+ export interface CredentialSetResult {
27
+ domain: string;
28
+ username: string;
29
+ success: boolean;
30
+ securityLevel: string;
31
+ savedAt: string;
32
+ }
33
+ export interface CredentialGetResult {
34
+ domain: string;
35
+ username: string | null;
36
+ password?: string | null;
37
+ exists: boolean;
38
+ securityLevel: string;
39
+ }
40
+ export interface CredentialDeleteResult {
41
+ domain: string;
42
+ deleted: boolean;
43
+ }
2
44
  export declare class StorageModule {
3
45
  private transport;
4
46
  constructor(transport: ITransport);
5
47
  /**
6
48
  * Lưu trữ dữ liệu cách ly theo Mini App
7
49
  */
8
- setItem(key: string, value: any): Promise<void>;
50
+ setItem(key: string, value: any): Promise<any>;
9
51
  /**
10
52
  * Lấy dữ liệu đã lưu
11
53
  */
12
- getItem<T = any>(key: string): Promise<T | null>;
54
+ getItem(key: string): Promise<{
55
+ key: string;
56
+ value: string | null;
57
+ exists: boolean;
58
+ domain: string;
59
+ securityLevel: string;
60
+ }>;
13
61
  /**
14
62
  * Xoá một khoá lưu trữ
15
63
  */
16
- removeItem(key: string): Promise<void>;
64
+ removeItem(key: string): Promise<any>;
17
65
  /**
18
66
  * Xoá toàn bộ dữ liệu của Mini App
19
67
  */
20
- clear(): Promise<void>;
68
+ clear(domain?: string): Promise<SecureStorageClearResult | any>;
21
69
  /**
22
70
  * Lấy toàn bộ cặp key-value
23
71
  */
24
72
  getAll(): Promise<Record<string, string>>;
73
+ /**
74
+ * Lưu cặp khóa - giá trị bảo mật (Keychain/Keystore) theo domain
75
+ */
76
+ setSecureItem(key: string, value: any, domain?: string): Promise<SecureStorageSetResult>;
77
+ /**
78
+ * Lấy lại giá trị đã lưu theo khóa bảo mật (Keychain/Keystore)
79
+ */
80
+ getSecureItem(key: string, domain?: string): Promise<SecureStorageGetResult>;
81
+ /**
82
+ * Xóa cặp khóa - giá trị bảo mật
83
+ */
84
+ removeSecureItem(key: string, domain?: string): Promise<SecureStorageRemoveResult>;
85
+ /**
86
+ * Lưu username/password an toàn (Keychain/Keystore) theo domain
87
+ */
88
+ setCredentials(domain: string, username: string, password: string): Promise<CredentialSetResult>;
89
+ /**
90
+ * Lấy lại username/password đã lưu an toàn theo domain
91
+ */
92
+ getCredentials(domain: string): Promise<CredentialGetResult>;
93
+ /**
94
+ * Xoá username/password đã lưu an toàn theo domain
95
+ */
96
+ deleteCredentials(domain: string): Promise<CredentialDeleteResult>;
97
+ /**
98
+ * Lưu dữ liệu nhạy cảm vào Keychain/Keystore (alias setSecretData)
99
+ */
100
+ setSecretData(key: string, value: any, domain?: string): Promise<SecureStorageSetResult>;
101
+ /**
102
+ * Đọc dữ liệu bảo mật đã lưu từ Keychain/Keystore (alias getSecretData)
103
+ */
104
+ getSecretData(key: string, domain?: string): Promise<SecureStorageGetResult>;
105
+ /**
106
+ * Xoá 1 khoá dữ liệu bảo mật (alias removeSecretData)
107
+ */
108
+ removeSecretData(key: string, domain?: string): Promise<SecureStorageRemoveResult>;
25
109
  }
26
110
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/modules/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,UAAU;IAEzC;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;OAEG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAU7D;;OAEG;IACU,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAGvD"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/modules/storage.ts"],"names":[],"mappings":"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"}
@@ -8,33 +8,25 @@ export class StorageModule {
8
8
  */
9
9
  async setItem(key, value) {
10
10
  const serialized = typeof value === 'string' ? value : JSON.stringify(value);
11
- await this.transport.invoke('storage.setItem', { key, value: serialized });
11
+ return this.transport.invoke('storage.setItem', { key, value: serialized });
12
12
  }
13
13
  /**
14
14
  * Lấy dữ liệu đã lưu
15
15
  */
16
16
  async getItem(key) {
17
- const res = await this.transport.invoke('storage.getItem', { key });
18
- if (!res || res.value === null)
19
- return null;
20
- try {
21
- return JSON.parse(res.value);
22
- }
23
- catch {
24
- return res.value;
25
- }
17
+ return this.transport.invoke('storage.getItem', { key });
26
18
  }
27
19
  /**
28
20
  * Xoá một khoá lưu trữ
29
21
  */
30
22
  async removeItem(key) {
31
- await this.transport.invoke('storage.removeItem', { key });
23
+ return this.transport.invoke('storage.removeItem', { key });
32
24
  }
33
25
  /**
34
26
  * Xoá toàn bộ dữ liệu của Mini App
35
27
  */
36
- async clear() {
37
- await this.transport.invoke('storage.clear');
28
+ async clear(domain) {
29
+ return this.transport.invoke('storage.clear', { domain });
38
30
  }
39
31
  /**
40
32
  * Lấy toàn bộ cặp key-value
@@ -42,5 +34,78 @@ export class StorageModule {
42
34
  async getAll() {
43
35
  return this.transport.invoke('storage.getAll');
44
36
  }
37
+ /**
38
+ * Lưu cặp khóa - giá trị bảo mật (Keychain/Keystore) theo domain
39
+ */
40
+ async setSecureItem(key, value, domain = 'default') {
41
+ const stringValue = typeof value === 'string' ? value : JSON.stringify(value);
42
+ return this.transport.invoke('storage.setSecureItem', {
43
+ key,
44
+ value: stringValue,
45
+ domain,
46
+ });
47
+ }
48
+ /**
49
+ * Lấy lại giá trị đã lưu theo khóa bảo mật (Keychain/Keystore)
50
+ */
51
+ async getSecureItem(key, domain = 'default') {
52
+ return this.transport.invoke('storage.getSecureItem', {
53
+ key,
54
+ domain,
55
+ });
56
+ }
57
+ /**
58
+ * Xóa cặp khóa - giá trị bảo mật
59
+ */
60
+ async removeSecureItem(key, domain = 'default') {
61
+ return this.transport.invoke('storage.removeSecureItem', {
62
+ key,
63
+ domain,
64
+ });
65
+ }
66
+ /**
67
+ * Lưu username/password an toàn (Keychain/Keystore) theo domain
68
+ */
69
+ async setCredentials(domain, username, password) {
70
+ return this.transport.invoke('storage.setCredentials', {
71
+ domain,
72
+ username,
73
+ password,
74
+ });
75
+ }
76
+ /**
77
+ * Lấy lại username/password đã lưu an toàn theo domain
78
+ */
79
+ async getCredentials(domain) {
80
+ return this.transport.invoke('storage.getCredentials', {
81
+ domain,
82
+ });
83
+ }
84
+ /**
85
+ * Xoá username/password đã lưu an toàn theo domain
86
+ */
87
+ async deleteCredentials(domain) {
88
+ return this.transport.invoke('storage.deleteCredentials', {
89
+ domain,
90
+ });
91
+ }
92
+ /**
93
+ * Lưu dữ liệu nhạy cảm vào Keychain/Keystore (alias setSecretData)
94
+ */
95
+ async setSecretData(key, value, domain = 'default') {
96
+ return this.setSecureItem(key, value, domain);
97
+ }
98
+ /**
99
+ * Đọc dữ liệu bảo mật đã lưu từ Keychain/Keystore (alias getSecretData)
100
+ */
101
+ async getSecretData(key, domain = 'default') {
102
+ return this.getSecureItem(key, domain);
103
+ }
104
+ /**
105
+ * Xoá 1 khoá dữ liệu bảo mật (alias removeSecretData)
106
+ */
107
+ async removeSecretData(key, domain = 'default') {
108
+ return this.removeSecureItem(key, domain);
109
+ }
45
110
  }
46
111
  //# sourceMappingURL=storage.js.map