hm-tracking-sdk 0.1.2 → 0.1.3

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 (2) hide show
  1. package/README.md +108 -92
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -4,48 +4,49 @@
4
4
 
5
5
  ## 1. 安装
6
6
 
7
- 建议通过 npm/yarn 安装正式发布的包:
7
+ ### 建议通过 npm/yarn 安装正式发布的包:
8
8
 
9
- ```bash
10
- # 使用 yarn
11
- yarn add hm-tracking-sdk axios crypto-js
12
-
13
- # 或使用 npm
14
- npm i hm-tracking-sdk axios crypto-js
15
- ```
9
+ ```bash
10
+ # 使用 yarn
11
+ yarn add hm-tracking-sdk axios crypto-js
16
12
 
13
+ # 或使用 npm
14
+ npm i hm-tracking-sdk axios crypto-js
15
+ ```
17
16
 
18
17
  ---
19
18
 
20
19
  ## 2. SDK 初始化
21
20
 
22
- ```ts
23
- import { HmTrackingSDK, type SDKInitOptions } from "hm-tracking-sdk";
24
-
25
- const options: SDKInitOptions = {
26
- // 可选:不传则使用内置默认地址
27
- baseURL: "https://your-api.example.com",
21
+ - 接口: init()
28
22
 
29
- // 可选:本地存储 Key 前缀,避免项目间冲突
30
- storageKeyPrefix: "your_app_prefix",
31
-
32
- // 可选:浏览器环境下使用,可显式传入自定义用户
33
- customUser: {
34
- user: {
35
- id: 123456789,
36
- firstName: "Test",
37
- lastName: "User",
38
- username: "test_user",
39
- languageCode: "zh-hans",
23
+ ```ts
24
+ import { HmTrackingSDK, type SDKInitOptions } from "hm-tracking-sdk";
25
+
26
+ const options: SDKInitOptions = {
27
+ // 可选:不传则使用内置默认地址
28
+ baseURL: "https://your-api.example.com",
29
+
30
+ // 可选:本地存储 Key 前缀,避免项目间冲突
31
+ storageKeyPrefix: "your_app_prefix",
32
+
33
+ // 可选:浏览器环境下使用,可显式传入自定义用户
34
+ customUser: {
35
+ user: {
36
+ id: 123456789,
37
+ firstName: "Test",
38
+ lastName: "User",
39
+ username: "test_user",
40
+ languageCode: "zh-hans",
41
+ },
42
+ authDate: new Date().toISOString(),
43
+ hash: "your_hash_value",
40
44
  },
41
- authDate: new Date().toISOString(),
42
- hash: "your_hash_value",
43
- },
44
- };
45
+ };
45
46
 
46
- const sdk = new HmTrackingSDK(options);
47
- await sdk.init();
48
- ```
47
+ const sdk = new HmTrackingSDK(options);
48
+ await sdk.init();
49
+ ```
49
50
 
50
51
  - 函数说明:初始化 SDK,先创建 HmTrackingSDK 对象,然后调用 init 方法完成初始化。
51
52
  - 返回值:`Promise<void>`。
@@ -74,32 +75,37 @@ await sdk.init();
74
75
  - 自定义用户:也可传入 `customUser` 替代匿名用户。
75
76
 
76
77
  ### 2.3 环境判断
77
-
78
- ```ts
79
- import { isTelegramEnv } from "hm-tracking-sdk";
80
78
 
81
- if (isTelegramEnv()) {
82
- // Telegram WebApp 环境
83
- } else {
84
- // 浏览器/其他环境
85
- }
86
- ```
79
+ - 接口: isTelegramEnv()
80
+
81
+ ```ts
82
+ import { isTelegramEnv } from "hm-tracking-sdk";
83
+
84
+ if (isTelegramEnv()) {
85
+ // Telegram WebApp 环境
86
+ } else {
87
+ // 浏览器/其他环境
88
+ }
89
+ ```
90
+
91
+ - 函数说明:判断是否是Telegram环境。
92
+ - 返回值:`boolean`。
87
93
 
