@ymxjs/ymx-getui 1.0.0

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 (3) hide show
  1. package/package.json +20 -0
  2. package/readme.md +25 -0
  3. package/types.d.ts +118 -0
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@ymxjs/ymx-getui",
3
+ "version": "1.0.0",
4
+ "description": "TypeScript definitions for ymx plugin ymx-getui",
5
+ "types": "types.d.ts",
6
+ "keywords": [
7
+ "ymx",
8
+ "ymxjs",
9
+ "ymx-getui"
10
+ ],
11
+ "homepage": "https://zsite.cc/market/ymx-getui",
12
+ "author": "ymx",
13
+ "license": "MIT",
14
+ "dependencies": {
15
+ "@ymxjs/core": "^1.260819.0"
16
+ },
17
+ "files": [
18
+ "types.d.ts"
19
+ ]
20
+ }
package/readme.md ADDED
@@ -0,0 +1,25 @@
1
+ ymxjs 插件接口申明
2
+ =======
3
+
4
+ [ymx-getui](https://zsite.cc/market/ymx-getui)
5
+ 个推消息推送
6
+
7
+ - 安装
8
+ ```bash
9
+ npm install --save-dev @ymxjs/ymx-getui
10
+ ```
11
+
12
+ - 配置 `tsconfig.json`
13
+ ```json
14
+ {
15
+ "compilerOptions": {
16
+ "types": ["@ymxjs/ymx-getui"]
17
+ }
18
+ }
19
+ ```
20
+
21
+ - 使用
22
+ ```ts
23
+ const plugin = ymx.requirePlugin('ymx-getui') as YmxGetui;
24
+ //...
25
+ ```
package/types.d.ts ADDED
@@ -0,0 +1,118 @@
1
+
2
+ declare namespace YmxGetui {
3
+
4
+ interface ClientIdResult {
5
+ /** 客户端 Id (cid),如果个推初始化失败则返回空。*/
6
+ clientId?: string;
7
+ }
8
+
9
+ interface SdkStatusResult extends ClientIdResult {
10
+ /** 个推 SDK 版本号 */
11
+ sdkVersion: string;
12
+ /**
13
+ * 是否初始化成功
14
+ * - `true` 成功
15
+ * - `false` 失败
16
+ * - `undefined` 未初始化
17
+ * */
18
+ initializeSuccess?: boolean;
19
+ /** 初始化失败时的错误描述 */
20
+ initializeError?: string;
21
+ /** 厂商推送设备 token 标识 */
22
+ deviceToken?: string;
23
+ }
24
+
25
+ interface CmdBaseData {
26
+ /** 自定义的业务号,在 `setListener` 中原样返回,如果留空则系统自动生成一个随机 UUID。 */
27
+ sn?: string;
28
+ }
29
+
30
+ interface AliasData extends CmdBaseData {
31
+ /** 别名,长度 40 字节,支持中、英文(区分大小写)、数字以及下划线。 */
32
+ alias: string;
33
+ }
34
+
35
+ interface UnbindAliasData extends AliasData {
36
+ /** 别名,长度 40 字节,支持中、英文(区分大小写)、数字以及下划线。 */
37
+ alias: string;
38
+ /** 是否只对当前cid有效,如果是true,只对当前cid做解绑;如果是false,对所有绑定该别名的cid列表做解绑。*/
39
+ isSelf?: boolean;
40
+ }
41
+
42
+ interface TagsData extends CmdBaseData {
43
+ /** 标签数组,数组长度最大200。*/
44
+ tags: string[];
45
+ }
46
+
47
+ interface SendFeedbackMessageData {
48
+ /** 下发任务的任务 ID */
49
+ taskId: string;
50
+ /** 下发任务的消息 ID */
51
+ messageId: string;
52
+ /** 自定义的 actionId,取值范围是 90001-90999 */
53
+ actionId: number;
54
+ }
55
+
56
+ interface SilentTimeData {
57
+ /** 开始时间,beginHour >= 0 && beginHour < 24 */
58
+ beginHour: number;
59
+ /** 持续时间,duration > 0 && duration <= 23,持续时间为 0 则取消静默。 */
60
+ duration: number;
61
+ }
62
+ }
63
+
64
+ /**
65
+ * [个推](https://www.getui.com/)
66
+ *
67
+ * - 点击通知激活或拉起应用的启动参数见 [ymx.getLaunchParams()](https://zsite.cc/docs/api/app),服务器端推送的所有数据都能在此接口的返回参数里面找到。
68
+ * - 相关 [通知 API](https://zsite.cc/docs/api/notification)
69
+ * - [个推鸿蒙厂商应用开通指南](https://docs.getui.com/getui/mobile/harmonyos/harmonyosstudio/)
70
+ * - [个推鸿蒙 API 详解](https://docs.getui.com/getui/mobile/harmonyos/api/)
71
+ *
72
+ * @example
73
+ * ``` ts
74
+ * const getui = ymx.requirePlugin('ymx-getui') as YmxGetui;
75
+ * await getui.setListener((eventName, data) => console.log(eventName, data));
76
+ * await getui.getSdkStatus();
77
+ * //请在适当的稍候请求通知权限
78
+ * await ymx.requestEnableNotification()
79
+ * ```
80
+ */
81
+ interface YmxGetui extends JsApiBase {
82
+
83
+ /**
84
+ * 获取个推 SDK 状态
85
+ * */
86
+ getSdkStatus(): Promise<YmxGetui.SdkStatusResult>;
87
+
88
+ /** 获取设备的客户端 Id (cid) */
89
+ getClientId(): Promise<YmxGetui.ClientIdResult>;
90
+
91
+ /** 打开 Push 推送,默认是开启状态,可以使用 turnOffPush 接口关闭推送。 */
92
+ turnOnPush(): Promise<void>;
93
+
94
+ /** 关闭 Push 推送,关闭后则无法收到推送消息,若调用了该接口关闭了推送,则只能调用 turnOnPush 才能正常推送。 */
95
+ turnOffPush(): Promise<void>;
96
+
97
+ /** 绑定别名
98
+ * - 实际结果在 `setListener` 的 eventName `onReceiveCommandResult` 中异步返回。 */
99
+ bindAlias(data: YmxGetui.AliasData): Promise<void>;
100
+
101
+ /** 解绑别名
102
+ * - 实际结果在 `setListener` 的 eventName `onReceiveCommandResult` 中异步返回。 */
103
+ unBindAlias(data: YmxGetui.UnbindAliasData): Promise<void>;
104
+
105
+ /** 设置一组标签,后续可使用该标签定向推送。
106
+ * - 实际结果在 `setListener` 的 eventName `onReceiveCommandResult` 中异步返回。 */
107
+ setTag(data: YmxGetui.TagsData): Promise<void>;
108
+
109
+ /** 查询用户标签
110
+ * - 实际结果在 `setListener` 的 eventName `onReceiveCommandResult` 中异步返回。*/
111
+ queryTag(data: YmxGetui.CmdBaseData): Promise<void>;
112
+
113
+ /** 自定义 actionId */
114
+ sendFeedbackMessage(data: YmxGetui.SendFeedbackMessageData): Promise<void>;
115
+
116
+ /** 设置静默时间 */
117
+ setSilentTime(data: YmxGetui.SilentTimeData): Promise<void>;
118
+ }