@yaoxiu/marketing-dsl 2.6.1 → 2.7.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.
- package/dist/docs/index.cjs +76 -24
- package/dist/docs/index.js +76 -24
- package/dist/index.cjs +5 -2
- package/dist/index.d.cts +16 -8
- package/dist/index.d.ts +16 -8
- package/dist/index.js +5 -2
- package/package.json +1 -1
package/dist/docs/index.cjs
CHANGED
|
@@ -327,23 +327,45 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
327
327
|
tone: "info",
|
|
328
328
|
text: "`close` \u7684 `reason` \u4F1A\u4E00\u8D77\u4F20\u7ED9\u5BBF\u4E3B\uFF0C\u5BBF\u4E3B\u636E\u6B64\u51B3\u5B9A\u540E\u7EED\u884C\u4E3A\uFF0C\u5E76\u539F\u6837\u4E0A\u62A5\u7ED9\u540E\u7AEF\u3002\u4E0D\u5199 `reason` \u9ED8\u8BA4\u662F `action`\u3002"
|
|
329
329
|
},
|
|
330
|
-
{ t: "h3", text: "\u300C\u4E0D\u518D\u63D0\
|
|
330
|
+
{ t: "h3", text: "\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\uFF1AdismissToday / dismissForever" },
|
|
331
331
|
{
|
|
332
332
|
t: "p",
|
|
333
|
-
text: "\
|
|
333
|
+
text: "\u5BBF\u4E3B\u6CE8\u518C\u4E86\u4E24\u4E2A\u73B0\u6210\u7684\u65B9\u6CD5\uFF0C\u7528 `call` \u8C03\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u65B0\u7684\u52A8\u4F5C\u7C7B\u578B\uFF1A`dismissToday`\uFF08\u4ECA\u5929\u4E4B\u5185\u4E0D\u518D\u5C55\u793A\u8FD9\u6761\u7269\u6599\uFF09\u3001`dismissForever`\uFF08\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\uFF09\u3002"
|
|
334
334
|
},
|
|
335
335
|
{
|
|
336
336
|
t: "code",
|
|
337
|
-
code:
|
|
337
|
+
code: `// \u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D\u6309\u94AE\uFF1A\u5148\u5199\u6807\u8BB0\uFF0C\u518D\u5173\u6389\u8FD9\u4E00\u5C42
|
|
338
|
+
"action": {
|
|
339
|
+
"type": "sequence",
|
|
340
|
+
"actions": [
|
|
341
|
+
{ "type": "call", "name": "dismissToday" },
|
|
342
|
+
{ "type": "close", "reason": "dismiss-today" }
|
|
343
|
+
]
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// \u300C\u4E0D\u518D\u63D0\u793A\u300D\u6309\u94AE\uFF1A\u540C\u6837\u4E24\u6B65
|
|
347
|
+
"action": {
|
|
348
|
+
"type": "sequence",
|
|
349
|
+
"actions": [
|
|
350
|
+
{ "type": "call", "name": "dismissForever" },
|
|
351
|
+
{ "type": "close", "reason": "dismiss-forever" }
|
|
352
|
+
]
|
|
353
|
+
}`
|
|
338
354
|
},
|
|
339
355
|
{
|
|
340
|
-
t: "
|
|
341
|
-
|
|
356
|
+
t: "note",
|
|
357
|
+
tone: "warn",
|
|
358
|
+
text: "**\u6807\u8BB0\u548C\u5173\u95ED\u662F\u4E24\u56DE\u4E8B\uFF0C`close` \u5FC5\u987B\u81EA\u5DF1\u914D\u3002** \u8FD9\u4E24\u4E2A\u65B9\u6CD5\u53EA\u5199\u4E00\u6761\u300C\u4EE5\u540E\u522B\u518D\u5C55\u793A\u300D\u7684\u8BB0\u5F55\uFF0C\u4E0D\u4F1A\u987A\u624B\u628A\u5F53\u524D\u8FD9\u5C42\u5173\u6389\u2014\u2014\u7559\u51FA\u300C\u5148\u52FE\u4E00\u4E2A\u590D\u9009\u6846\u3001\u7A0D\u540E\u518D\u70B9\u5173\u95ED\u300D\u8FD9\u7C7B\u4EA4\u4E92\u7684\u4F59\u5730\u3002\u53EA\u5199 `call` \u4E0D\u5199 `close`\uFF0C\u7528\u6237\u70B9\u5B8C\u6309\u94AE\u5F39\u7A97\u8FD8\u6775\u5728\u90A3\u513F\u3002"
|
|
342
359
|
},
|
|
343
360
|
{
|
|
344
361
|
t: "note",
|
|
345
362
|
tone: "warn",
|
|
346
|
-
text: "**\
|
|
363
|
+
text: "**\u8BB0\u5F55\u5B58\u5728\u7528\u6237\u6D4F\u89C8\u5668\u672C\u5730\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\u3002** \u540C\u4E00\u53F0\u7535\u8111\u6362\u4E2A\u8D26\u53F7\u767B\u5F55\u4E92\u4E0D\u5F71\u54CD\uFF0C\u4F46**\u6362\u8BBE\u5907\u3001\u6362\u6D4F\u89C8\u5668\u3001\u6E05\u7F13\u5B58\u5C31\u5931\u6548**\u2014\u2014\u5B83\u662F\u300C\u5C11\u70E6\u6211\u4E00\u4E0B\u300D\u7684\u4F53\u9A8C\u4F18\u5316\uFF0C\u4E0D\u662F\u300C\u540E\u7AEF\u6C38\u4E45\u538B\u5236\u8FD9\u6761\u6295\u653E\u300D\u7684\u51ED\u636E\u3002\u771F\u6B63\u7684\u957F\u671F\u9891\u63A7\u4ECD\u7531\u540E\u7AEF\u7B97\u3002"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
t: "note",
|
|
367
|
+
tone: "info",
|
|
368
|
+
text: "`close` \u7684 `reason` \u7167\u65E7\u8981\u5199\uFF1A\u5173\u95ED\u4E8B\u4EF6\u4ECD\u4F1A\u539F\u6837\u4E0A\u62A5\u7ED9\u540E\u7AEF\uFF0C`reason` \u662F\u540E\u7AEF\u552F\u4E00\u80FD\u770B\u5230\u7684\u300C\u7528\u6237\u4E3A\u4EC0\u4E48\u5173\u300D\u3002\u8FD9\u4E2A\u4FE1\u606F\u8D70 `close` \u7684 `reason`\uFF0C\u4E0D\u8D70 `extra`\u2014\u2014`extra` \u53EA\u5C5E\u4E8E `click`\u3002"
|
|
347
369
|
},
|
|
348
370
|
{ t: "h3", text: "call \u7684\u9002\u7528\u8FB9\u754C" },
|
|
349
371
|
{
|
|
@@ -355,15 +377,15 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
355
377
|
head: ["\u2705 \u8BE5\u7528 call", "\u274C \u4E0D\u8BE5\u7528 call"],
|
|
356
378
|
rows: [
|
|
357
379
|
[
|
|
358
|
-
"\u5524\u8D77\u5145\u503C\u5F39\u7A97\u3001\u6253\u5F00\u5BA2\u670D\u4F1A\u8BDD\u3001\u590D\u5236\u5230\u526A\u8D34\u677F\u3001\u8DF3\u8F6C\u5E94\u7528\u5185\u7279\u5B9A\u9875\u9762",
|
|
359
|
-
"\
|
|
380
|
+
"\u5524\u8D77\u5145\u503C\u5F39\u7A97\u3001\u6253\u5F00\u5BA2\u670D\u4F1A\u8BDD\u3001\u590D\u5236\u5230\u526A\u8D34\u677F\u3001\u8DF3\u8F6C\u5E94\u7528\u5185\u7279\u5B9A\u9875\u9762\u3001\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A / \u4E0D\u518D\u63D0\u793A\u300D\uFF08`dismissToday` / `dismissForever`\uFF09",
|
|
381
|
+
"\u8BA9\u5BBF\u4E3B\u505A\u4E00\u4EF6\u5B83\u6CA1\u6CE8\u518C\u8FC7\u7684\u4E8B"
|
|
360
382
|
]
|
|
361
383
|
]
|
|
362
384
|
},
|
|
363
385
|
{
|
|
364
386
|
t: "note",
|
|
365
387
|
tone: "info",
|
|
366
|
-
text: "\
|
|
388
|
+
text: "`call` \u53EA\u80FD\u8C03**\u4E0A\u9762\u6E05\u5355\u91CC\u5DF2\u6CE8\u518C**\u7684\u65B9\u6CD5\u540D\uFF0C\u540D\u5B57\u662F\u5BBF\u4E3B\u4E0E\u8FD0\u8425\u4E4B\u95F4\u7684\u5951\u7EA6\uFF0C\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\uFF0C\u90A3\u4E00\u6B65\u4F1A\u9759\u9ED8\u5931\u6548\uFF08\u7269\u6599\u7167\u5E38\u663E\u793A\uFF0C\u6309\u94AE\u70B9\u4E86\u6CA1\u53CD\u5E94\uFF09\u3002\u6240\u4EE5\u81EA\u5DF1\u53D1\u660E\u4E00\u4E2A\u540D\u5B57\u53BB\u300C\u8BB0\u4E00\u7B14\u8D26\u300D\u662F\u884C\u4E0D\u901A\u7684\u2014\u2014\u672C\u5730\u8BB0\u8D26\u7528\u73B0\u6210\u7684 `dismissToday` / `dismissForever`\uFF0C\u9700\u8981\u540E\u7AEF\u77E5\u9053\u7684\u4E8B\u4E00\u5F8B\u8D70\u4E0A\u62A5\uFF08`close` \u7684 `reason`\uFF0C\u6216 `track`\uFF09\u3002"
|
|
367
389
|
},
|
|
368
390
|
{ t: "h3", text: "\u66DD\u5149\u548C\u5173\u95ED\u4E5F\u8981\u57CB\u70B9\uFF1Astage.onShow / stage.onClose" },
|
|
369
391
|
{
|
|
@@ -427,7 +449,7 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
427
449
|
{
|
|
428
450
|
t: "note",
|
|
429
451
|
tone: "info",
|
|
430
|
-
text: '`close` \u53EA\u662F\u901A\u77E5\u5BBF\u4E3B\u300C\u7528\u6237\u5173\u6389\u4E86\u300D\uFF0C**\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u7531\u5BBF\u4E3B\u51B3\u5B9A**\uFF1B\
|
|
452
|
+
text: '`close` \u53EA\u662F\u901A\u77E5\u5BBF\u4E3B\u300C\u7528\u6237\u5173\u6389\u4E86\u300D\uFF0C**\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u7531\u5BBF\u4E3B\u51B3\u5B9A**\uFF1B`reason` \u4F1A\u539F\u6837\u4E0A\u62A5\uFF0C\u540E\u7AEF\u636E\u6B64\u5224\u65AD\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\u3002\u60F3\u5728\u524D\u7AEF\u4E5F\u7ACB\u523B\u751F\u6548\uFF08\u4ECA\u5929\u4E4B\u5185 / \u6C38\u4E45\u4E0D\u518D\u51FA\u73B0\uFF09\uFF0C\u5728 `close` \u4E4B\u524D\u518D\u52A0\u4E00\u6761 `{ "type": "call", "name": "dismissToday" }`\uFF08\u6216 `dismissForever`\uFF09\uFF0C\u89C1\u4E0A\u4E00\u8282\u3002'
|
|
431
453
|
},
|
|
432
454
|
{
|
|
433
455
|
t: "note",
|
|
@@ -2884,7 +2906,8 @@ var noticeToPopup = {
|
|
|
2884
2906
|
fontSize: 13,
|
|
2885
2907
|
cursor: "pointer"
|
|
2886
2908
|
},
|
|
2887
|
-
|
|
2909
|
+
// 公告条行末的关闭只管「这一次」,不写本地标记
|
|
2910
|
+
action: { type: "close", reason: "user-close" }
|
|
2888
2911
|
}
|
|
2889
2912
|
]
|
|
2890
2913
|
}
|
|
@@ -3251,12 +3274,14 @@ var confirmAndSwitch = {
|
|
|
3251
3274
|
cursor: "pointer"
|
|
3252
3275
|
},
|
|
3253
3276
|
// 确认后整个关掉,两层一起消失。
|
|
3254
|
-
//
|
|
3277
|
+
// 标记写在这一步而不是上一层的「不再提醒」按钮上:
|
|
3278
|
+
// 那个按钮只是打开二次确认,用户还可能反悔,真正的意图在这里才确定
|
|
3255
3279
|
action: {
|
|
3256
3280
|
type: "sequence",
|
|
3257
3281
|
actions: [
|
|
3258
3282
|
{ type: "track", event: "popup_never_remind_confirm" },
|
|
3259
|
-
{ type: "
|
|
3283
|
+
{ type: "call", name: "dismissForever" },
|
|
3284
|
+
{ type: "closeAll", reason: "dismiss-forever" }
|
|
3260
3285
|
]
|
|
3261
3286
|
},
|
|
3262
3287
|
children: [
|
|
@@ -3592,8 +3617,15 @@ var imageBanner = {
|
|
|
3592
3617
|
fontSize: 12,
|
|
3593
3618
|
cursor: "pointer"
|
|
3594
3619
|
},
|
|
3595
|
-
//
|
|
3596
|
-
|
|
3620
|
+
// 「不再提醒」两步走:先调宿主的 dismissForever 写本地标记(前端立刻不再展示),
|
|
3621
|
+
// 再 close 关掉;reason 照旧上报给后端,那是后端唯一看得到的「为什么关」
|
|
3622
|
+
action: {
|
|
3623
|
+
type: "sequence",
|
|
3624
|
+
actions: [
|
|
3625
|
+
{ type: "call", name: "dismissForever" },
|
|
3626
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
3627
|
+
]
|
|
3628
|
+
}
|
|
3597
3629
|
}
|
|
3598
3630
|
]
|
|
3599
3631
|
}
|
|
@@ -3701,8 +3733,15 @@ function createDrawerBanner(options) {
|
|
|
3701
3733
|
fontSize: 9,
|
|
3702
3734
|
cursor: "pointer"
|
|
3703
3735
|
},
|
|
3704
|
-
//
|
|
3705
|
-
|
|
3736
|
+
// 「不再提醒」两步走:dismissForever 写本地标记 + close 关掉,缺一不可
|
|
3737
|
+
// (这两个方法只写标记、不关闭)
|
|
3738
|
+
action: {
|
|
3739
|
+
type: "sequence",
|
|
3740
|
+
actions: [
|
|
3741
|
+
{ type: "call", name: "dismissForever" },
|
|
3742
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
3743
|
+
]
|
|
3744
|
+
}
|
|
3706
3745
|
}
|
|
3707
3746
|
]
|
|
3708
3747
|
};
|
|
@@ -5411,10 +5450,17 @@ var imageHotspot = {
|
|
|
5411
5450
|
id: "hotspot-never",
|
|
5412
5451
|
type: "box",
|
|
5413
5452
|
// 最底部「不再提醒」,动作是关弹窗而不是跳转。
|
|
5414
|
-
//
|
|
5453
|
+
// dismissForever 写本地标记让它前端立刻不再出现,close 才是真正关掉这一层;
|
|
5454
|
+
// reason 一并上报,后端据此决定以后还下不下发
|
|
5415
5455
|
rect: ["30%", 478, "40%", 26],
|
|
5416
5456
|
style: { radius: 13, background: HOTSPOT_BG, cursor: "pointer" },
|
|
5417
|
-
action: {
|
|
5457
|
+
action: {
|
|
5458
|
+
type: "sequence",
|
|
5459
|
+
actions: [
|
|
5460
|
+
{ type: "call", name: "dismissForever" },
|
|
5461
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
5462
|
+
]
|
|
5463
|
+
}
|
|
5418
5464
|
}
|
|
5419
5465
|
]
|
|
5420
5466
|
};
|
|
@@ -5494,7 +5540,9 @@ var noticeBar = {
|
|
|
5494
5540
|
type: "sequence",
|
|
5495
5541
|
actions: [
|
|
5496
5542
|
{ type: "track", event: "notice_close", params: { notice: "guide" } },
|
|
5497
|
-
|
|
5543
|
+
// 行末的 × 只是「这次关掉」,不写本地标记:下次进页面它还该出现。
|
|
5544
|
+
// 要「以后别再出现」得另放一个按钮,配 dismissForever(见 action 章节)
|
|
5545
|
+
{ type: "close", reason: "user-close" }
|
|
5498
5546
|
]
|
|
5499
5547
|
}
|
|
5500
5548
|
}
|
|
@@ -5729,7 +5777,8 @@ function checklistSection() {
|
|
|
5729
5777
|
\u6709\u4E00\u4E2A\u4E0D\u5408\u89C4\uFF0C\u6574\u4EFD\u914D\u7F6E\u5C31\u5B58\u4E0D\u4E0A
|
|
5730
5778
|
- [ ] \u6BCF\u4E2A\u89C6\u56FE\u7684 \`stage\` \u90FD\u6709 \`onShow\` \u66DD\u5149\u57CB\u70B9\u548C \`onClose\` \u5173\u95ED\u57CB\u70B9\uFF0C\`onClose\` \u7684 params \u91CC\u5E26\u4E0A \`"reason": "{{ closeReason }}"\`
|
|
5731
5779
|
- [ ] \u5173\u95ED\u6309\u94AE\u6CA1\u6709\u591A\u4F59\u7684 \`icon\`\uFF08\u9ED8\u8BA4\u7684\u5185\u7F6E\u77E2\u91CF\u56FE\u6807\u5C31\u662F\u5BF9\u7684\uFF09
|
|
5732
|
-
- [ ] \
|
|
5780
|
+
- [ ] \u6BCF\u4E2A \`call\` \u7684 \`name\` \u90FD\u662F\u5BBF\u4E3B\u5DF2\u6CE8\u518C\u7684\u65B9\u6CD5\uFF08\u5F53\u524D\u53EA\u6709 \`dismissToday\` / \`dismissForever\`\uFF09\uFF0C\u6CA1\u6709\u81EA\u5DF1\u53D1\u660E\u7684\u540D\u5B57\u2014\u2014\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\u90A3\u4E00\u6B65\u9759\u9ED8\u5931\u6548
|
|
5781
|
+
- [ ] \u914D\u4E86\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\u7684\u8BDD\uFF1A\`call\` \u540E\u9762**\u8DDF\u7740 \`close\`**\uFF08\u8FD9\u4E24\u4E2A\u65B9\u6CD5\u53EA\u5199\u6807\u8BB0\u3001\u4E0D\u5173\u95ED\uFF0C\u6F0F\u4E86 \`close\` \u7528\u6237\u70B9\u5B8C\u5F39\u7A97\u8FD8\u5728\uFF09\uFF0C\u4E14 \`close\` \u5E26\u4E0A \`reason\`
|
|
5733
5782
|
- [ ] \u6BCF\u4E2A \`animate.name\` \u90FD\u80FD\u5728\u9876\u5C42 \`keyframes\` \u91CC\u627E\u5230\uFF1B\`easing\` \u5728\u767D\u540D\u5355\u91CC\uFF1B\u6CA1\u6709\u5B9A\u4E49\u4E86\u5374\u6CA1\u4EBA\u5F15\u7528\u7684\u5173\u952E\u5E27
|
|
5734
5783
|
- [ ] \u88C5\u9970\u6027\u56FE\u5C42\uFF08\u5149\u6655\u3001\u626B\u5149\u3001\u5149\u70B9\uFF09\u90FD\u5199\u4E86 \`"pointerEvents": "none"\`
|
|
5735
5784
|
- [ ] \u8F93\u51FA\u7684\u662F\u5408\u6CD5 JSON\uFF08\u6CA1\u6709\u591A\u4F59\u9017\u53F7\u3001\u6CA1\u6709\u6CE8\u91CA\uFF09`;
|
|
@@ -5769,8 +5818,11 @@ function actionSection() {
|
|
|
5769
5818
|
- \`setState\`\uFF1A\`{ "type": "setState", "key": "period", "value": "{{ index }}" }\` \u505A\u9009\u4E2D\u5207\u6362
|
|
5770
5819
|
- \`close\`\uFF1A\u5173\u6389\u5F53\u524D\u8FD9\u4E00\u5C42\uFF08\u53EA\u6709\u4E00\u5C42\u65F6\u5C31\u662F\u6574\u4F53\u5173\u95ED\uFF09\u3002\u6CE8\u610F\u5B83\u53EA\u662F**\u901A\u77E5\u5BBF\u4E3B\u9875\u9762**\u300C\u7528\u6237\u60F3\u5173\u4E86\u300D\uFF0C\u7531\u5BBF\u4E3B\u51B3\u5B9A\u5173\u4E0D\u5173\uFF1B\u591A\u89C6\u56FE\u65F6\u5173\u5185\u5C42\u4E0D\u4F1A\u901A\u77E5\u5BBF\u4E3B\uFF0C\u53EA\u662F\u56DE\u5230\u4E0B\u9762\u90A3\u5C42
|
|
5771
5820
|
- \`closeAll\`\uFF1A\u51E0\u5C42\u90FD\u5173\u6389\uFF0C\u4E00\u5B9A\u4F1A\u901A\u77E5\u5BBF\u4E3B
|
|
5772
|
-
- \
|
|
5773
|
-
-
|
|
5821
|
+
- \`call\`\uFF1A**\u8BA9\u5BBF\u4E3B\u53BB\u505A\u4E00\u4EF6\u5DF2\u6CE8\u518C\u7684\u4E8B**\u3002\u540D\u5B57\u53EA\u80FD\u4ECE\u5BBF\u4E3B\u6CE8\u518C\u7684\u6E05\u5355\u91CC\u9009\uFF0C\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\u90A3\u4E00\u6B65\u9759\u9ED8\u5931\u6548\uFF08\u7269\u6599\u7167\u5E38\u663E\u793A\uFF0C\u6309\u94AE\u70B9\u4E86\u6CA1\u53CD\u5E94\uFF09\uFF0C\u6240\u4EE5\u4E0D\u8981\u81EA\u5DF1\u53D1\u660E\u65B9\u6CD5\u540D
|
|
5822
|
+
- \u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\u7528\u73B0\u6210\u7684\u4E24\u4E2A\u65B9\u6CD5\uFF1A\`dismissToday\` / \`dismissForever\`\u3002**\u5B83\u4EEC\u53EA\u5199\u6807\u8BB0\u3001\u4E0D\u5173\u95ED**\uFF0C\`close\` \u5FC5\u987B\u81EA\u5DF1\u914D\u5728\u540E\u9762\uFF1A
|
|
5823
|
+
\`{ "type": "sequence", "actions": [{ "type": "call", "name": "dismissToday" }, { "type": "close", "reason": "dismiss-today" }] }\`
|
|
5824
|
+
\uFF08\u6C38\u4E45\u7248\u628A\u4E24\u5904\u5206\u522B\u6362\u6210 \`dismissForever\` \u548C \`"dismiss-forever"\`\uFF09
|
|
5825
|
+
- \u8FD9\u4E24\u4E2A\u65B9\u6CD5\u7684\u8BB0\u5F55**\u5B58\u5728\u7528\u6237\u6D4F\u89C8\u5668\u672C\u5730\u3001\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB**\uFF0C\u6362\u8BBE\u5907 / \u6E05\u7F13\u5B58\u5C31\u5931\u6548\u2014\u2014\u662F\u300C\u5C11\u70E6\u6211\u4E00\u4E0B\u300D\u7684\u4F53\u9A8C\u4F18\u5316\uFF0C\u4E0D\u662F\u540E\u7AEF\u6C38\u4E45\u538B\u5236\u8FD9\u6761\u6295\u653E\u7684\u51ED\u636E\u3002\u6240\u4EE5 \`close\` \u7684 \`reason\` \u7167\u65E7\u8981\u5199\uFF0C\u90A3\u662F\u540E\u7AEF\u552F\u4E00\u770B\u5F97\u5230\u7684\u300C\u7528\u6237\u4E3A\u4EC0\u4E48\u5173\u300D
|
|
5774
5826
|
- \`open\`\uFF1A\u6253\u5F00\u53E6\u4E00\u4E2A\u89C6\u56FE\uFF0C\u89C1\u4E0B\u4E00\u8282
|
|
5775
5827
|
- \u4EFB\u4F55\u8282\u70B9\u52A0 \`action\` \u90FD\u80FD\u70B9\u51FB
|
|
5776
5828
|
- **\u6BCF\u4E2A\u53EF\u70B9\u51FB\u5143\u7D20\u90FD\u5E94\u8BE5\u914D \`track\`**\uFF0C\u5426\u5219\u6CA1\u6709\u6570\u636E\u53EF\u770B
|
|
@@ -5839,7 +5891,7 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6
|
|
|
5839
5891
|
] } }
|
|
5840
5892
|
\`\`\`
|
|
5841
5893
|
|
|
5842
|
-
\`close\` \u53EA\u901A\u77E5\u5BBF\u4E3B\u300C\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u300D\uFF1B\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\
|
|
5894
|
+
\`close\` \u53EA\u901A\u77E5\u5BBF\u4E3B\u300C\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u300D\uFF1B\`reason\` \u4F1A\u539F\u6837\u4E0A\u62A5\uFF0C\u540E\u7AEF\u636E\u6B64\u5224\u65AD\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\u3002\u60F3\u8BA9\u5B83\u5728\u524D\u7AEF\u4E5F\u7ACB\u523B\u4E0D\u518D\u51FA\u73B0\uFF0C\u5728 \`close\` \u4E4B\u524D\u52A0\u4E00\u6761 \`{ "type": "call", "name": "dismissToday" }\`\uFF08\u6216 \`dismissForever\`\uFF09\u3002
|
|
5843
5895
|
\u6574\u6761\u53EF\u70B9 + \u884C\u672B \xD7 \u4E0D\u4F1A\u51B2\u7A81\uFF1A\u5185\u5C42\u6709\u81EA\u5DF1\u7684 \`action\` \u5C31\u4E0D\u518D\u5192\u6CE1\u7ED9\u5916\u5C42\u3002`;
|
|
5844
5896
|
}
|
|
5845
5897
|
function viewsSection() {
|
package/dist/docs/index.js
CHANGED
|
@@ -166,23 +166,45 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
166
166
|
tone: "info",
|
|
167
167
|
text: "`close` \u7684 `reason` \u4F1A\u4E00\u8D77\u4F20\u7ED9\u5BBF\u4E3B\uFF0C\u5BBF\u4E3B\u636E\u6B64\u51B3\u5B9A\u540E\u7EED\u884C\u4E3A\uFF0C\u5E76\u539F\u6837\u4E0A\u62A5\u7ED9\u540E\u7AEF\u3002\u4E0D\u5199 `reason` \u9ED8\u8BA4\u662F `action`\u3002"
|
|
168
168
|
},
|
|
169
|
-
{ t: "h3", text: "\u300C\u4E0D\u518D\u63D0\
|
|
169
|
+
{ t: "h3", text: "\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\uFF1AdismissToday / dismissForever" },
|
|
170
170
|
{
|
|
171
171
|
t: "p",
|
|
172
|
-
text: "\
|
|
172
|
+
text: "\u5BBF\u4E3B\u6CE8\u518C\u4E86\u4E24\u4E2A\u73B0\u6210\u7684\u65B9\u6CD5\uFF0C\u7528 `call` \u8C03\u5373\u53EF\uFF0C\u4E0D\u9700\u8981\u65B0\u7684\u52A8\u4F5C\u7C7B\u578B\uFF1A`dismissToday`\uFF08\u4ECA\u5929\u4E4B\u5185\u4E0D\u518D\u5C55\u793A\u8FD9\u6761\u7269\u6599\uFF09\u3001`dismissForever`\uFF08\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\uFF09\u3002"
|
|
173
173
|
},
|
|
174
174
|
{
|
|
175
175
|
t: "code",
|
|
176
|
-
code:
|
|
176
|
+
code: `// \u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D\u6309\u94AE\uFF1A\u5148\u5199\u6807\u8BB0\uFF0C\u518D\u5173\u6389\u8FD9\u4E00\u5C42
|
|
177
|
+
"action": {
|
|
178
|
+
"type": "sequence",
|
|
179
|
+
"actions": [
|
|
180
|
+
{ "type": "call", "name": "dismissToday" },
|
|
181
|
+
{ "type": "close", "reason": "dismiss-today" }
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// \u300C\u4E0D\u518D\u63D0\u793A\u300D\u6309\u94AE\uFF1A\u540C\u6837\u4E24\u6B65
|
|
186
|
+
"action": {
|
|
187
|
+
"type": "sequence",
|
|
188
|
+
"actions": [
|
|
189
|
+
{ "type": "call", "name": "dismissForever" },
|
|
190
|
+
{ "type": "close", "reason": "dismiss-forever" }
|
|
191
|
+
]
|
|
192
|
+
}`
|
|
177
193
|
},
|
|
178
194
|
{
|
|
179
|
-
t: "
|
|
180
|
-
|
|
195
|
+
t: "note",
|
|
196
|
+
tone: "warn",
|
|
197
|
+
text: "**\u6807\u8BB0\u548C\u5173\u95ED\u662F\u4E24\u56DE\u4E8B\uFF0C`close` \u5FC5\u987B\u81EA\u5DF1\u914D\u3002** \u8FD9\u4E24\u4E2A\u65B9\u6CD5\u53EA\u5199\u4E00\u6761\u300C\u4EE5\u540E\u522B\u518D\u5C55\u793A\u300D\u7684\u8BB0\u5F55\uFF0C\u4E0D\u4F1A\u987A\u624B\u628A\u5F53\u524D\u8FD9\u5C42\u5173\u6389\u2014\u2014\u7559\u51FA\u300C\u5148\u52FE\u4E00\u4E2A\u590D\u9009\u6846\u3001\u7A0D\u540E\u518D\u70B9\u5173\u95ED\u300D\u8FD9\u7C7B\u4EA4\u4E92\u7684\u4F59\u5730\u3002\u53EA\u5199 `call` \u4E0D\u5199 `close`\uFF0C\u7528\u6237\u70B9\u5B8C\u6309\u94AE\u5F39\u7A97\u8FD8\u6775\u5728\u90A3\u513F\u3002"
|
|
181
198
|
},
|
|
182
199
|
{
|
|
183
200
|
t: "note",
|
|
184
201
|
tone: "warn",
|
|
185
|
-
text: "**\
|
|
202
|
+
text: "**\u8BB0\u5F55\u5B58\u5728\u7528\u6237\u6D4F\u89C8\u5668\u672C\u5730\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\u3002** \u540C\u4E00\u53F0\u7535\u8111\u6362\u4E2A\u8D26\u53F7\u767B\u5F55\u4E92\u4E0D\u5F71\u54CD\uFF0C\u4F46**\u6362\u8BBE\u5907\u3001\u6362\u6D4F\u89C8\u5668\u3001\u6E05\u7F13\u5B58\u5C31\u5931\u6548**\u2014\u2014\u5B83\u662F\u300C\u5C11\u70E6\u6211\u4E00\u4E0B\u300D\u7684\u4F53\u9A8C\u4F18\u5316\uFF0C\u4E0D\u662F\u300C\u540E\u7AEF\u6C38\u4E45\u538B\u5236\u8FD9\u6761\u6295\u653E\u300D\u7684\u51ED\u636E\u3002\u771F\u6B63\u7684\u957F\u671F\u9891\u63A7\u4ECD\u7531\u540E\u7AEF\u7B97\u3002"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
t: "note",
|
|
206
|
+
tone: "info",
|
|
207
|
+
text: "`close` \u7684 `reason` \u7167\u65E7\u8981\u5199\uFF1A\u5173\u95ED\u4E8B\u4EF6\u4ECD\u4F1A\u539F\u6837\u4E0A\u62A5\u7ED9\u540E\u7AEF\uFF0C`reason` \u662F\u540E\u7AEF\u552F\u4E00\u80FD\u770B\u5230\u7684\u300C\u7528\u6237\u4E3A\u4EC0\u4E48\u5173\u300D\u3002\u8FD9\u4E2A\u4FE1\u606F\u8D70 `close` \u7684 `reason`\uFF0C\u4E0D\u8D70 `extra`\u2014\u2014`extra` \u53EA\u5C5E\u4E8E `click`\u3002"
|
|
186
208
|
},
|
|
187
209
|
{ t: "h3", text: "call \u7684\u9002\u7528\u8FB9\u754C" },
|
|
188
210
|
{
|
|
@@ -194,15 +216,15 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
194
216
|
head: ["\u2705 \u8BE5\u7528 call", "\u274C \u4E0D\u8BE5\u7528 call"],
|
|
195
217
|
rows: [
|
|
196
218
|
[
|
|
197
|
-
"\u5524\u8D77\u5145\u503C\u5F39\u7A97\u3001\u6253\u5F00\u5BA2\u670D\u4F1A\u8BDD\u3001\u590D\u5236\u5230\u526A\u8D34\u677F\u3001\u8DF3\u8F6C\u5E94\u7528\u5185\u7279\u5B9A\u9875\u9762",
|
|
198
|
-
"\
|
|
219
|
+
"\u5524\u8D77\u5145\u503C\u5F39\u7A97\u3001\u6253\u5F00\u5BA2\u670D\u4F1A\u8BDD\u3001\u590D\u5236\u5230\u526A\u8D34\u677F\u3001\u8DF3\u8F6C\u5E94\u7528\u5185\u7279\u5B9A\u9875\u9762\u3001\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A / \u4E0D\u518D\u63D0\u793A\u300D\uFF08`dismissToday` / `dismissForever`\uFF09",
|
|
220
|
+
"\u8BA9\u5BBF\u4E3B\u505A\u4E00\u4EF6\u5B83\u6CA1\u6CE8\u518C\u8FC7\u7684\u4E8B"
|
|
199
221
|
]
|
|
200
222
|
]
|
|
201
223
|
},
|
|
202
224
|
{
|
|
203
225
|
t: "note",
|
|
204
226
|
tone: "info",
|
|
205
|
-
text: "\
|
|
227
|
+
text: "`call` \u53EA\u80FD\u8C03**\u4E0A\u9762\u6E05\u5355\u91CC\u5DF2\u6CE8\u518C**\u7684\u65B9\u6CD5\u540D\uFF0C\u540D\u5B57\u662F\u5BBF\u4E3B\u4E0E\u8FD0\u8425\u4E4B\u95F4\u7684\u5951\u7EA6\uFF0C\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\uFF0C\u90A3\u4E00\u6B65\u4F1A\u9759\u9ED8\u5931\u6548\uFF08\u7269\u6599\u7167\u5E38\u663E\u793A\uFF0C\u6309\u94AE\u70B9\u4E86\u6CA1\u53CD\u5E94\uFF09\u3002\u6240\u4EE5\u81EA\u5DF1\u53D1\u660E\u4E00\u4E2A\u540D\u5B57\u53BB\u300C\u8BB0\u4E00\u7B14\u8D26\u300D\u662F\u884C\u4E0D\u901A\u7684\u2014\u2014\u672C\u5730\u8BB0\u8D26\u7528\u73B0\u6210\u7684 `dismissToday` / `dismissForever`\uFF0C\u9700\u8981\u540E\u7AEF\u77E5\u9053\u7684\u4E8B\u4E00\u5F8B\u8D70\u4E0A\u62A5\uFF08`close` \u7684 `reason`\uFF0C\u6216 `track`\uFF09\u3002"
|
|
206
228
|
},
|
|
207
229
|
{ t: "h3", text: "\u66DD\u5149\u548C\u5173\u95ED\u4E5F\u8981\u57CB\u70B9\uFF1Astage.onShow / stage.onClose" },
|
|
208
230
|
{
|
|
@@ -266,7 +288,7 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
266
288
|
{
|
|
267
289
|
t: "note",
|
|
268
290
|
tone: "info",
|
|
269
|
-
text: '`close` \u53EA\u662F\u901A\u77E5\u5BBF\u4E3B\u300C\u7528\u6237\u5173\u6389\u4E86\u300D\uFF0C**\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u7531\u5BBF\u4E3B\u51B3\u5B9A**\uFF1B\
|
|
291
|
+
text: '`close` \u53EA\u662F\u901A\u77E5\u5BBF\u4E3B\u300C\u7528\u6237\u5173\u6389\u4E86\u300D\uFF0C**\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u7531\u5BBF\u4E3B\u51B3\u5B9A**\uFF1B`reason` \u4F1A\u539F\u6837\u4E0A\u62A5\uFF0C\u540E\u7AEF\u636E\u6B64\u5224\u65AD\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\u3002\u60F3\u5728\u524D\u7AEF\u4E5F\u7ACB\u523B\u751F\u6548\uFF08\u4ECA\u5929\u4E4B\u5185 / \u6C38\u4E45\u4E0D\u518D\u51FA\u73B0\uFF09\uFF0C\u5728 `close` \u4E4B\u524D\u518D\u52A0\u4E00\u6761 `{ "type": "call", "name": "dismissToday" }`\uFF08\u6216 `dismissForever`\uFF09\uFF0C\u89C1\u4E0A\u4E00\u8282\u3002'
|
|
270
292
|
},
|
|
271
293
|
{
|
|
272
294
|
t: "note",
|
|
@@ -2723,7 +2745,8 @@ var noticeToPopup = {
|
|
|
2723
2745
|
fontSize: 13,
|
|
2724
2746
|
cursor: "pointer"
|
|
2725
2747
|
},
|
|
2726
|
-
|
|
2748
|
+
// 公告条行末的关闭只管「这一次」,不写本地标记
|
|
2749
|
+
action: { type: "close", reason: "user-close" }
|
|
2727
2750
|
}
|
|
2728
2751
|
]
|
|
2729
2752
|
}
|
|
@@ -3090,12 +3113,14 @@ var confirmAndSwitch = {
|
|
|
3090
3113
|
cursor: "pointer"
|
|
3091
3114
|
},
|
|
3092
3115
|
// 确认后整个关掉,两层一起消失。
|
|
3093
|
-
//
|
|
3116
|
+
// 标记写在这一步而不是上一层的「不再提醒」按钮上:
|
|
3117
|
+
// 那个按钮只是打开二次确认,用户还可能反悔,真正的意图在这里才确定
|
|
3094
3118
|
action: {
|
|
3095
3119
|
type: "sequence",
|
|
3096
3120
|
actions: [
|
|
3097
3121
|
{ type: "track", event: "popup_never_remind_confirm" },
|
|
3098
|
-
{ type: "
|
|
3122
|
+
{ type: "call", name: "dismissForever" },
|
|
3123
|
+
{ type: "closeAll", reason: "dismiss-forever" }
|
|
3099
3124
|
]
|
|
3100
3125
|
},
|
|
3101
3126
|
children: [
|
|
@@ -3431,8 +3456,15 @@ var imageBanner = {
|
|
|
3431
3456
|
fontSize: 12,
|
|
3432
3457
|
cursor: "pointer"
|
|
3433
3458
|
},
|
|
3434
|
-
//
|
|
3435
|
-
|
|
3459
|
+
// 「不再提醒」两步走:先调宿主的 dismissForever 写本地标记(前端立刻不再展示),
|
|
3460
|
+
// 再 close 关掉;reason 照旧上报给后端,那是后端唯一看得到的「为什么关」
|
|
3461
|
+
action: {
|
|
3462
|
+
type: "sequence",
|
|
3463
|
+
actions: [
|
|
3464
|
+
{ type: "call", name: "dismissForever" },
|
|
3465
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
3466
|
+
]
|
|
3467
|
+
}
|
|
3436
3468
|
}
|
|
3437
3469
|
]
|
|
3438
3470
|
}
|
|
@@ -3540,8 +3572,15 @@ function createDrawerBanner(options) {
|
|
|
3540
3572
|
fontSize: 9,
|
|
3541
3573
|
cursor: "pointer"
|
|
3542
3574
|
},
|
|
3543
|
-
//
|
|
3544
|
-
|
|
3575
|
+
// 「不再提醒」两步走:dismissForever 写本地标记 + close 关掉,缺一不可
|
|
3576
|
+
// (这两个方法只写标记、不关闭)
|
|
3577
|
+
action: {
|
|
3578
|
+
type: "sequence",
|
|
3579
|
+
actions: [
|
|
3580
|
+
{ type: "call", name: "dismissForever" },
|
|
3581
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
3582
|
+
]
|
|
3583
|
+
}
|
|
3545
3584
|
}
|
|
3546
3585
|
]
|
|
3547
3586
|
};
|
|
@@ -5250,10 +5289,17 @@ var imageHotspot = {
|
|
|
5250
5289
|
id: "hotspot-never",
|
|
5251
5290
|
type: "box",
|
|
5252
5291
|
// 最底部「不再提醒」,动作是关弹窗而不是跳转。
|
|
5253
|
-
//
|
|
5292
|
+
// dismissForever 写本地标记让它前端立刻不再出现,close 才是真正关掉这一层;
|
|
5293
|
+
// reason 一并上报,后端据此决定以后还下不下发
|
|
5254
5294
|
rect: ["30%", 478, "40%", 26],
|
|
5255
5295
|
style: { radius: 13, background: HOTSPOT_BG, cursor: "pointer" },
|
|
5256
|
-
action: {
|
|
5296
|
+
action: {
|
|
5297
|
+
type: "sequence",
|
|
5298
|
+
actions: [
|
|
5299
|
+
{ type: "call", name: "dismissForever" },
|
|
5300
|
+
{ type: "close", reason: "dismiss-forever" }
|
|
5301
|
+
]
|
|
5302
|
+
}
|
|
5257
5303
|
}
|
|
5258
5304
|
]
|
|
5259
5305
|
};
|
|
@@ -5333,7 +5379,9 @@ var noticeBar = {
|
|
|
5333
5379
|
type: "sequence",
|
|
5334
5380
|
actions: [
|
|
5335
5381
|
{ type: "track", event: "notice_close", params: { notice: "guide" } },
|
|
5336
|
-
|
|
5382
|
+
// 行末的 × 只是「这次关掉」,不写本地标记:下次进页面它还该出现。
|
|
5383
|
+
// 要「以后别再出现」得另放一个按钮,配 dismissForever(见 action 章节)
|
|
5384
|
+
{ type: "close", reason: "user-close" }
|
|
5337
5385
|
]
|
|
5338
5386
|
}
|
|
5339
5387
|
}
|
|
@@ -5568,7 +5616,8 @@ function checklistSection() {
|
|
|
5568
5616
|
\u6709\u4E00\u4E2A\u4E0D\u5408\u89C4\uFF0C\u6574\u4EFD\u914D\u7F6E\u5C31\u5B58\u4E0D\u4E0A
|
|
5569
5617
|
- [ ] \u6BCF\u4E2A\u89C6\u56FE\u7684 \`stage\` \u90FD\u6709 \`onShow\` \u66DD\u5149\u57CB\u70B9\u548C \`onClose\` \u5173\u95ED\u57CB\u70B9\uFF0C\`onClose\` \u7684 params \u91CC\u5E26\u4E0A \`"reason": "{{ closeReason }}"\`
|
|
5570
5618
|
- [ ] \u5173\u95ED\u6309\u94AE\u6CA1\u6709\u591A\u4F59\u7684 \`icon\`\uFF08\u9ED8\u8BA4\u7684\u5185\u7F6E\u77E2\u91CF\u56FE\u6807\u5C31\u662F\u5BF9\u7684\uFF09
|
|
5571
|
-
- [ ] \
|
|
5619
|
+
- [ ] \u6BCF\u4E2A \`call\` \u7684 \`name\` \u90FD\u662F\u5BBF\u4E3B\u5DF2\u6CE8\u518C\u7684\u65B9\u6CD5\uFF08\u5F53\u524D\u53EA\u6709 \`dismissToday\` / \`dismissForever\`\uFF09\uFF0C\u6CA1\u6709\u81EA\u5DF1\u53D1\u660E\u7684\u540D\u5B57\u2014\u2014\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\u90A3\u4E00\u6B65\u9759\u9ED8\u5931\u6548
|
|
5620
|
+
- [ ] \u914D\u4E86\u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\u7684\u8BDD\uFF1A\`call\` \u540E\u9762**\u8DDF\u7740 \`close\`**\uFF08\u8FD9\u4E24\u4E2A\u65B9\u6CD5\u53EA\u5199\u6807\u8BB0\u3001\u4E0D\u5173\u95ED\uFF0C\u6F0F\u4E86 \`close\` \u7528\u6237\u70B9\u5B8C\u5F39\u7A97\u8FD8\u5728\uFF09\uFF0C\u4E14 \`close\` \u5E26\u4E0A \`reason\`
|
|
5572
5621
|
- [ ] \u6BCF\u4E2A \`animate.name\` \u90FD\u80FD\u5728\u9876\u5C42 \`keyframes\` \u91CC\u627E\u5230\uFF1B\`easing\` \u5728\u767D\u540D\u5355\u91CC\uFF1B\u6CA1\u6709\u5B9A\u4E49\u4E86\u5374\u6CA1\u4EBA\u5F15\u7528\u7684\u5173\u952E\u5E27
|
|
5573
5622
|
- [ ] \u88C5\u9970\u6027\u56FE\u5C42\uFF08\u5149\u6655\u3001\u626B\u5149\u3001\u5149\u70B9\uFF09\u90FD\u5199\u4E86 \`"pointerEvents": "none"\`
|
|
5574
5623
|
- [ ] \u8F93\u51FA\u7684\u662F\u5408\u6CD5 JSON\uFF08\u6CA1\u6709\u591A\u4F59\u9017\u53F7\u3001\u6CA1\u6709\u6CE8\u91CA\uFF09`;
|
|
@@ -5608,8 +5657,11 @@ function actionSection() {
|
|
|
5608
5657
|
- \`setState\`\uFF1A\`{ "type": "setState", "key": "period", "value": "{{ index }}" }\` \u505A\u9009\u4E2D\u5207\u6362
|
|
5609
5658
|
- \`close\`\uFF1A\u5173\u6389\u5F53\u524D\u8FD9\u4E00\u5C42\uFF08\u53EA\u6709\u4E00\u5C42\u65F6\u5C31\u662F\u6574\u4F53\u5173\u95ED\uFF09\u3002\u6CE8\u610F\u5B83\u53EA\u662F**\u901A\u77E5\u5BBF\u4E3B\u9875\u9762**\u300C\u7528\u6237\u60F3\u5173\u4E86\u300D\uFF0C\u7531\u5BBF\u4E3B\u51B3\u5B9A\u5173\u4E0D\u5173\uFF1B\u591A\u89C6\u56FE\u65F6\u5173\u5185\u5C42\u4E0D\u4F1A\u901A\u77E5\u5BBF\u4E3B\uFF0C\u53EA\u662F\u56DE\u5230\u4E0B\u9762\u90A3\u5C42
|
|
5610
5659
|
- \`closeAll\`\uFF1A\u51E0\u5C42\u90FD\u5173\u6389\uFF0C\u4E00\u5B9A\u4F1A\u901A\u77E5\u5BBF\u4E3B
|
|
5611
|
-
- \
|
|
5612
|
-
-
|
|
5660
|
+
- \`call\`\uFF1A**\u8BA9\u5BBF\u4E3B\u53BB\u505A\u4E00\u4EF6\u5DF2\u6CE8\u518C\u7684\u4E8B**\u3002\u540D\u5B57\u53EA\u80FD\u4ECE\u5BBF\u4E3B\u6CE8\u518C\u7684\u6E05\u5355\u91CC\u9009\uFF0C\u5199\u4E86\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\u90A3\u4E00\u6B65\u9759\u9ED8\u5931\u6548\uFF08\u7269\u6599\u7167\u5E38\u663E\u793A\uFF0C\u6309\u94AE\u70B9\u4E86\u6CA1\u53CD\u5E94\uFF09\uFF0C\u6240\u4EE5\u4E0D\u8981\u81EA\u5DF1\u53D1\u660E\u65B9\u6CD5\u540D
|
|
5661
|
+
- \u300C\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\u300D/\u300C\u4E0D\u518D\u63D0\u793A\u300D\u7528\u73B0\u6210\u7684\u4E24\u4E2A\u65B9\u6CD5\uFF1A\`dismissToday\` / \`dismissForever\`\u3002**\u5B83\u4EEC\u53EA\u5199\u6807\u8BB0\u3001\u4E0D\u5173\u95ED**\uFF0C\`close\` \u5FC5\u987B\u81EA\u5DF1\u914D\u5728\u540E\u9762\uFF1A
|
|
5662
|
+
\`{ "type": "sequence", "actions": [{ "type": "call", "name": "dismissToday" }, { "type": "close", "reason": "dismiss-today" }] }\`
|
|
5663
|
+
\uFF08\u6C38\u4E45\u7248\u628A\u4E24\u5904\u5206\u522B\u6362\u6210 \`dismissForever\` \u548C \`"dismiss-forever"\`\uFF09
|
|
5664
|
+
- \u8FD9\u4E24\u4E2A\u65B9\u6CD5\u7684\u8BB0\u5F55**\u5B58\u5728\u7528\u6237\u6D4F\u89C8\u5668\u672C\u5730\u3001\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB**\uFF0C\u6362\u8BBE\u5907 / \u6E05\u7F13\u5B58\u5C31\u5931\u6548\u2014\u2014\u662F\u300C\u5C11\u70E6\u6211\u4E00\u4E0B\u300D\u7684\u4F53\u9A8C\u4F18\u5316\uFF0C\u4E0D\u662F\u540E\u7AEF\u6C38\u4E45\u538B\u5236\u8FD9\u6761\u6295\u653E\u7684\u51ED\u636E\u3002\u6240\u4EE5 \`close\` \u7684 \`reason\` \u7167\u65E7\u8981\u5199\uFF0C\u90A3\u662F\u540E\u7AEF\u552F\u4E00\u770B\u5F97\u5230\u7684\u300C\u7528\u6237\u4E3A\u4EC0\u4E48\u5173\u300D
|
|
5613
5665
|
- \`open\`\uFF1A\u6253\u5F00\u53E6\u4E00\u4E2A\u89C6\u56FE\uFF0C\u89C1\u4E0B\u4E00\u8282
|
|
5614
5666
|
- \u4EFB\u4F55\u8282\u70B9\u52A0 \`action\` \u90FD\u80FD\u70B9\u51FB
|
|
5615
5667
|
- **\u6BCF\u4E2A\u53EF\u70B9\u51FB\u5143\u7D20\u90FD\u5E94\u8BE5\u914D \`track\`**\uFF0C\u5426\u5219\u6CA1\u6709\u6570\u636E\u53EF\u770B
|
|
@@ -5678,7 +5730,7 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6
|
|
|
5678
5730
|
] } }
|
|
5679
5731
|
\`\`\`
|
|
5680
5732
|
|
|
5681
|
-
\`close\` \u53EA\u901A\u77E5\u5BBF\u4E3B\u300C\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u300D\uFF1B\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\
|
|
5733
|
+
\`close\` \u53EA\u901A\u77E5\u5BBF\u4E3B\u300C\u8FD9\u4E00\u6B21\u5173\u4E0D\u5173\u300D\uFF1B\`reason\` \u4F1A\u539F\u6837\u4E0A\u62A5\uFF0C\u540E\u7AEF\u636E\u6B64\u5224\u65AD\u300C\u4EE5\u540E\u8FD8\u51FA\u4E0D\u51FA\u300D\u3002\u60F3\u8BA9\u5B83\u5728\u524D\u7AEF\u4E5F\u7ACB\u523B\u4E0D\u518D\u51FA\u73B0\uFF0C\u5728 \`close\` \u4E4B\u524D\u52A0\u4E00\u6761 \`{ "type": "call", "name": "dismissToday" }\`\uFF08\u6216 \`dismissForever\`\uFF09\u3002
|
|
5682
5734
|
\u6574\u6761\u53EF\u70B9 + \u884C\u672B \xD7 \u4E0D\u4F1A\u51B2\u7A81\uFF1A\u5185\u5C42\u6709\u81EA\u5DF1\u7684 \`action\` \u5C31\u4E0D\u518D\u5192\u6CE1\u7ED9\u5916\u5C42\u3002`;
|
|
5683
5735
|
}
|
|
5684
5736
|
function viewsSection() {
|
package/dist/index.cjs
CHANGED
|
@@ -2315,12 +2315,15 @@ function formatIssues(issues) {
|
|
|
2315
2315
|
|
|
2316
2316
|
// src/host-capabilities.ts
|
|
2317
2317
|
var HOST_SOURCE_NAMES = ["userStatistics", "listRenewTiers"];
|
|
2318
|
-
var HOST_HANDLER_NAMES = [];
|
|
2318
|
+
var HOST_HANDLER_NAMES = ["dismissToday", "dismissForever"];
|
|
2319
2319
|
var HOST_SOURCE_LABELS = {
|
|
2320
2320
|
userStatistics: "\u7528\u6237\u6570\u636E\u7EDF\u8BA1\uFF08\u7D2F\u8BA1\u642C\u5BB6\u6570 / \u6B21\u6570\u4F59\u989D / AI \u4F18\u5316\u6B21\u6570\u7B49\uFF0C\u6241\u5E73\u5BF9\u8C61\uFF0C\u5B57\u6BB5\u540D\u4E3A\u540E\u7AEF snake_case\uFF09",
|
|
2321
2321
|
listRenewTiers: "\u7EED\u8D39\u4EF7\u683C\u6863\u4F4D\u5217\u8868\uFF08\u6708\u4ED8/\u5B63\u4ED8/\u534A\u5E74/\u5E74\u4ED8\uFF0C\u542B\u4E0B\u5355\u5730\u5740\uFF09"
|
|
2322
2322
|
};
|
|
2323
|
-
var HOST_HANDLER_LABELS = {
|
|
2323
|
+
var HOST_HANDLER_LABELS = {
|
|
2324
|
+
dismissToday: "\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u4ECA\u5929\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09",
|
|
2325
|
+
dismissForever: "\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09"
|
|
2326
|
+
};
|
|
2324
2327
|
function isRegisteredHostSource(name) {
|
|
2325
2328
|
return HOST_SOURCE_NAMES.indexOf(name) > -1;
|
|
2326
2329
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -144,7 +144,8 @@ declare function validateUserFields(dsl: unknown, allowed: string[]): FieldIssue
|
|
|
144
144
|
* 它是「**前台宿主实际注册了什么**」的事实记录,**不是** core 的能力声明。
|
|
145
145
|
* core 本身对数据源名一无所知:运行时只认宿主创建 runtime 时传进来的 `sources` /
|
|
146
146
|
* `handlers` 对象,查不到名字就抛 `unknown-source`、整份物料静默白屏
|
|
147
|
-
*
|
|
147
|
+
* (不报错、什么都不画,投到线上才发现);`call` 查不到 handler 则抛 `unknown-handler`,
|
|
148
|
+
* 该动作静默失效(物料照常显示,但按钮点了没反应)。
|
|
148
149
|
*
|
|
149
150
|
* 【为什么放在 core 里】
|
|
150
151
|
* 因为前台(move-front,注册表在 `components-business/marketing/sources.ts`)与
|
|
@@ -172,11 +173,14 @@ type HostSourceName = (typeof HOST_SOURCE_NAMES)[number];
|
|
|
172
173
|
/**
|
|
173
174
|
* 前台已注册的**宿主方法名**(DSL 里 `{ type: 'call', name: 'xxx' }` 的 `name`)。
|
|
174
175
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
176
|
+
* 当前两个都是「不再提示」类的本地记账:写一条本地标记,让这条物料下次不再进坑位。
|
|
177
|
+
* **标记与关闭是两回事**——handler 只写标记、不关闭,这一次关不关由运营在
|
|
178
|
+
* `sequence` 里自己配 `close` 决定(也因此留出了「勾选框」式交互的可能)。
|
|
179
|
+
*
|
|
180
|
+
* 用 `as const` 是为了推导出 {@link HostHandlerName} 联合类型,供前台约束注册表。
|
|
177
181
|
*/
|
|
178
|
-
declare const HOST_HANDLER_NAMES: readonly
|
|
179
|
-
/**
|
|
182
|
+
declare const HOST_HANDLER_NAMES: readonly ["dismissToday", "dismissForever"];
|
|
183
|
+
/** 宿主方法名的联合类型,前台注册表以它为键,漏注册一个就编译不过 */
|
|
180
184
|
type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
181
185
|
/**
|
|
182
186
|
* 数据源的中文含义。后台告警文案、运营看的能力清单共用一份,避免说明各写各的。
|
|
@@ -184,8 +188,12 @@ type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
|
184
188
|
* 键必须覆盖 {@link HOST_SOURCE_NAMES} 的全部名字(有单测钉死)。
|
|
185
189
|
*/
|
|
186
190
|
declare const HOST_SOURCE_LABELS: Record<HostSourceName, string>;
|
|
187
|
-
/**
|
|
188
|
-
|
|
191
|
+
/**
|
|
192
|
+
* 宿主方法的中文含义。后台告警文案、运营看的能力清单共用一份。
|
|
193
|
+
*
|
|
194
|
+
* 键必须覆盖 {@link HOST_HANDLER_NAMES} 的全部名字(有单测钉死)。
|
|
195
|
+
*/
|
|
196
|
+
declare const HOST_HANDLER_LABELS: Record<HostHandlerName, string>;
|
|
189
197
|
/**
|
|
190
198
|
* 判断一个数据源名是否已被前台注册。
|
|
191
199
|
*
|
|
@@ -197,7 +205,7 @@ declare function isRegisteredHostSource(name: string): boolean;
|
|
|
197
205
|
* 判断一个宿主方法名是否已被前台注册。
|
|
198
206
|
*
|
|
199
207
|
* @param name 待判断的名字,通常来自 DSL 里 `call` 动作的 `name`
|
|
200
|
-
* @returns 已注册返回 true
|
|
208
|
+
* @returns 已注册返回 true;未注册意味着该动作执行时会抛 `unknown-handler`,调用方应告警
|
|
201
209
|
*/
|
|
202
210
|
declare function isRegisteredHostHandler(name: string): boolean;
|
|
203
211
|
|
package/dist/index.d.ts
CHANGED
|
@@ -144,7 +144,8 @@ declare function validateUserFields(dsl: unknown, allowed: string[]): FieldIssue
|
|
|
144
144
|
* 它是「**前台宿主实际注册了什么**」的事实记录,**不是** core 的能力声明。
|
|
145
145
|
* core 本身对数据源名一无所知:运行时只认宿主创建 runtime 时传进来的 `sources` /
|
|
146
146
|
* `handlers` 对象,查不到名字就抛 `unknown-source`、整份物料静默白屏
|
|
147
|
-
*
|
|
147
|
+
* (不报错、什么都不画,投到线上才发现);`call` 查不到 handler 则抛 `unknown-handler`,
|
|
148
|
+
* 该动作静默失效(物料照常显示,但按钮点了没反应)。
|
|
148
149
|
*
|
|
149
150
|
* 【为什么放在 core 里】
|
|
150
151
|
* 因为前台(move-front,注册表在 `components-business/marketing/sources.ts`)与
|
|
@@ -172,11 +173,14 @@ type HostSourceName = (typeof HOST_SOURCE_NAMES)[number];
|
|
|
172
173
|
/**
|
|
173
174
|
* 前台已注册的**宿主方法名**(DSL 里 `{ type: 'call', name: 'xxx' }` 的 `name`)。
|
|
174
175
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
176
|
+
* 当前两个都是「不再提示」类的本地记账:写一条本地标记,让这条物料下次不再进坑位。
|
|
177
|
+
* **标记与关闭是两回事**——handler 只写标记、不关闭,这一次关不关由运营在
|
|
178
|
+
* `sequence` 里自己配 `close` 决定(也因此留出了「勾选框」式交互的可能)。
|
|
179
|
+
*
|
|
180
|
+
* 用 `as const` 是为了推导出 {@link HostHandlerName} 联合类型,供前台约束注册表。
|
|
177
181
|
*/
|
|
178
|
-
declare const HOST_HANDLER_NAMES: readonly
|
|
179
|
-
/**
|
|
182
|
+
declare const HOST_HANDLER_NAMES: readonly ["dismissToday", "dismissForever"];
|
|
183
|
+
/** 宿主方法名的联合类型,前台注册表以它为键,漏注册一个就编译不过 */
|
|
180
184
|
type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
181
185
|
/**
|
|
182
186
|
* 数据源的中文含义。后台告警文案、运营看的能力清单共用一份,避免说明各写各的。
|
|
@@ -184,8 +188,12 @@ type HostHandlerName = (typeof HOST_HANDLER_NAMES)[number];
|
|
|
184
188
|
* 键必须覆盖 {@link HOST_SOURCE_NAMES} 的全部名字(有单测钉死)。
|
|
185
189
|
*/
|
|
186
190
|
declare const HOST_SOURCE_LABELS: Record<HostSourceName, string>;
|
|
187
|
-
/**
|
|
188
|
-
|
|
191
|
+
/**
|
|
192
|
+
* 宿主方法的中文含义。后台告警文案、运营看的能力清单共用一份。
|
|
193
|
+
*
|
|
194
|
+
* 键必须覆盖 {@link HOST_HANDLER_NAMES} 的全部名字(有单测钉死)。
|
|
195
|
+
*/
|
|
196
|
+
declare const HOST_HANDLER_LABELS: Record<HostHandlerName, string>;
|
|
189
197
|
/**
|
|
190
198
|
* 判断一个数据源名是否已被前台注册。
|
|
191
199
|
*
|
|
@@ -197,7 +205,7 @@ declare function isRegisteredHostSource(name: string): boolean;
|
|
|
197
205
|
* 判断一个宿主方法名是否已被前台注册。
|
|
198
206
|
*
|
|
199
207
|
* @param name 待判断的名字,通常来自 DSL 里 `call` 动作的 `name`
|
|
200
|
-
* @returns 已注册返回 true
|
|
208
|
+
* @returns 已注册返回 true;未注册意味着该动作执行时会抛 `unknown-handler`,调用方应告警
|
|
201
209
|
*/
|
|
202
210
|
declare function isRegisteredHostHandler(name: string): boolean;
|
|
203
211
|
|
package/dist/index.js
CHANGED
|
@@ -871,12 +871,15 @@ function createRuntime(dsl, options = {}) {
|
|
|
871
871
|
|
|
872
872
|
// src/host-capabilities.ts
|
|
873
873
|
var HOST_SOURCE_NAMES = ["userStatistics", "listRenewTiers"];
|
|
874
|
-
var HOST_HANDLER_NAMES = [];
|
|
874
|
+
var HOST_HANDLER_NAMES = ["dismissToday", "dismissForever"];
|
|
875
875
|
var HOST_SOURCE_LABELS = {
|
|
876
876
|
userStatistics: "\u7528\u6237\u6570\u636E\u7EDF\u8BA1\uFF08\u7D2F\u8BA1\u642C\u5BB6\u6570 / \u6B21\u6570\u4F59\u989D / AI \u4F18\u5316\u6B21\u6570\u7B49\uFF0C\u6241\u5E73\u5BF9\u8C61\uFF0C\u5B57\u6BB5\u540D\u4E3A\u540E\u7AEF snake_case\uFF09",
|
|
877
877
|
listRenewTiers: "\u7EED\u8D39\u4EF7\u683C\u6863\u4F4D\u5217\u8868\uFF08\u6708\u4ED8/\u5B63\u4ED8/\u534A\u5E74/\u5E74\u4ED8\uFF0C\u542B\u4E0B\u5355\u5730\u5740\uFF09"
|
|
878
878
|
};
|
|
879
|
-
var HOST_HANDLER_LABELS = {
|
|
879
|
+
var HOST_HANDLER_LABELS = {
|
|
880
|
+
dismissToday: "\u4ECA\u65E5\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u4ECA\u5929\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09",
|
|
881
|
+
dismissForever: "\u4E0D\u518D\u63D0\u793A\uFF1A\u628A\u8FD9\u6761\u7269\u6599\u6807\u8BB0\u4E3A\u300C\u6C38\u4E45\u4E0D\u518D\u5C55\u793A\u300D\uFF08\u524D\u7AEF\u672C\u5730\u8BB0\u5F55\uFF0C\u6309\u767B\u5F55\u8D26\u53F7\u9694\u79BB\uFF0C\u8DE8\u8BBE\u5907\u4E0D\u540C\u6B65\uFF1B\u53EA\u5199\u6807\u8BB0\u4E0D\u5173\u95ED\uFF0C\u8981\u5173\u5F97\u81EA\u5DF1\u518D\u914D\u4E00\u4E2A close\uFF09"
|
|
882
|
+
};
|
|
880
883
|
function isRegisteredHostSource(name) {
|
|
881
884
|
return HOST_SOURCE_NAMES.indexOf(name) > -1;
|
|
882
885
|
}
|