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