@rei-standard/amsg-client 1.2.0 → 2.0.0-pre1

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/README.md CHANGED
@@ -1,12 +1,7 @@
1
1
  # @rei-standard/amsg-client
2
2
 
3
- `@rei-standard/amsg-client` 是 ReiStandard 主动消息标准的浏览器端 SDK 包。
3
+ `@rei-standard/amsg-client` 是 ReiStandard 主动消息标准的浏览器端 SDK 包,负责加密请求、解密响应和 Push 订阅。
4
4
 
5
- ## 文档导航
6
-
7
- - [SDK 总览](../README.md)
8
- - [主 README](../../../README.md)
9
- - [Service Worker 规范](../../../standards/service-worker-specification.md)
10
5
 
11
6
  ## 安装
12
7
 
@@ -14,7 +9,7 @@
14
9
  npm install @rei-standard/amsg-client
15
10
  ```
16
11
 
17
- ## 使用
12
+ ## 快速使用
18
13
 
19
14
  ```js
20
15
  import { ReiClient } from '@rei-standard/amsg-client';
@@ -25,16 +20,54 @@ const client = new ReiClient({
25
20
  });
26
21
 
27
22
  await client.init();
23
+
24
+ await navigator.serviceWorker.register('/service-worker.js');
25
+ const registration = await navigator.serviceWorker.ready;
26
+ const subscription = await client.subscribePush(
27
+ window.__VAPID_PUBLIC_KEY__,
28
+ registration
29
+ );
30
+
31
+ await client.scheduleMessage({
32
+ contactName: 'Rei',
33
+ messageType: 'fixed',
34
+ userMessage: '下班记得带伞~',
35
+ firstSendTime: new Date(Date.now() + 60 * 1000).toISOString(),
36
+ recurrenceType: 'none',
37
+ pushSubscription: subscription.toJSON()
38
+ });
28
39
  ```
29
40
 
30
- 主要能力:
41
+ ## 导出 API(Exports)
42
+
43
+ - `ReiClient`
44
+
45
+ `ReiClient` 主要方法:
46
+
47
+ - `init()`
48
+ - `scheduleMessage(payload)`
49
+ - `updateMessage(uuid, updates)`
50
+ - `cancelMessage(uuid)`
51
+ - `listMessages(opts)`
52
+ - `subscribePush(vapidPublicKey, registration)`
53
+
54
+ ## 模块格式与类型(ESM/CJS/Types)
55
+
56
+ - ESM:`import { ReiClient } from '@rei-standard/amsg-client'`
57
+ - CJS:`const { ReiClient } = require('@rei-standard/amsg-client')`
58
+ - 类型:包内提供 `types` 入口(`dist/index.d.ts`)
59
+
60
+ ## 运行环境与要求
31
61
 
32
- - `init()` 自动调用 `/get-user-key` 获取用户专属密钥(不再持有 masterKey)
33
- - 自动处理 `schedule-message` / `update-message` 的加密请求
34
- - 自动处理 `messages` 的解密响应
35
- - Push 订阅辅助方法
62
+ - 浏览器环境(需 `fetch`、`crypto.subtle`)
63
+ - Push 订阅需可用 Service Worker 与 Push API
64
+ - 需要可用的 `baseUrl`(示例:`/api/v1`)
65
+ - `userId` 必须是 UUID v4
36
66
 
37
- ## 相关包
67
+ ## 相关链接(绝对 URL)
38
68
 
39
- - 服务端 SDK:[`@rei-standard/amsg-server`](../server/README.md)
40
- - Service Worker SDK:[`@rei-standard/amsg-sw`](../sw/README.md)
69
+ - [SDK Workspace 总览](https://github.com/Tosd0/ReiStandard/blob/main/packages/rei-standard-amsg/README.md)
70
+ - [Server README](https://github.com/Tosd0/ReiStandard/blob/main/packages/rei-standard-amsg/server/README.md)
71
+ - [SW 包 README](https://github.com/Tosd0/ReiStandard/blob/main/packages/rei-standard-amsg/sw/README.md)
72
+ - [Service Worker 规范](https://github.com/Tosd0/ReiStandard/blob/main/standards/service-worker-specification.md)
73
+ - [API 技术规范](https://github.com/Tosd0/ReiStandard/blob/main/standards/active-messaging-api.md)
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * ReiStandard Client SDK
3
- * v1.2.0
3
+ * v2.0.0-pre1
4
4
  *
5
5
  * Lightweight browser client that handles:
6
6
  * - AES-256-GCM encryption using the Web Crypto API
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * ReiStandard Client SDK
3
- * v1.2.0
3
+ * v2.0.0-pre1
4
4
  *
5
5
  * Lightweight browser client that handles:
6
6
  * - AES-256-GCM encryption using the Web Crypto API
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rei-standard/amsg-client",
3
- "version": "1.2.0",
3
+ "version": "2.0.0-pre1",
4
4
  "description": "ReiStandard Active Messaging browser client SDK",
5
5
  "repository": {
6
6
  "type": "git",