@ymxjs/ymx-jiguang 1.0.1
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/package.json +20 -0
- package/readme.md +25 -0
- package/types.d.ts +322 -0
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ymxjs/ymx-jiguang",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "TypeScript definitions for ymx plugin ymx-jiguang",
|
|
5
|
+
"types": "types.d.ts",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"ymx",
|
|
8
|
+
"ymxjs",
|
|
9
|
+
"ymx-jiguang"
|
|
10
|
+
],
|
|
11
|
+
"homepage": "https://zsite.cc/market/ymx-jiguang",
|
|
12
|
+
"author": "ymx",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@ymxjs/core": "^1.260831.0"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"types.d.ts"
|
|
19
|
+
]
|
|
20
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
ymxjs 插件类型声明
|
|
2
|
+
=======
|
|
3
|
+
|
|
4
|
+
[ymx-jiguang](https://zsite.cc/market/ymx-jiguang)
|
|
5
|
+
推送 极光 消息通知 别名 标签
|
|
6
|
+
|
|
7
|
+
- 安装
|
|
8
|
+
```bash
|
|
9
|
+
npm install --save-dev @ymxjs/ymx-jiguang
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
- 配置 `tsconfig.json`
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"compilerOptions": {
|
|
16
|
+
"types": ["@ymxjs/ymx-jiguang"]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- 使用
|
|
22
|
+
```ts
|
|
23
|
+
const plugin = ymx.requirePlugin('ymx-jiguang') as YmxJiguang;
|
|
24
|
+
//...
|
|
25
|
+
```
|
package/types.d.ts
ADDED
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
|
|
2
|
+
declare namespace YmxJiguang {
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 插件错误码
|
|
6
|
+
*/
|
|
7
|
+
enum ErrorCode {
|
|
8
|
+
/** SDK 尚未初始化(等待用户同意隐私协议后静默初始化) */
|
|
9
|
+
NotInitialized = 'NOT_INITIALIZED',
|
|
10
|
+
/** SDK 初始化失败(appKey 无效等) */
|
|
11
|
+
InitFailed = 'INIT_FAILED',
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 插件打包配置
|
|
16
|
+
*
|
|
17
|
+
* appKey 在[极光控制台](https://www.jiguang.cn/)创建应用后获取,
|
|
18
|
+
* 与应用打包时配置。插件在用户同意隐私协议后静默初始化。
|
|
19
|
+
*/
|
|
20
|
+
interface Config {
|
|
21
|
+
/**
|
|
22
|
+
* 极光推送 AppKey(在初始化之前设置)
|
|
23
|
+
*/
|
|
24
|
+
appKey: string;
|
|
25
|
+
/**
|
|
26
|
+
* 初始化成功后是否请求通知权限,取值 0-10(秒),配置大于 0 时插件初始化成功后会请求通知权限
|
|
27
|
+
* @default 0
|
|
28
|
+
*/
|
|
29
|
+
requestEnableNotificationDelay?: number;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 获取 Registration ID 结果
|
|
34
|
+
*/
|
|
35
|
+
interface RegistrationIdResult {
|
|
36
|
+
/**
|
|
37
|
+
* 消息接收设备唯一标识(registrationId)
|
|
38
|
+
*/
|
|
39
|
+
registrationId: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 推送状态结果
|
|
44
|
+
*/
|
|
45
|
+
interface PushStoppedResult {
|
|
46
|
+
/**
|
|
47
|
+
* 推送是否已停止
|
|
48
|
+
* - `true` 已停止
|
|
49
|
+
* - `false` 未停止
|
|
50
|
+
*/
|
|
51
|
+
stopped: boolean;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* 别名参数
|
|
56
|
+
*/
|
|
57
|
+
interface AliasData {
|
|
58
|
+
/**
|
|
59
|
+
* 别名
|
|
60
|
+
*/
|
|
61
|
+
alias: string;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* 别名操作结果
|
|
66
|
+
*/
|
|
67
|
+
interface AliasResult {
|
|
68
|
+
/**
|
|
69
|
+
* 别名
|
|
70
|
+
*/
|
|
71
|
+
alias: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* 标签参数
|
|
76
|
+
*/
|
|
77
|
+
interface TagsData {
|
|
78
|
+
/**
|
|
79
|
+
* 标签数组
|
|
80
|
+
*/
|
|
81
|
+
tags: string[];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* 标签操作结果
|
|
86
|
+
*/
|
|
87
|
+
interface TagsResult {
|
|
88
|
+
/**
|
|
89
|
+
* 标签数组
|
|
90
|
+
*/
|
|
91
|
+
tags: string[];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 推送消息(消息类事件的 `data` 字段格式)
|
|
96
|
+
*
|
|
97
|
+
* 与平台 jsBridge 的消息格式一致:
|
|
98
|
+
* - `messageId` 极光下发消息的编号
|
|
99
|
+
* - `payload` 消息内容(JSON 字符串,可用 `JSON.parse` 转换)
|
|
100
|
+
* - `extra` 附加内容(JSON 字符串,可用 `JSON.parse` 转换)
|
|
101
|
+
*/
|
|
102
|
+
interface PushMessage {
|
|
103
|
+
/**
|
|
104
|
+
* 极光下发消息的编号
|
|
105
|
+
*/
|
|
106
|
+
messageId?: string;
|
|
107
|
+
/**
|
|
108
|
+
* 消息内容(JSON 字符串)
|
|
109
|
+
*/
|
|
110
|
+
payload?: string;
|
|
111
|
+
/**
|
|
112
|
+
* 附加内容(JSON 字符串)
|
|
113
|
+
*/
|
|
114
|
+
extra?: string;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* [极光推送](https://docs.jiguang.cn/jpush/client/HarmonyOS)
|
|
120
|
+
*
|
|
121
|
+
* 提供消息推送、标签别名、推送状态控制等能力。
|
|
122
|
+
*
|
|
123
|
+
* - 使用前需在[极光控制台](https://www.jiguang.cn/)创建应用,获取 AppKey 复制到本插件的打包配置
|
|
124
|
+
* - 插件在用户同意隐私协议后自动初始化;推送消息与操作结果通过 `setListener` 异步回传,
|
|
125
|
+
* eventName 为 `onRegister` / `onConnected` / `onCustomMessage` / `onClickMessage` /
|
|
126
|
+
* `onArrivedMessage` / `onJMessageExtra` / `onTagOperatorResult` / `onAliasOperatorResult` /
|
|
127
|
+
* `onCommandResult` 等,回调 data 为 `{ action, data }` 结构,消息类事件的 `data` 格式见 `PushMessage`
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ``` ts
|
|
131
|
+
* const jpush = ymx.requirePlugin('ymx-jiguang') as YmxJiguang;
|
|
132
|
+
*
|
|
133
|
+
* // 设置消息监听器(推送消息与操作结果异步回传)
|
|
134
|
+
* jpush.setListener((eventName, data) => {
|
|
135
|
+
* if (eventName === 'onRegister') {
|
|
136
|
+
* console.log('registrationId:', data.data.registrationId);
|
|
137
|
+
* } else if (eventName === 'onCustomMessage') {
|
|
138
|
+
* console.log('自定义消息:', data.data.payload);
|
|
139
|
+
* } else if (eventName === 'onClickMessage') {
|
|
140
|
+
* console.log('通知点击:', data.data.payload);
|
|
141
|
+
* }
|
|
142
|
+
* });
|
|
143
|
+
*
|
|
144
|
+
* // 插件在用户同意隐私协议后自动初始化(使用打包配置 appKey)
|
|
145
|
+
*
|
|
146
|
+
* // 获取 registrationId
|
|
147
|
+
* const res = await jpush.getRegistrationId();
|
|
148
|
+
* console.log(res.registrationId);
|
|
149
|
+
*
|
|
150
|
+
* // 设置别名
|
|
151
|
+
* await jpush.setAlias({ alias: 'user_1234' });
|
|
152
|
+
*
|
|
153
|
+
* // 设置标签
|
|
154
|
+
* await jpush.setTags({ tags: ['tag1', 'tag2'] });
|
|
155
|
+
*
|
|
156
|
+
* // 停止推送 / 恢复推送
|
|
157
|
+
* await jpush.stopPush();
|
|
158
|
+
* await jpush.resumePush();
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
interface YmxJiguang extends JsApiBase {
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* 获取消息接收设备唯一标识(registrationId)
|
|
165
|
+
*
|
|
166
|
+
* 可用于极光控制台创建推送时指定设备。
|
|
167
|
+
*
|
|
168
|
+
* @returns registrationId
|
|
169
|
+
* @example
|
|
170
|
+
* ``` ts
|
|
171
|
+
* const res = await jpush.getRegistrationId();
|
|
172
|
+
* console.log(res.registrationId);
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
getRegistrationId(): Promise<YmxJiguang.RegistrationIdResult>;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* 检查推送是否已停止
|
|
179
|
+
*
|
|
180
|
+
* @returns 推送状态(`stopped` 为 true 表示已停止)
|
|
181
|
+
* @example
|
|
182
|
+
* ``` ts
|
|
183
|
+
* const res = await jpush.isPushStopped();
|
|
184
|
+
* console.log(res.stopped);
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
isPushStopped(): Promise<YmxJiguang.PushStoppedResult>;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* 停止推送
|
|
191
|
+
*
|
|
192
|
+
* 停止后无法收到推送消息,可调用 `resumePush` 恢复。
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ``` ts
|
|
196
|
+
* await jpush.stopPush();
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
stopPush(): Promise<void>;
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* 恢复推送
|
|
203
|
+
*
|
|
204
|
+
* 恢复接收推送消息。
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ``` ts
|
|
208
|
+
* await jpush.resumePush();
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
resumePush(): Promise<void>;
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* 设置别名
|
|
215
|
+
*
|
|
216
|
+
* 别名用于定向推送;实际操作结果在 `setListener` 的 eventName `onAliasOperatorResult` 中异步返回。
|
|
217
|
+
*
|
|
218
|
+
* @param data 别名参数(`alias` 必填)
|
|
219
|
+
* @returns 操作已发起(结果异步回传)
|
|
220
|
+
* @example
|
|
221
|
+
* ``` ts
|
|
222
|
+
* await jpush.setAlias({ alias: 'user_1234' });
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
setAlias(data: YmxJiguang.AliasData): Promise<YmxJiguang.AliasResult>;
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* 删除别名
|
|
229
|
+
*
|
|
230
|
+
* 删除当前绑定的别名;实际操作结果在 `setListener` 的 eventName `onAliasOperatorResult` 中异步返回。
|
|
231
|
+
*
|
|
232
|
+
* @returns 操作已发起(结果异步回传)
|
|
233
|
+
* @example
|
|
234
|
+
* ``` ts
|
|
235
|
+
* await jpush.deleteAlias();
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
deleteAlias(): Promise<YmxJiguang.AliasResult>;
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* 获取当前绑定的别名
|
|
242
|
+
*
|
|
243
|
+
* 实际结果在 `setListener` 的 eventName `onAliasOperatorResult` 中异步返回,本方法 Promise 返回该结果。
|
|
244
|
+
*
|
|
245
|
+
* @returns 当前别名
|
|
246
|
+
* @example
|
|
247
|
+
* ``` ts
|
|
248
|
+
* const res = await jpush.getAlias();
|
|
249
|
+
* console.log(res.alias);
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
getAlias(): Promise<YmxJiguang.AliasResult>;
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* 设置标签(覆盖式)
|
|
256
|
+
*
|
|
257
|
+
* 覆盖设置当前绑定的标签;实际操作结果在 `setListener` 的 eventName `onTagOperatorResult` 中异步返回。
|
|
258
|
+
*
|
|
259
|
+
* @param data 标签参数(`tags` 必填)
|
|
260
|
+
* @returns 操作已发起(结果异步回传)
|
|
261
|
+
* @example
|
|
262
|
+
* ``` ts
|
|
263
|
+
* await jpush.setTags({ tags: ['tag1', 'tag2'] });
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
setTags(data: YmxJiguang.TagsData): Promise<YmxJiguang.TagsResult>;
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* 新增标签
|
|
270
|
+
*
|
|
271
|
+
* 追加绑定标签;实际操作结果在 `setListener` 的 eventName `onTagOperatorResult` 中异步返回。
|
|
272
|
+
*
|
|
273
|
+
* @param data 标签参数(`tags` 必填)
|
|
274
|
+
* @returns 操作已发起(结果异步回传)
|
|
275
|
+
* @example
|
|
276
|
+
* ``` ts
|
|
277
|
+
* await jpush.addTags({ tags: ['tag3'] });
|
|
278
|
+
* ```
|
|
279
|
+
*/
|
|
280
|
+
addTags(data: YmxJiguang.TagsData): Promise<YmxJiguang.TagsResult>;
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* 删除指定标签
|
|
284
|
+
*
|
|
285
|
+
* 删除指定标签;实际操作结果在 `setListener` 的 eventName `onTagOperatorResult` 中异步返回。
|
|
286
|
+
*
|
|
287
|
+
* @param data 标签参数(`tags` 必填)
|
|
288
|
+
* @returns 操作已发起(结果异步回传)
|
|
289
|
+
* @example
|
|
290
|
+
* ``` ts
|
|
291
|
+
* await jpush.deleteTags({ tags: ['tag1'] });
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
deleteTags(data: YmxJiguang.TagsData): Promise<YmxJiguang.TagsResult>;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* 清空所有标签
|
|
298
|
+
*
|
|
299
|
+
* 清空当前绑定的全部标签;实际操作结果在 `setListener` 的 eventName `onTagOperatorResult` 中异步返回。
|
|
300
|
+
*
|
|
301
|
+
* @returns 操作已发起(结果异步回传)
|
|
302
|
+
* @example
|
|
303
|
+
* ``` ts
|
|
304
|
+
* await jpush.cleanTags();
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
cleanTags(): Promise<YmxJiguang.TagsResult>;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* 获取当前绑定的所有标签
|
|
311
|
+
*
|
|
312
|
+
* 实际结果在 `setListener` 的 eventName `onTagOperatorResult` 中异步返回,本方法 Promise 返回该结果。
|
|
313
|
+
*
|
|
314
|
+
* @returns 当前标签数组
|
|
315
|
+
* @example
|
|
316
|
+
* ``` ts
|
|
317
|
+
* const res = await jpush.getAllTags();
|
|
318
|
+
* console.log(res.tags);
|
|
319
|
+
* ```
|
|
320
|
+
*/
|
|
321
|
+
getAllTags(): Promise<YmxJiguang.TagsResult>;
|
|
322
|
+
}
|