88
94
  ---
89
95
 
90
96
  ## 3. 获取Telegram用户信息
91
97
 
92
- 返回 Telegram 当前用户的信息
98
+ - 接口: getTelegramUserUnsafe()
93
99
 
94
- ```ts
95
- import { getTelegramUserUnsafe, type TelegramUserInfo } from "hm-tracking-sdk";
100
+ ```ts
101
+ import { getTelegramUserUnsafe, type TelegramUserInfo } from "hm-tracking-sdk";
96
102
 
97
- const user: TelegramUserInfo | null = getTelegramUserUnsafe();
98
- ```
103
+ const user: TelegramUserInfo | null = getTelegramUserUnsafe();
104
+ ```
99
105
 
100
- - 函数说明:在 Telegram 环境下读取 `WebApp.initDataUnsafe` 并返回 `TelegramUserInfo`;获取失败返回 `null`。
101
- - 返回值:`TelegramUserInfo | null`,数据结构为:
102
-
106
+ - 函数说明:在 Telegram 环境下返回 `TelegramUserInfo`;获取失败返回 `null`。
107
+ - 返回值:`TelegramUserInfo | null`,数据结构为:
108
+
103
109
  ```ts
104
110
  export interface TelegramUserInfo {
105
111
  id?: number;
@@ -122,9 +128,11 @@ const user: TelegramUserInfo | null = getTelegramUserUnsafe();
122
128
 
123
129
  ### 4.1 展示广告
124
130
 
125
- ```ts
126
- await sdk.showHmAdByPosition(adPositionName);
127
- ```
131
+ - 接口: showHmAdByPosition()
132
+
133
+ ```ts
134
+ await sdk.showHmAdByPosition(adPositionName);
135
+ ```
128
136
 
129
137
  - 函数说明:根据广告位名称展示广告。
130
138
  - 参数说明
@@ -143,46 +151,52 @@ await sdk.showHmAdByPosition(adPositionName);
143
151
 
144
152
  支付仅支持在 Telegram WebApp 内使用。
145
153
 
146
- ### 5.1 API
154
+ ### 5.1 TON钱包相关API
147
155
 
148
- #### 5.1.1 钱包相关接口
156
+ #### 5.1.1 钱包是否链接
149
157
 
150
- ```ts
151
- sdk.isWalletConnected(): boolean
152
- ```
158
+ - 接口: isWalletConnected()
159
+
160
+ ```ts
161
+ sdk.isWalletConnected(): boolean
162
+ ```
153
163
 
154
164
  - 函数说明:同步检查是否已连接 TON 钱包;
155
165
  - 返回值:`boolean`。
156
166
 
157
- ```ts
158
- sdk.connectWallet(): Promise<boolean>
159
- ```
167
+ #### 5.1.2 链接钱包
168
+
169
+ - 接口: connectWallet()
170
+
171
+ ```ts
172
+ sdk.connectWallet(): Promise<boolean>
173
+ ```
160
174
 
161
175
  - 函数说明:发起连接 TON 钱包;
162
176
  - 返回值:`Promise<boolean>` 表示是否连接成功。
163
177
 
164
- ```ts
165
- sdk.disconnectWallet(): Promise<void>
166
- ```
178
+ #### 5.1.3 断开钱包链接
179
+
180
+ - 接口: disconnectWallet()
181
+
182
+ ```ts
183
+ sdk.disconnectWallet(): Promise<void>
184
+ ```
167
185
 
168
186
  - 函数说明:断开已连接的钱包;
169
187
  - 返回值:`Promise<void>`。
170
188
 
171
- ```ts
172
- sdk.ensureWalletConnected(): Promise<boolean>
173
- ```
174
-
175
- - 函数说明:确保钱包已连接;若未连接则尝试连接;
176
- - 返回值:`Promise<boolean>` 表示最终是否已连接。
189
+ ### 5.2 支付
177
190
 
178
191
  #### 5.2.1 获取支持的支付方式
179
192
 
180
- ```ts
181
- sdk.getSupportedPayModes(): Promise<MerchantPayModeListData>
182
- ```
193
+ - 接口: getSupportedPayModes()
194
+
195
+ ```ts
196
+ sdk.getSupportedPayModes(): Promise<MerchantPayModeListData>
197
+ ```
183
198
 
184
199
  - 函数说明:获取当前支持的币种及汇率配置;
185
- - 参数说明:无;
186
200
  - 返回值说明:`Promise<MerchantPayModeListData>`,见下方类型定义。
187
201
 
188
202
  ```ts
