@docoi/mys-sdk 1.0.2 → 1.1.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.
@@ -0,0 +1,732 @@
1
+ import { NavigationCall } from '../../types';
2
+ /** openScheme 只接受这个协议,避免把 javascript: 等任意地址交给 location.href */
3
+ export declare const DAOKE_SCHEME = "daoke://";
4
+ /** 协议字段 */
5
+ export interface FieldDef {
6
+ /** 协议字段名 */
7
+ key: string;
8
+ /** 是否必传 */
9
+ required?: boolean;
10
+ /** 枚举:语义值 → 协议值 */
11
+ enum?: Record<string, string>;
12
+ /** 布尔值,编码为 'true' / 'false' */
13
+ bool?: boolean;
14
+ }
15
+ interface RouteMeta {
16
+ /** daoke:// type */
17
+ type: number;
18
+ /** 页面名称 */
19
+ name: string;
20
+ /** daoke 链接起始版本 */
21
+ since?: string;
22
+ }
23
+ /** 运行时使用的宽松类型 */
24
+ export type RouteDef = RouteMeta & {
25
+ fields: Record<string, FieldDef>;
26
+ };
27
+ /** navigateTo 页面 */
28
+ export declare const PAGE_ROUTES: {
29
+ joinCirclePage: {
30
+ type: number;
31
+ name: string;
32
+ since: string;
33
+ fields: {
34
+ serverId: {
35
+ key: string;
36
+ required: true;
37
+ };
38
+ inviteCode: {
39
+ key: string;
40
+ required: true;
41
+ };
42
+ };
43
+ };
44
+ dynamicDetailPage: {
45
+ type: number;
46
+ name: string;
47
+ fields: {
48
+ dynamicId: {
49
+ key: string;
50
+ required: true;
51
+ };
52
+ commentId: {
53
+ key: string;
54
+ };
55
+ };
56
+ };
57
+ circleHomePage: {
58
+ type: number;
59
+ name: string;
60
+ fields: {
61
+ serverId: {
62
+ key: string;
63
+ required: true;
64
+ };
65
+ action: {
66
+ key: string;
67
+ enum: {
68
+ publish: string;
69
+ };
70
+ };
71
+ relationType: {
72
+ key: string;
73
+ enum: {
74
+ apprentice: string;
75
+ graduate: string;
76
+ intimacyShare: string;
77
+ takeApprentice: string;
78
+ };
79
+ };
80
+ imageUrl: {
81
+ key: string;
82
+ };
83
+ };
84
+ };
85
+ topicPage: {
86
+ type: number;
87
+ name: string;
88
+ fields: {
89
+ topicId: {
90
+ key: string;
91
+ required: true;
92
+ };
93
+ };
94
+ };
95
+ guideCatalogPage: {
96
+ type: number;
97
+ name: string;
98
+ fields: {
99
+ serverId: {
100
+ key: string;
101
+ required: true;
102
+ };
103
+ channelId: {
104
+ key: string;
105
+ required: true;
106
+ };
107
+ catalogId: {
108
+ key: string;
109
+ required: true;
110
+ };
111
+ };
112
+ };
113
+ userHomePage: {
114
+ type: number;
115
+ name: string;
116
+ fields: {
117
+ userId: {
118
+ key: string;
119
+ required: true;
120
+ };
121
+ giftId: {
122
+ key: string;
123
+ };
124
+ };
125
+ };
126
+ groupChatPage: {
127
+ type: number;
128
+ name: string;
129
+ fields: {
130
+ serverId: {
131
+ key: string;
132
+ required: true;
133
+ };
134
+ groupId: {
135
+ key: string;
136
+ required: true;
137
+ };
138
+ groupName: {
139
+ key: string;
140
+ };
141
+ };
142
+ };
143
+ joinGroupPage: {
144
+ type: number;
145
+ name: string;
146
+ fields: {
147
+ inviteCode: {
148
+ key: string;
149
+ required: true;
150
+ };
151
+ };
152
+ };
153
+ homePage: {
154
+ type: number;
155
+ name: string;
156
+ fields: {
157
+ tab: {
158
+ key: string;
159
+ enum: {
160
+ official: string;
161
+ community: string;
162
+ };
163
+ };
164
+ serverId: {
165
+ key: string;
166
+ };
167
+ channelId: {
168
+ key: string;
169
+ };
170
+ };
171
+ };
172
+ coinRechargePage: {
173
+ type: number;
174
+ name: string;
175
+ fields: {};
176
+ };
177
+ myPublishPage: {
178
+ type: number;
179
+ name: string;
180
+ fields: {};
181
+ };
182
+ gamePushSettingPage: {
183
+ type: number;
184
+ name: string;
185
+ fields: {
186
+ serverId: {
187
+ key: string;
188
+ required: true;
189
+ };
190
+ };
191
+ };
192
+ myFavoritePage: {
193
+ type: number;
194
+ name: string;
195
+ since: string;
196
+ fields: {};
197
+ };
198
+ douyinMallPage: {
199
+ type: number;
200
+ name: string;
201
+ since: string;
202
+ fields: {};
203
+ };
204
+ activityCenterPage: {
205
+ type: number;
206
+ name: string;
207
+ since: string;
208
+ fields: {
209
+ tab: {
210
+ key: string;
211
+ enum: {
212
+ welfare: string;
213
+ activity: string;
214
+ };
215
+ };
216
+ };
217
+ };
218
+ gameSubscribePage: {
219
+ type: number;
220
+ name: string;
221
+ since: string;
222
+ fields: {};
223
+ };
224
+ privateChatPage: {
225
+ type: number;
226
+ name: string;
227
+ since: string;
228
+ fields: {
229
+ userId: {
230
+ key: string;
231
+ required: true;
232
+ };
233
+ nickName: {
234
+ key: string;
235
+ required: true;
236
+ };
237
+ };
238
+ };
239
+ browseHistoryPage: {
240
+ type: number;
241
+ name: string;
242
+ since: string;
243
+ fields: {};
244
+ };
245
+ profileEditPage: {
246
+ type: number;
247
+ name: string;
248
+ since: string;
249
+ fields: {};
250
+ };
251
+ likeListPage: {
252
+ type: number;
253
+ name: string;
254
+ since: string;
255
+ fields: {
256
+ dynamicId: {
257
+ key: string;
258
+ required: true;
259
+ };
260
+ publishType: {
261
+ key: string;
262
+ required: true;
263
+ };
264
+ };
265
+ };
266
+ adPage: {
267
+ type: number;
268
+ name: string;
269
+ since: string;
270
+ fields: {
271
+ url: {
272
+ key: string;
273
+ required: true;
274
+ };
275
+ };
276
+ };
277
+ coinDetailPage: {
278
+ type: number;
279
+ name: string;
280
+ fields: {};
281
+ };
282
+ miniGamesPage: {
283
+ type: number;
284
+ name: string;
285
+ fields: {};
286
+ };
287
+ bindGamePage: {
288
+ type: number;
289
+ name: string;
290
+ since: string;
291
+ fields: {
292
+ serverId: {
293
+ key: string;
294
+ required: true;
295
+ };
296
+ gameName: {
297
+ key: string;
298
+ required: true;
299
+ };
300
+ };
301
+ };
302
+ playerReportPage: {
303
+ type: number;
304
+ name: string;
305
+ since: string;
306
+ fields: {
307
+ objectId: {
308
+ key: string;
309
+ required: true;
310
+ };
311
+ objectType: {
312
+ key: string;
313
+ required: true;
314
+ enum: {
315
+ user: string;
316
+ circle: string;
317
+ comment: string;
318
+ trends: string;
319
+ message: string;
320
+ };
321
+ };
322
+ conversationId: {
323
+ key: string;
324
+ };
325
+ serverId: {
326
+ key: string;
327
+ };
328
+ };
329
+ };
330
+ addCustomEmojiPage: {
331
+ type: number;
332
+ name: string;
333
+ since: string;
334
+ fields: {};
335
+ };
336
+ };
337
+ /** navigateTo 页面 + switchTab / openWebview 的路由,key 为语义名 */
338
+ export declare const ROUTES: {
339
+ tab: {
340
+ type: number;
341
+ name: string;
342
+ since: string;
343
+ fields: {
344
+ tab: {
345
+ key: string;
346
+ required: true;
347
+ enum: {
348
+ home: string;
349
+ discover: string;
350
+ message: string;
351
+ mine: string;
352
+ };
353
+ };
354
+ subTab: {
355
+ key: string;
356
+ enum: {
357
+ friends: string;
358
+ square: string;
359
+ comic: string;
360
+ };
361
+ };
362
+ fromMbtiShare: {
363
+ key: string;
364
+ bool: true;
365
+ };
366
+ };
367
+ };
368
+ webview: {
369
+ type: number;
370
+ name: string;
371
+ fields: {
372
+ url: {
373
+ key: string;
374
+ required: true;
375
+ };
376
+ type: {
377
+ key: string;
378
+ required: true;
379
+ enum: {
380
+ normal: string;
381
+ mini: string;
382
+ dynamic: string;
383
+ immersive: string;
384
+ };
385
+ };
386
+ isUpdateApp: {
387
+ key: string;
388
+ bool: true;
389
+ };
390
+ };
391
+ };
392
+ transparentWebview: {
393
+ type: number;
394
+ name: string;
395
+ since: string;
396
+ fields: {
397
+ url: {
398
+ key: string;
399
+ required: true;
400
+ };
401
+ };
402
+ };
403
+ joinCirclePage: {
404
+ type: number;
405
+ name: string;
406
+ since: string;
407
+ fields: {
408
+ serverId: {
409
+ key: string;
410
+ required: true;
411
+ };
412
+ inviteCode: {
413
+ key: string;
414
+ required: true;
415
+ };
416
+ };
417
+ };
418
+ dynamicDetailPage: {
419
+ type: number;
420
+ name: string;
421
+ fields: {
422
+ dynamicId: {
423
+ key: string;
424
+ required: true;
425
+ };
426
+ commentId: {
427
+ key: string;
428
+ };
429
+ };
430
+ };
431
+ circleHomePage: {
432
+ type: number;
433
+ name: string;
434
+ fields: {
435
+ serverId: {
436
+ key: string;
437
+ required: true;
438
+ };
439
+ action: {
440
+ key: string;
441
+ enum: {
442
+ publish: string;
443
+ };
444
+ };
445
+ relationType: {
446
+ key: string;
447
+ enum: {
448
+ apprentice: string;
449
+ graduate: string;
450
+ intimacyShare: string;
451
+ takeApprentice: string;
452
+ };
453
+ };
454
+ imageUrl: {
455
+ key: string;
456
+ };
457
+ };
458
+ };
459
+ topicPage: {
460
+ type: number;
461
+ name: string;
462
+ fields: {
463
+ topicId: {
464
+ key: string;
465
+ required: true;
466
+ };
467
+ };
468
+ };
469
+ guideCatalogPage: {
470
+ type: number;
471
+ name: string;
472
+ fields: {
473
+ serverId: {
474
+ key: string;
475
+ required: true;
476
+ };
477
+ channelId: {
478
+ key: string;
479
+ required: true;
480
+ };
481
+ catalogId: {
482
+ key: string;
483
+ required: true;
484
+ };
485
+ };
486
+ };
487
+ userHomePage: {
488
+ type: number;
489
+ name: string;
490
+ fields: {
491
+ userId: {
492
+ key: string;
493
+ required: true;
494
+ };
495
+ giftId: {
496
+ key: string;
497
+ };
498
+ };
499
+ };
500
+ groupChatPage: {
501
+ type: number;
502
+ name: string;
503
+ fields: {
504
+ serverId: {
505
+ key: string;
506
+ required: true;
507
+ };
508
+ groupId: {
509
+ key: string;
510
+ required: true;
511
+ };
512
+ groupName: {
513
+ key: string;
514
+ };
515
+ };
516
+ };
517
+ joinGroupPage: {
518
+ type: number;
519
+ name: string;
520
+ fields: {
521
+ inviteCode: {
522
+ key: string;
523
+ required: true;
524
+ };
525
+ };
526
+ };
527
+ homePage: {
528
+ type: number;
529
+ name: string;
530
+ fields: {
531
+ tab: {
532
+ key: string;
533
+ enum: {
534
+ official: string;
535
+ community: string;
536
+ };
537
+ };
538
+ serverId: {
539
+ key: string;
540
+ };
541
+ channelId: {
542
+ key: string;
543
+ };
544
+ };
545
+ };
546
+ coinRechargePage: {
547
+ type: number;
548
+ name: string;
549
+ fields: {};
550
+ };
551
+ myPublishPage: {
552
+ type: number;
553
+ name: string;
554
+ fields: {};
555
+ };
556
+ gamePushSettingPage: {
557
+ type: number;
558
+ name: string;
559
+ fields: {
560
+ serverId: {
561
+ key: string;
562
+ required: true;
563
+ };
564
+ };
565
+ };
566
+ myFavoritePage: {
567
+ type: number;
568
+ name: string;
569
+ since: string;
570
+ fields: {};
571
+ };
572
+ douyinMallPage: {
573
+ type: number;
574
+ name: string;
575
+ since: string;
576
+ fields: {};
577
+ };
578
+ activityCenterPage: {
579
+ type: number;
580
+ name: string;
581
+ since: string;
582
+ fields: {
583
+ tab: {
584
+ key: string;
585
+ enum: {
586
+ welfare: string;
587
+ activity: string;
588
+ };
589
+ };
590
+ };
591
+ };
592
+ gameSubscribePage: {
593
+ type: number;
594
+ name: string;
595
+ since: string;
596
+ fields: {};
597
+ };
598
+ privateChatPage: {
599
+ type: number;
600
+ name: string;
601
+ since: string;
602
+ fields: {
603
+ userId: {
604
+ key: string;
605
+ required: true;
606
+ };
607
+ nickName: {
608
+ key: string;
609
+ required: true;
610
+ };
611
+ };
612
+ };
613
+ browseHistoryPage: {
614
+ type: number;
615
+ name: string;
616
+ since: string;
617
+ fields: {};
618
+ };
619
+ profileEditPage: {
620
+ type: number;
621
+ name: string;
622
+ since: string;
623
+ fields: {};
624
+ };
625
+ likeListPage: {
626
+ type: number;
627
+ name: string;
628
+ since: string;
629
+ fields: {
630
+ dynamicId: {
631
+ key: string;
632
+ required: true;
633
+ };
634
+ publishType: {
635
+ key: string;
636
+ required: true;
637
+ };
638
+ };
639
+ };
640
+ adPage: {
641
+ type: number;
642
+ name: string;
643
+ since: string;
644
+ fields: {
645
+ url: {
646
+ key: string;
647
+ required: true;
648
+ };
649
+ };
650
+ };
651
+ coinDetailPage: {
652
+ type: number;
653
+ name: string;
654
+ fields: {};
655
+ };
656
+ miniGamesPage: {
657
+ type: number;
658
+ name: string;
659
+ fields: {};
660
+ };
661
+ bindGamePage: {
662
+ type: number;
663
+ name: string;
664
+ since: string;
665
+ fields: {
666
+ serverId: {
667
+ key: string;
668
+ required: true;
669
+ };
670
+ gameName: {
671
+ key: string;
672
+ required: true;
673
+ };
674
+ };
675
+ };
676
+ playerReportPage: {
677
+ type: number;
678
+ name: string;
679
+ since: string;
680
+ fields: {
681
+ objectId: {
682
+ key: string;
683
+ required: true;
684
+ };
685
+ objectType: {
686
+ key: string;
687
+ required: true;
688
+ enum: {
689
+ user: string;
690
+ circle: string;
691
+ comment: string;
692
+ trends: string;
693
+ message: string;
694
+ };
695
+ };
696
+ conversationId: {
697
+ key: string;
698
+ };
699
+ serverId: {
700
+ key: string;
701
+ };
702
+ };
703
+ };
704
+ addCustomEmojiPage: {
705
+ type: number;
706
+ name: string;
707
+ since: string;
708
+ fields: {};
709
+ };
710
+ };
711
+ export type RouteKey = keyof typeof ROUTES;
712
+ /** daoke type → 路由,未登记的 type 返回 undefined */
713
+ export declare function routeByType(type: string): {
714
+ key: RouteKey;
715
+ route: RouteDef;
716
+ } | undefined;
717
+ export type Query = Record<string, string>;
718
+ /** daoke 链接 */
719
+ export interface DaokeLink {
720
+ /** daoke://page?... */
721
+ url: string;
722
+ /** 协议 query,type 为数字字符串 */
723
+ query: Query;
724
+ }
725
+ /** 跳转参数校验失败,由 API 层转为 PARAMS_ERROR */
726
+ export declare class ParamError extends Error {
727
+ }
728
+ /** daoke://page?... → query,不是 daoke 链接或缺少数字 type 时返回 null */
729
+ export declare function parseLink(url: unknown): Query | null;
730
+ /** 跳转调用 → daoke 链接,参数错误抛出 ParamError */
731
+ export declare function toLink(call: NavigationCall): DaokeLink;
732
+ export {};