@@ -201,20 +215,22 @@ sdk.getSupportedPayModes(): Promise<MerchantPayModeListData>
201
215
 
202
216
  #### 5.2.2 创建并支付订单
203
217
 
204
- ```ts
205
- // 仅 TON/USDT 需要先连接钱包(STARS 无需)
206
- await sdk.ensureWalletConnected();
207
-
208
- // 创建并支付订单
209
- const params: MerchantPayCreateRequest = {
210
- currencyName: "TON", // "TON" | "USDT" | "STARS"
211
- amount: 10.5, // 支付金额
212
- outTradeNo: `order_${Date.now()}`, // 自定义订单号
213
- notifyUrl: "https://your-server.com/payment-callback",
214
- attach: JSON.stringify({ userId: "123", itemId: "456" })
215
- };
216
- const result: MerchantPayFinishResponseData = await sdk.payByMerchant(params);
217
- ```
218
+ - 接口: payByMerchant()
219
+
220
+ ```ts
221
+ // 仅 TON/USDT 需要先连接钱包(STARS 无需)
222
+ await sdk.ensureWalletConnected();
223
+
224
+ // 创建并支付订单
225
+ const params: MerchantPayCreateRequest = {
226
+ currencyName: "TON", // "TON" | "USDT" | "STARS"
227
+ amount: 10.5, // 支付金额
228
+ outTradeNo: `order_${Date.now()}`, // 自定义订单号
229
+ notifyUrl: "https://your-server.com/payment-callback",
230
+ attach: JSON.stringify({ userId: "123", itemId: "456" })
231
+ };
232
+ const result: MerchantPayFinishResponseData = await sdk.payByMerchant(params);
233
+ ```
218
234
 
219
235
  - 函数说明:创建支付订单并根据币种发起支付流程(STARS、TON/USDT 链上交易);
220
236
 
@@ -268,9 +284,11 @@ const result: MerchantPayFinishResponseData = await sdk.payByMerchant(params);
268
284
 
269
285
  #### 5.2.3 查询支付结果
270
286
 
271
- ```ts
272
- sdk.merchantPayQueryResult(data: MerchantPayQueryResultRequest): Promise<MerchantPayQueryResultResponseData>
273
- ```
287
+ - 接口: merchantPayQueryResult()
288
+
289
+ ```ts
290
+ sdk.merchantPayQueryResult(data: MerchantPayQueryResultRequest): Promise<MerchantPayQueryResultResponseData>
291
+ ```
274
292
 
275
293
  - 函数说明:通过系统订单号 `orderSn` 或商户订单号 `outTradeNo` 查询订单最新结果;
276
294
  - 参数说明:`MerchantPayQueryResultRequest`,见下方类型:
@@ -287,5 +305,3 @@ sdk.merchantPayQueryResult(data: MerchantPayQueryResultRequest): Promise<Merchan
287
305
  ```ts
288
306
  type MerchantPayQueryResultResponseData = MerchantPayOrderBase;
289
307
  ```
290
-
291
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hm-tracking-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "private": false,
5
5
  "description": "Telegram tracking SDK for Web/Miniapp with TON/Stars payment integration.",
6
6
  "license": "MIT",