@yaoxiu/marketing-dsl 1.5.2 → 2.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.
- package/README.md +120 -17
- package/dist/{chunk-FKZKLCVV.js → chunk-7TWWOK7Q.js} +147 -7
- package/dist/docs/index.cjs +227 -45
- package/dist/docs/index.d.cts +1 -1
- package/dist/docs/index.d.ts +1 -1
- package/dist/docs/index.js +200 -46
- package/dist/index.cjs +194 -20
- package/dist/index.d.cts +75 -4
- package/dist/index.d.ts +75 -4
- package/dist/index.js +46 -16
- package/dist/report/index.cjs +47 -30
- package/dist/report/index.d.cts +80 -31
- package/dist/report/index.d.ts +80 -31
- package/dist/report/index.js +46 -31
- package/dist/{types-BgUaJUAu.d.cts → types-Bj0xyWnx.d.cts} +54 -2
- package/dist/{types-BgUaJUAu.d.ts → types-Bj0xyWnx.d.ts} +54 -2
- package/package.json +1 -1
package/dist/docs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TRACK_EVENT_PATTERN, DSL_VERSION, ACTION_TYPES, NODE_TYPES, ALLOWED_STYLE_KEYS, CLOSE_POSITIONS } from '../chunk-
|
|
1
|
+
import { TRACK_EVENT_PATTERN, DEFAULT_USER_FIELDS, USER_FIELD_LABELS, DSL_VERSION, ACTION_TYPES, NODE_TYPES, ALLOWED_STYLE_KEYS, CLOSE_POSITIONS } from '../chunk-7TWWOK7Q.js';
|
|
2
2
|
|
|
3
3
|
// src/docs/reconcile.ts
|
|
4
4
|
function pickTokens(rows, columnIndex) {
|
|
@@ -238,6 +238,16 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
238
238
|
tone: "info",
|
|
239
239
|
text: "\u66DD\u5149\u57CB\u70B9\u7B49\u6570\u636E\u6E90\u8FD4\u56DE\u540E\u624D\u89E6\u53D1\u2014\u2014\u6570\u636E\u6CA1\u56DE\u6765\u65F6\u5F39\u7A97\u6839\u672C\u6CA1\u6E32\u67D3\uFF0C\u8FD9\u65F6\u5019\u4E0A\u62A5\u66DD\u5149\u4F1A\u628A\u8F6C\u5316\u7387\u7B97\u4F4E\u3002\u591A\u89C6\u56FE\u4E0B\u6BCF\u5C42\u5404\u57CB\u5404\u7684\uFF0C\u53EF\u4EE5\u5206\u522B\u7EDF\u8BA1\u300C\u516C\u544A\u6761\u66DD\u5149\u300D\u548C\u300C\u70B9\u5F00\u540E\u7684\u5F39\u7A97\u66DD\u5149\u300D\u3002"
|
|
240
240
|
},
|
|
241
|
+
{
|
|
242
|
+
t: "note",
|
|
243
|
+
tone: "warn",
|
|
244
|
+
text: "**\u8FD9\u4E24\u4E2A\u94A9\u5B50\u91CC\u7684 `track` \u4E0D\u4F1A\u88AB\u7B97\u6210\u70B9\u51FB\u3002** \u4E0A\u62A5\u7684 `event` \u662F\u7269\u6599\u751F\u547D\u5468\u671F\u7684\u56FA\u5B9A\u4E09\u503C\uFF08\u66DD\u5149 / \u70B9\u51FB / \u5173\u95ED\uFF09\uFF0C\u524D\u53F0\u6309**\u65F6\u673A**\u51B3\u5B9A\u62A5\u54EA\u4E00\u4E2A\uFF1A`onShow` \u91CC\u7684\u57CB\u70B9\u540D\u5E76\u8FDB\u90A3\u6761\u66DD\u5149\u3001`onClose` \u91CC\u7684\u57CB\u70B9\u540D\u5E76\u8FDB\u90A3\u6761\u5173\u95ED\uFF0C\u90FD\u4F5C\u4E3A\u9644\u52A0\u5B57\u6BB5\u4E0A\u62A5\uFF0C\u8FD0\u8425\u5728\u540E\u7AEF\u7167\u6837\u770B\u5F97\u5230\uFF0C\u53EA\u662F\u4E0D\u4F1A\u6C61\u67D3\u70B9\u51FB\u91CF\u3002\u771F\u6B63\u7B97\u70B9\u51FB\u7684\u53EA\u6709\u300C\u7528\u6237\u70B9\u4E86\u5E26 `action` \u7684\u8282\u70B9\u300D\u3002"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
t: "note",
|
|
248
|
+
tone: "info",
|
|
249
|
+
text: "\u540C\u7406\uFF0C\u4E00\u6B21\u70B9\u51FB\u91CC\u5199 `sequence: [track, navigate]`\uFF08\u5148\u57CB\u70B9\u518D\u8DF3\u8F6C\uFF09**\u53EA\u4E0A\u62A5\u4E00\u6761\u70B9\u51FB**\uFF0C\u4E0D\u662F\u4E24\u6761\u2014\u2014\u4E0A\u62A5\u6309\u300C\u4E00\u6B21\u624B\u52BF\u300D\u8BA1\u6570\uFF0C\u4E0D\u6309\u52A8\u4F5C\u4E2A\u6570\u8BA1\u6570\u3002\u653E\u5FC3\u6309\u9700\u8981\u4E32\u52A8\u4F5C\u3002"
|
|
250
|
+
},
|
|
241
251
|
{ t: "h3", text: "\u516C\u544A\u6761 / Banner \u600E\u4E48\u5173" },
|
|
242
252
|
{
|
|
243
253
|
t: "p",
|
|
@@ -261,7 +271,49 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
261
271
|
{
|
|
262
272
|
t: "note",
|
|
263
273
|
tone: "info",
|
|
264
|
-
text: "\u6574\u6761\u516C\u544A\u6761\u53EF\u70B9\u3001\u884C\u672B\u53C8\u6709 \xD7 \u65F6\u4E0D\u7528\u62C5\u5FC3\u51B2\u7A81\uFF1A\u5185\u5C42\u8282\u70B9\u6709\u81EA\u5DF1\u7684 `action` \u5C31\u4E0D\u4F1A\u518D\u5192\u6CE1\u7ED9\u5916\u5C42\uFF0C\u70B9 \xD7 \u53EA\u4F1A\u5173\u95ED\uFF0C\u4E0D\u4F1A\u540C\u65F6\u89E6\u53D1\u5916\u5C42\u7684\u8DF3\u8F6C\u6216\u5F39\u7A97\u3002"
|
|
274
|
+
text: "\u6574\u6761\u516C\u544A\u6761\u53EF\u70B9\u3001\u884C\u672B\u53C8\u6709 \xD7 \u65F6\u4E0D\u7528\u62C5\u5FC3\u51B2\u7A81\uFF1A\u5185\u5C42\u8282\u70B9\u6709\u81EA\u5DF1\u7684 `action` \u5C31\u4E0D\u4F1A\u518D\u5192\u6CE1\u7ED9\u5916\u5C42\uFF0C\u70B9 \xD7 \u53EA\u4F1A\u5173\u95ED\uFF0C\u4E0D\u4F1A\u540C\u65F6\u89E6\u53D1\u5916\u5C42\u7684\u8DF3\u8F6C\u6216\u5F39\u7A97\u3002\u4E0D\u8FC7**\u4E0D\u5EFA\u8BAE\u628A\u6574\u6761\u516C\u544A\u6761\u505A\u6210\u53EF\u70B9**\u2014\u2014\u7528\u6237\u60F3\u9009\u4E2D\u6587\u6848\u590D\u5236\u65F6\u4F1A\u8BEF\u89E6\u53D1\uFF0C\u628A\u6253\u5F00\u5165\u53E3\u6536\u5728\u53F3\u4FA7\u6309\u94AE\u4E0A\u66F4\u7A33\u3002"
|
|
275
|
+
},
|
|
276
|
+
{ t: "h3", text: "\u57CB\u70B9\u5199\u5728\u54EA\uFF0C\u51B3\u5B9A\u5B83\u88AB\u7B97\u6210\u4EC0\u4E48\uFF08\u91CD\u8981\uFF09" },
|
|
277
|
+
{
|
|
278
|
+
t: "p",
|
|
279
|
+
text: "\u4E0A\u62A5\u7ED9\u540E\u7AEF\u7684\u4E8B\u4EF6\u53EA\u6709\u4E09\u79CD\uFF1A`exposure` \u66DD\u5149 / `click` \u70B9\u51FB / `close` \u5173\u95ED\u3002\u4F60\u914D\u7684 `track` **\u4E0D\u662F**\u7B2C\u56DB\u79CD\u4E8B\u4EF6\uFF0C\u5B83\u662F\u5F80\u8FD9\u4E09\u79CD\u91CC\u9644\u52A0\u300C\u4F60\u8D77\u7684\u540D\u5B57\u300D\u3002\u540C\u4E00\u4E2A `track` \u5199\u5728\u4E0D\u540C\u4F4D\u7F6E\uFF0C\u5F52\u5C5E\u5B8C\u5168\u4E0D\u540C\uFF1A"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
t: "table",
|
|
283
|
+
head: ["track \u5199\u5728\u54EA", "\u7B97\u6210\u4EC0\u4E48", "\u4F60\u914D\u7684\u4E8B\u4EF6\u540D\u53BB\u54EA"],
|
|
284
|
+
rows: [
|
|
285
|
+
[
|
|
286
|
+
"\u8282\u70B9\u7684 `action` \u91CC\uFF08\u7528\u6237\u70B9\u4E86\u5B83\uFF09",
|
|
287
|
+
"\u4E00\u6761 `click`",
|
|
288
|
+
"`extra.name`\uFF1B\u540C\u4E00\u6B21\u70B9\u51FB\u91CC\u914D\u7684\u8DF3\u8F6C\u5730\u5740\u5E76\u8FDB `extra.url`"
|
|
289
|
+
],
|
|
290
|
+
["`stage.onShow`", "**\u4E0D\u7B97\u70B9\u51FB**\uFF0C\u5E76\u8FDB\u90A3\u6761\u66DD\u5149", "`exposure` \u7684 `extra.name`"],
|
|
291
|
+
[
|
|
292
|
+
"`stage.onClose`",
|
|
293
|
+
"**\u4E0D\u7B97\u70B9\u51FB**\uFF0C\u5E76\u8FDB\u90A3\u6761\u5173\u95ED",
|
|
294
|
+
"`close` \u7684 `extra.name`\uFF08`reason` \u4ECD\u662F\u5173\u95ED\u539F\u56E0\uFF09"
|
|
295
|
+
],
|
|
296
|
+
[
|
|
297
|
+
"\u5173\u95ED\u6309\u94AE\u7684 `action` \u91CC\uFF08\u548C `close` \u5199\u5728\u540C\u4E00\u4E2A `sequence`\uFF09",
|
|
298
|
+
"**\u4E0D\u7B97\u70B9\u51FB**\uFF0C\u5E76\u8FDB\u90A3\u6761\u5173\u95ED",
|
|
299
|
+
"`close` \u7684 `extra.name`"
|
|
300
|
+
]
|
|
301
|
+
]
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
t: "note",
|
|
305
|
+
tone: "warn",
|
|
306
|
+
text: "**\u4E00\u6B21\u70B9\u51FB\u53EA\u4EA7\u751F\u4E00\u6761 `click`\u3002**\u300C\u5148\u57CB\u70B9\u518D\u8DF3\u8F6C\u300D\u8FD9\u79CD\u6700\u5E38\u89C1\u7684 `sequence` \u5199\u6CD5\uFF0C\u4E24\u4E2A\u52A8\u4F5C\u4F1A\u5408\u5E76\u6210\u4E00\u6761\u4E0A\u62A5\uFF0C\u4E0D\u4F1A\u88AB\u7B97\u6210\u4E24\u6B21\u70B9\u51FB\u2014\u2014\u6240\u4EE5\u653E\u5FC3\u6309\u7B2C 11 \u8282\u5F00\u5934\u90A3\u4E2A\u4F8B\u5B50\u5199\u3002"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
t: "note",
|
|
310
|
+
tone: "warn",
|
|
311
|
+
text: '**\u5173\u95ED\u52A8\u4F5C\u4E0D\u4EA7\u751F\u70B9\u51FB\u3002**\u53EA\u8981\u8FD9\u4E00\u4E0B\u6267\u884C\u4E86 `close` / `closeAll`\uFF0C\u5B83\u7684\u672C\u8D28\u5C31\u662F\u300C\u5173\u6389\u5B83\u300D\u800C\u4E0D\u662F\u300C\u70B9\u4E86\u5B83\u300D\u2014\u2014\u540E\u7AEF\u7B97\u70B9\u51FB\u7387\u65F6\u5206\u6BCD\u662F\u66DD\u5149\u3001\u5206\u5B50\u662F\u70B9\u51FB\uFF0C\u628A\u5173\u95ED\u7B97\u8FDB\u70B9\u51FB\u4F1A\u8BA9\u70B9\u51FB\u7387\u865A\u9AD8\u3002\u4F60\u914D\u5728\u5173\u95ED\u6309\u94AE\u4E0A\u7684\u57CB\u70B9\u540D\u4E0D\u4F1A\u4E22\uFF0C\u5B83\u8FDB\u4E86 `close` \u7684 `extra`\u3002\u60F3\u533A\u5206\u300C\u4ECE\u54EA\u4E2A\u5165\u53E3\u5173\u7684\u300D\uFF0C\u66F4\u63A8\u8350\u7528 `close` \u52A8\u4F5C\u7684 `reason`\uFF08\u5982 `reason: "user-dismiss"`\uFF09\u3002'
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
t: "note",
|
|
315
|
+
tone: "warn",
|
|
316
|
+
text: "**\u591A\u89C6\u56FE\u91CC\u300C\u5173\u6389\u67D0\u4E00\u5C42\u300D\u76EE\u524D\u4E0D\u4EA7\u751F\u4EFB\u4F55\u4E0A\u62A5\u3002**\u6BD4\u5982\u516C\u544A\u6761\u70B9\u5F00\u5F39\u7A97\u540E\u53C8\u5173\u6389\u5F39\u7A97\uFF0C\u6B64\u65F6\u7269\u6599\u5E76\u6CA1\u6709\u5173\uFF08\u516C\u544A\u6761\u8FD8\u5728\u9875\u9762\u4E0A\uFF09\uFF0C\u6240\u4EE5\u65E2\u6CA1\u6709 `click` \u4E5F\u6CA1\u6709 `close`\u3002\u4F60\u5728\u90A3\u4E00\u5C42\u914D\u7684 `onClose` \u57CB\u70B9\u7B49\u4E0D\u5230\u6570\u636E\u2014\u2014\u8FD9\u662F\u5F53\u524D\u4E0A\u62A5\u6A21\u578B\u7684\u5DF2\u77E5\u7A7A\u767D\uFF0C\u9700\u8981\u7EDF\u8BA1\u300C\u6253\u5F00\u540E\u53C8\u5173\u6389\u300D\u7684\u8F6C\u5316\uFF0C\u5148\u627E\u524D\u7AEF / \u540E\u7AEF\u4E00\u8D77\u5B9A\u53E3\u5F84\uFF0C\u522B\u6307\u671B\u914D\u4E86\u5C31\u6709\u3002"
|
|
265
317
|
}
|
|
266
318
|
]
|
|
267
319
|
}
|
|
@@ -282,7 +334,7 @@ var sections2 = [
|
|
|
282
334
|
t: "code",
|
|
283
335
|
code: `{
|
|
284
336
|
"type": "countdown",
|
|
285
|
-
"to": "{{ user.
|
|
337
|
+
"to": "{{ user.serviceExpireTime }}",
|
|
286
338
|
"precision": "cs", // "s" \u6BCF\u79D2\uFF08\u9ED8\u8BA4\uFF09| "cs" \u5398\u79D2\uFF0C\u9010\u5E27\u5237\u65B0
|
|
287
339
|
"as": "cd", // \u6CE8\u5165\u7684\u53D8\u91CF\u540D\uFF0C\u9ED8\u8BA4 cd
|
|
288
340
|
"style": { "align": "center", "gap": 6 },
|
|
@@ -354,7 +406,7 @@ var sections2 = [
|
|
|
354
406
|
["\u4E2D\u6587", '`"2026\u5E749\u67081\u65E5"` `"2026\u5E749\u67081\u65E5 18\u70B9"` `"2026\u5E749\u67081\u65E5 18\u70B930\u5206"`'],
|
|
355
407
|
["\u63A5\u53E3\u8FD4\u56DE\u7684\u683C\u5F0F", '`"2026-09-01T18:00:00Z"` `"2026-09-01T18:00:00+08:00"`'],
|
|
356
408
|
["\u65F6\u95F4\u6233\uFF08\u6BEB\u79D2\uFF09", "`1786949074954`"],
|
|
357
|
-
["\u4ECE\u6570\u636E\u91CC\u53D6", '`"{{ user.
|
|
409
|
+
["\u4ECE\u6570\u636E\u91CC\u53D6", '`"{{ user.serviceExpireTime }}"`']
|
|
358
410
|
]
|
|
359
411
|
},
|
|
360
412
|
{
|
|
@@ -377,6 +429,10 @@ var sections2 = [
|
|
|
377
429
|
var countdown_default = sections2;
|
|
378
430
|
|
|
379
431
|
// src/docs/sections/data-state.ts
|
|
432
|
+
var userFieldRows = DEFAULT_USER_FIELDS.map((field) => [
|
|
433
|
+
`\`user.${field}\``,
|
|
434
|
+
USER_FIELD_LABELS[field] || ""
|
|
435
|
+
]);
|
|
380
436
|
var sections3 = [
|
|
381
437
|
{
|
|
382
438
|
id: "data",
|
|
@@ -408,6 +464,11 @@ var sections3 = [
|
|
|
408
464
|
t: "p",
|
|
409
465
|
text: "\u6570\u636E\u6CA1\u56DE\u6765\u3001\u6216\u8005\u62C9\u5931\u8D25\uFF0C\u5F39\u7A97\u90FD**\u4E0D\u4F1A\u6E32\u67D3**\uFF08\u4E0D\u5F39\u7A7A\u58F3\uFF09\u3002\u6240\u4EE5\u4E0D\u7528\u5728 DSL \u91CC\u5904\u7406\u52A0\u8F7D\u6001\u3002"
|
|
410
466
|
},
|
|
467
|
+
{
|
|
468
|
+
t: "note",
|
|
469
|
+
tone: "warn",
|
|
470
|
+
text: "**\u8FD9\u6761\u7684\u53E6\u4E00\u9762**\uFF1A\u586B\u4E86\u4E00\u4E2A\u5BBF\u4E3B\u6CA1\u6CE8\u518C\u7684\u6570\u636E\u6E90\u540D\uFF0C\u6574\u4EFD\u7269\u6599\u5C31\u4E00\u76F4\u662F\u7A7A\u7684\u2014\u2014\u9875\u9762\u4E0A\u4EC0\u4E48\u90FD\u4E0D\u51FA\u73B0\uFF0C\u4E5F\u4E0D\u4F1A\u62A5\u9519\u7ED9\u7528\u6237\u770B\u3002\u8C03\u8BD5\u53F0\u91CC\u9884\u89C8\u6B63\u5E38\u4E0D\u4EE3\u8868\u7EBF\u4E0A\u4E5F\u6B63\u5E38\uFF1A\u6570\u636E\u6E90\u662F**\u6309\u9875\u9762\u6CE8\u518C**\u7684\uFF0CA \u9875\u9762\u80FD\u7528\u7684\u6E90 B \u9875\u9762\u672A\u5FC5\u6709\u3002\u914D\u597D\u4E4B\u540E\u4E00\u5B9A\u8981\u5728\u76EE\u6807\u9875\u9762\u4E0A\u771F\u8DD1\u4E00\u904D\uFF0C\u522B\u53EA\u5728\u8C03\u8BD5\u53F0\u91CC\u770B\u3002"
|
|
471
|
+
},
|
|
411
472
|
{ t: "h3", text: "state\uFF1A\u5C40\u90E8\u72B6\u6001" },
|
|
412
473
|
{
|
|
413
474
|
t: "p",
|
|
@@ -449,12 +510,26 @@ var sections3 = [
|
|
|
449
510
|
rows: [
|
|
450
511
|
["`plans` \u7B49", "`data` \u7684\u5B57\u6BB5\u76F4\u63A5\u63D0\u5230\u9876\u5C42"],
|
|
451
512
|
["`state.xxx`", "\u5F53\u524D\u5C40\u90E8\u72B6\u6001"],
|
|
452
|
-
[
|
|
513
|
+
[
|
|
514
|
+
"`user.xxx`",
|
|
515
|
+
"\u5BBF\u4E3B\u9875\u9762\u6CE8\u5165\u7684\u767B\u5F55\u7528\u6237\u4FE1\u606F\uFF08\u7248\u672C\u3001\u5269\u4F59\u5929\u6570\u3001\u5E97\u94FA\u540D\u2026\uFF09\uFF0C\u4E0D\u7528\u53D1\u8BF7\u6C42\uFF0C\u5B57\u6BB5\u6E05\u5355\u89C1\u4E0B"
|
|
516
|
+
],
|
|
453
517
|
["`current` \u7B49", "`derived` \u63A8\u5BFC\u51FA\u6765\u7684\u522B\u540D"],
|
|
454
518
|
["`item` / `index`", "\u4EC5\u5728 `repeat` \u7684 `template` \u5185\u53EF\u7528"],
|
|
455
519
|
["`cd.xxx`", "\u4EC5\u5728 `countdown` \u7684 `children` \u5185\u53EF\u7528"]
|
|
456
520
|
]
|
|
457
521
|
},
|
|
522
|
+
{ t: "h3", text: "user.xxx\uFF1A\u53EF\u7528\u5B57\u6BB5\u6E05\u5355" },
|
|
523
|
+
{
|
|
524
|
+
t: "p",
|
|
525
|
+
text: "`user` \u662F\u5BBF\u4E3B\u6CE8\u5165\u7684\u767B\u5F55\u7528\u6237\u4FE1\u606F\uFF0C**\u53EA\u6709\u4E0B\u9762\u8FD9\u4E9B\u5B57\u6BB5**\uFF0C\u5B57\u6BB5\u540D\u5168\u5E73\u53F0\u901A\u7528\u3002\u5199\u522B\u7684\u540D\u5B57\uFF08\u5982 `user.expireDays`\uFF09\u4E0D\u4F1A\u62A5\u9519\uFF0C\u53EA\u4F1A\u6C42\u503C\u4E3A\u7A7A\u2014\u2014\u9875\u9762\u4E0A\u5C31\u662F\u4E00\u5904\u7A7A\u767D\u3001\u5012\u8BA1\u65F6\u5F52\u96F6\uFF0C\u6240\u4EE5\u4FDD\u5B58\u524D\u4F1A\u6309\u8FD9\u5F20\u8868\u6821\u9A8C\u4E00\u904D\u3002"
|
|
526
|
+
},
|
|
527
|
+
{ t: "table", head: ["\u5B57\u6BB5", "\u542B\u4E49"], rows: userFieldRows },
|
|
528
|
+
{
|
|
529
|
+
t: "note",
|
|
530
|
+
tone: "warn",
|
|
531
|
+
text: "\u5012\u8BA1\u65F6\u7684 `to` \u8981\u7528 `{{ user.serviceExpireTime }}`\uFF08\u5230\u671F\u65F6\u95F4\u70B9\uFF09\uFF0C\u4E0D\u662F `{{ user.remainDays }}`\uFF08\u5269\u4F59\u5929\u6570\uFF0C\u662F\u4E2A\u6570\u5B57\uFF0C\u53EA\u80FD\u5199\u5728\u6587\u6848\u91CC\uFF09\u3002"
|
|
532
|
+
},
|
|
458
533
|
{ t: "h3", text: "\u5728\u54EA\u4E9B\u5730\u65B9\u80FD\u5199 {{ }}" },
|
|
459
534
|
{
|
|
460
535
|
t: "p",
|
|
@@ -491,7 +566,7 @@ var sections3 = [
|
|
|
491
566
|
"visibleWhen": "current.gift != ''" }
|
|
492
567
|
|
|
493
568
|
// \u53EA\u5BF9\u65B0\u7528\u6237\u663E\u793A
|
|
494
|
-
{ "type": "text", "content": "\u65B0\u4EBA\u4E13\u4EAB", "visibleWhen": "user.
|
|
569
|
+
{ "type": "text", "content": "\u65B0\u4EBA\u4E13\u4EAB", "visibleWhen": "user.isNewUser" }`
|
|
495
570
|
},
|
|
496
571
|
{ t: "h3", text: "\u5207 tab \u65F6\u6574\u4F53\u6362\u80A4 / \u6362\u5E03\u5C40" },
|
|
497
572
|
{
|
|
@@ -890,6 +965,11 @@ var sections6 = [
|
|
|
890
965
|
t: "p",
|
|
891
966
|
text: "\u5706\u89D2\u88C1\u5207\u53EA\u4F5C\u7528\u4E8E\u5F39\u7A97\u5185\u5BB9\uFF0C\u5173\u95ED\u6309\u94AE\u5728\u88C1\u5207\u5C42\u4E4B\u5916\uFF0C\u6240\u4EE5 `offset` \u5199\u8D1F\u503C\u65F6\u4E0D\u4F1A\u88AB\u88C1\u6389\u3002\u4E24\u79CD\u5E38\u89C1\u505A\u6CD5\uFF1A"
|
|
892
967
|
},
|
|
968
|
+
{
|
|
969
|
+
t: "note",
|
|
970
|
+
tone: "warn",
|
|
971
|
+
text: "**\u4E24\u4E2A\u503C\u8981\u540C\u5411**\uFF1A`[x, y]` \u8981\u4E48\u90FD\u662F\u6B63\u6570\uFF08\u8D34\u5728\u5F39\u7A97\u5185\u4FA7\uFF09\uFF0C\u8981\u4E48\u90FD\u662F\u8D1F\u6570\uFF08\u6311\u5230\u5F39\u7A97\u5916\u4FA7\uFF09\u3002\u5199\u6210 `[-12, 12]` \u8FD9\u79CD\u4E00\u8D1F\u4E00\u6B63\uFF0C\u6309\u94AE\u4F1A\u6A2A\u8DE8\u5F39\u7A97\u8FB9\u7F18\u2014\u2014\u6A2A\u5411\u6311\u51FA\u53BB\u4E00\u534A\u3001\u7EB5\u5411\u53C8\u7F29\u5728\u91CC\u9762\uFF0C\u770B\u7740\u5C31\u662F\u8D34\u6B6A\u4E86\u3002"
|
|
972
|
+
},
|
|
893
973
|
{
|
|
894
974
|
t: "code",
|
|
895
975
|
code: `// \u53F3\u4E0A\u89D2\u5916\u4FA7
|
|
@@ -909,6 +989,35 @@ var sections6 = [
|
|
|
909
989
|
t: "note",
|
|
910
990
|
tone: "warn",
|
|
911
991
|
text: "\u653E\u5230\u5916\u9762\u65F6\u8BB0\u5F97\u7559\u51FA\u7A7A\u95F4\uFF1A\u5F39\u7A97\u56DB\u5468\u6709 20px \u5185\u8FB9\u8DDD\uFF0C\u8D85\u8FC7\u8FD9\u4E2A\u8DDD\u79BB\u5728\u5C0F\u5C4F\u4E0A\u53EF\u80FD\u8D34\u8FB9\u3002\u5728\u8C03\u8BD5\u53F0\u91CC\u628A\u9884\u89C8\u7F29\u653E\u5207\u5230 100% \u786E\u8BA4\u4E00\u4E0B\u3002"
|
|
992
|
+
},
|
|
993
|
+
{ t: "h3", text: "banner \u7684\u5BBD\u9AD8\u6BD4\uFF1A\u4E0D\u80FD\u5C0F\u4E8E 12:1" },
|
|
994
|
+
{
|
|
995
|
+
t: "p",
|
|
996
|
+
text: "\u6574\u56FE banner \u9760\u6839\u8282\u70B9\u7684 `aspectRatio` \u7EF4\u6301\u7B49\u6BD4\uFF08\u5199\u6B7B\u9AD8\u5EA6\u7684\u8BDD\u5751\u4F4D\u4E00\u5BBD\uFF0C\u56FE\u5C31\u88AB\u6A2A\u5411\u62C9\u53D8\u5F62\uFF09\u3002\u4F46\u6BD4\u4F8B\u8D8A\u65B9\uFF0C\u5728\u5BBD\u5C4F\u4E0A\u7B97\u51FA\u6765\u8D8A\u9AD8\u2014\u2014**\u6BD4\u4F8B\u5C0F\u4E8E 12:1 \u7684\u914D\u7F6E\u4FDD\u5B58\u65F6\u4F1A\u88AB\u62E6\u4E0B**\u3002"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
t: "table",
|
|
1000
|
+
head: ["\u5BBD\u9AD8\u6BD4", "1800px \u5BBD\u7684\u5751\u4F4D\u91CC\u6709\u591A\u9AD8", "\u7ED3\u679C"],
|
|
1001
|
+
rows: [
|
|
1002
|
+
["`960 / 56`\uFF08\u224817:1\uFF09", "\u7EA6 105px", "\u2705 \u4E00\u6761\u901A\u680F\u63D0\u793A"],
|
|
1003
|
+
["`24 / 1`", "\u7EA6 75px", "\u2705 \u66F4\u6241\uFF0C\u89C6\u89C9\u66F4\u8F7B"],
|
|
1004
|
+
["`1200 / 300`\uFF084:1\uFF09", "\u7EA6 451px", "\u274C \u5403\u6389\u9996\u5C4F\u4E00\u5927\u5757"]
|
|
1005
|
+
]
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
t: "note",
|
|
1009
|
+
tone: "info",
|
|
1010
|
+
text: "banner \u5751\u4F4D\u5E38\u9A7B\u5728\u9875\u9762\u9876\u90E8\u3001\u4E0D\u8DDF\u968F\u5185\u5BB9\u6EDA\u52A8\uFF0C\u9AD8\u5EA6\u662F**\u5751\u4F4D\u7684\u8BBE\u8BA1\u5C3A\u5BF8**\uFF0C\u4E0D\u662F\u914D\u7F6E\u7684\u81EA\u7531\u5EA6\u3002\u9700\u8981\u5927\u56FE\u5F3A\u66DD\u5149\uFF0C\u7528\u5F39\u7A97\uFF08popup\uFF09\uFF0C\u522B\u628A banner \u6491\u6210\u5927\u56FE\u3002"
|
|
1011
|
+
},
|
|
1012
|
+
{ t: "h3", text: "banner / \u516C\u544A\u6761\uFF1A\u522B\u5199 maxWidth" },
|
|
1013
|
+
{
|
|
1014
|
+
t: "p",
|
|
1015
|
+
text: '`maxWidth` \u662F\u7ED9**\u5F39\u7A97**\u7528\u7684\uFF08\u5F39\u7A97\u8981\u9650\u5BBD\uFF0C\u5426\u5219\u5927\u5C4F\u4E0A\u4F1A\u62C9\u5F97\u5F88\u957F\uFF09\u3002banner \u548C\u516C\u544A\u6761\u662F\u901A\u680F\u5F62\u6001\uFF0C\u5BBD\u5EA6\u5E94\u8BE5\u7531\u9875\u9762\u4E0A\u90A3\u4E2A\u5751\u4F4D\u51B3\u5B9A\u2014\u2014\u5751\u4F4D\u6709\u591A\u5BBD\u662F\u5404\u4E2A\u9875\u9762\u7684\u5E03\u5C40\u8BF4\u4E86\u7B97\uFF0C\u914D\u7F6E\u91CC\u5199\u6B7B\u4E00\u4E2A\u4E0A\u9650\uFF0C\u4E00\u65E6\u5C0F\u4E8E\u5751\u4F4D\u5BBD\u5EA6\u5C31\u94FA\u4E0D\u6EE1\u3001\u53F3\u8FB9\u7A7A\u4E00\u622A\u3002\u5199 `"width": "100%"` \u5C31\u591F\u4E86\u3002'
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
t: "note",
|
|
1019
|
+
tone: "info",
|
|
1020
|
+
text: "\u786E\u5B9E\u60F3\u9650\u5BBD\uFF08\u6BD4\u5982\u8D85\u5BBD\u5C4F\u4E0A\u522B\u62C9\u592A\u957F\uFF09\u4E5F\u53EF\u4EE5\u5199\uFF0C\u5199\u4E86\u4F1A\u81EA\u52A8\u5C45\u4E2D\u3001\u4E0D\u4F1A\u8D34\u7740\u5DE6\u8FB9\u3002\u4F46\u5148\u786E\u8BA4\u76EE\u6807\u9875\u9762\u7684\u5751\u4F4D\u5230\u5E95\u6709\u591A\u5BBD\uFF0C\u522B\u51ED\u611F\u89C9\u586B\u4E00\u4E2A\u6570\u5B57\u3002"
|
|
912
1021
|
}
|
|
913
1022
|
]
|
|
914
1023
|
}
|
|
@@ -1254,6 +1363,25 @@ var sections_default = sections9;
|
|
|
1254
1363
|
|
|
1255
1364
|
// src/docs/meta.ts
|
|
1256
1365
|
var changelog = [
|
|
1366
|
+
{
|
|
1367
|
+
date: "2026-08-22",
|
|
1368
|
+
items: [
|
|
1369
|
+
"\u5217\u51FA user \u53EF\u7528\u5B57\u6BB5\u6E05\u5355\uFF08\u7B2C 9 \u8282\uFF09\uFF1A\u5BBF\u4E3B\u6CE8\u5165\u7684\u5C31\u662F\u767B\u5F55\u7528\u6237\u4FE1\u606F\u90A3\u4E00\u5957\uFF0C\u5B57\u6BB5\u540D\u5168\u5E73\u53F0\u901A\u7528",
|
|
1370
|
+
"\u4FDD\u5B58\u65F6\u53EF\u6309\u767D\u540D\u5355\u6821\u9A8C {{ user.xxx }}\uFF0C\u5199\u9519\u5B57\u6BB5\u540D\u76F4\u63A5\u62A5\u9519\u5E76\u63D0\u793A\u6700\u63A5\u8FD1\u7684\u5019\u9009\u2014\u2014\u4EE5\u524D\u53EA\u4F1A\u5728\u9875\u9762\u4E0A\u663E\u793A\u6210\u7A7A\u767D",
|
|
1371
|
+
"\u793A\u4F8B\u7EDF\u4E00\u6539\u7528\u771F\u5B9E\u5B57\u6BB5\uFF1A\u5269\u4F59\u5929\u6570\u4E00\u5F8B user.remainDays\uFF08\u539F\u5148 lastDayLeft / expireDays / trialLeftDays \u4E09\u79CD\u5199\u6CD5\u90FD\u662F\u4E0D\u5B58\u5728\u7684\u5B57\u6BB5\uFF09\uFF0C\u5230\u671F\u65F6\u95F4 user.serviceExpireTime\uFF0C\u7248\u672C\u540D user.levelName",
|
|
1372
|
+
"\u793A\u4F8B \u2467 \u6574\u56FE Banner \u6539\u6210\u7A84\u901A\u680F\u6BD4\u4F8B 960 \xD7 56\uFF0C\u5E95\u56FE\u6362\u6210\u5185\u8054 SVG \u5360\u4F4D\u56FE\uFF08\u5916\u94FE\u5728\u5BBF\u4E3B\u73AF\u5883\u4E0D\u4E00\u5B9A\u901A\uFF09",
|
|
1373
|
+
"\u65B0\u589E\u7B2C 11 \u8282\u300C\u57CB\u70B9\u5199\u5728\u54EA\uFF0C\u51B3\u5B9A\u5B83\u88AB\u7B97\u6210\u4EC0\u4E48\u300D\uFF1A\u540C\u4E00\u4E2A track \u5199\u5728\u8282\u70B9 action / stage.onShow / stage.onClose / \u5173\u95ED\u6309\u94AE\u91CC\uFF0C\u5F52\u5C5E\u5B8C\u5168\u4E0D\u540C\uFF0C\u52A1\u5FC5\u770B\u4E00\u904D",
|
|
1374
|
+
"\u3010\u53E3\u5F84\u4FEE\u6B63\u3011\u4E00\u6B21\u70B9\u51FB\u53EA\u4EA7\u751F\u4E00\u6761 click\uFF1A\u4EE5\u524D\u300C\u5148\u57CB\u70B9\u518D\u8DF3\u8F6C\u300D\u7684 sequence \u4F1A\u88AB\u7B97\u6210\u4E24\u6B21\u70B9\u51FB\uFF0ConShow / onClose \u91CC\u7684\u57CB\u70B9\u4E5F\u88AB\u7B97\u6210\u70B9\u51FB\uFF0C\u5B9E\u6D4B\u4E00\u4E2A\u5F39\u7A97\u7684\u5B8C\u6574\u751F\u547D\u5468\u671F\u4E0A\u62A5\u4E86 6 \u6761\u3001\u70B9\u51FB\u91CF\u865A\u9AD8 4 \u500D\uFF0C\u73B0\u5DF2\u4FEE\u6B63",
|
|
1375
|
+
"\u3010\u53E3\u5F84\u4FEE\u6B63\u3011\u5173\u95ED\u52A8\u4F5C\u4E0D\u518D\u7B97\u70B9\u51FB\uFF1A\u914D\u5728\u5173\u95ED\u6309\u94AE\u4E0A\u7684\u57CB\u70B9\u540D\u5E76\u8FDB close \u7684 extra\uFF0C\u60F3\u533A\u5206\u5173\u95ED\u5165\u53E3\u8BF7\u7528 close \u52A8\u4F5C\u7684 reason",
|
|
1376
|
+
"\u3010\u5DF2\u77E5\u7A7A\u767D\u3011\u591A\u89C6\u56FE\u91CC\u300C\u5173\u6389\u67D0\u4E00\u5C42\u300D\u4E0D\u4EA7\u751F\u4EFB\u4F55\u4E0A\u62A5\uFF08\u5982\u516C\u544A\u6761\u5F39\u51FA\u5F39\u7A97\u540E\u53C8\u5173\u6389\u5F39\u7A97\uFF0C\u7269\u6599\u5E76\u6CA1\u6709\u5173\uFF09\uFF0C\u90A3\u4E00\u5C42\u914D\u7684 onClose \u57CB\u70B9\u7B49\u4E0D\u5230\u6570\u636E",
|
|
1377
|
+
"banner / \u516C\u544A\u6761\u4E0D\u8981\u5199 maxWidth\uFF08\u7B2C 3 \u8282\uFF09\uFF1A\u901A\u680F\u5F62\u6001\u7684\u5BBD\u5EA6\u8BE5\u7531\u9875\u9762\u5751\u4F4D\u51B3\u5B9A\uFF0C\u5199\u6B7B\u4E0A\u9650\u4F1A\u94FA\u4E0D\u6EE1\u3001\u53F3\u8FB9\u7A7A\u4E00\u622A\uFF1B\u786E\u5B9E\u8981\u9650\u5BBD\u5219\u4F1A\u81EA\u52A8\u5C45\u4E2D",
|
|
1378
|
+
"\u6570\u636E\u6E90\u586B\u4E86\u5BBF\u4E3B\u6CA1\u6CE8\u518C\u7684\u540D\u5B57\uFF0C\u6574\u4EFD\u7269\u6599\u4E00\u76F4\u662F\u7A7A\u7684\u3001\u4E0D\u62A5\u9519\uFF08\u7B2C 8 \u8282\uFF09\uFF1A\u6570\u636E\u6E90\u6309\u9875\u9762\u6CE8\u518C\uFF0C\u8C03\u8BD5\u53F0\u6B63\u5E38\u4E0D\u4EE3\u8868\u76EE\u6807\u9875\u9762\u6B63\u5E38\uFF0C\u914D\u5B8C\u8981\u5728\u771F\u5B9E\u9875\u9762\u8DD1\u4E00\u904D",
|
|
1379
|
+
"\u793A\u4F8B \u2464 \u516C\u544A\u6761\u6539\u6210\u53EA\u6709\u53F3\u4FA7\u6309\u94AE\u80FD\u6253\u5F00\u5F39\u7A97\uFF1A\u6574\u6761\u53EF\u70B9\u4F1A\u8BA9\u7528\u6237\u60F3\u9009\u4E2D\u6587\u6848\u590D\u5236\u65F6\u8BEF\u89E6\u53D1",
|
|
1380
|
+
"\u3010\u65B0\u589E\u786C\u7EA6\u675F\u3011banner \u7684\u5BBD\u9AD8\u6BD4\u4E0D\u80FD\u5C0F\u4E8E 12:1\uFF08\u7B2C 3 \u8282\uFF09\uFF1Abanner \u9AD8\u5EA6\u662F\u300C\u5751\u4F4D\u5BBD\u5EA6 \xD7 \u6BD4\u4F8B\u300D\u7B97\u51FA\u6765\u7684\uFF0C\u6BD4\u4F8B\u8D8A\u65B9\u5728\u5BBD\u5C4F\u4E0A\u8D8A\u9AD8\uFF0C1200\xD7300 \u90A3\u79CD\u5927\u56FE\u5728 1800 \u5BBD\u7684\u5751\u4F4D\u91CC\u6709 451px\u3001\u76F4\u63A5\u5403\u6389\u9996\u5C4F\uFF0C\u73B0\u5728\u4FDD\u5B58\u65F6\u4F1A\u88AB\u62E6\u4E0B",
|
|
1381
|
+
"\u5173\u95ED\u6309\u94AE\u7684 offset \u4E24\u4E2A\u503C\u8981\u540C\u5411\uFF08\u7B2C 3 \u8282\uFF09\uFF1A\u5199\u6210 [-12, 12] \u8FD9\u79CD\u4E00\u8D1F\u4E00\u6B63\uFF0C\u6309\u94AE\u4F1A\u6A2A\u8DE8\u5F39\u7A97\u8FB9\u7F18\u3001\u770B\u7740\u50CF\u8D34\u6B6A\u4E86\uFF0C\u793A\u4F8B \u2466 \u5DF2\u4FEE",
|
|
1382
|
+
"\u793A\u4F8B \u2467 \u6574\u56FE Banner \u7684\u5173\u95ED\u56FE\u6807\u6539\u7528 calc(100% - 32px) \u56FA\u5B9A\u8D34\u53F3\u2014\u2014\u539F\u5148\u7528\u767E\u5206\u6BD4\u5B9A\u4F4D\uFF0C\u5751\u4F4D\u8D8A\u5BBD\u79BB\u53F3\u8FB9\u7F18\u8D8A\u8FDC\uFF081885 \u5BBD\u65F6\u5DEE\u51FA\u5FEB 200px\uFF09\uFF0C\u770B\u7740\u50CF\u98D8\u5728\u4E2D\u95F4"
|
|
1383
|
+
]
|
|
1384
|
+
},
|
|
1257
1385
|
{
|
|
1258
1386
|
date: "2026-08-18",
|
|
1259
1387
|
items: [
|
|
@@ -1520,7 +1648,7 @@ var renewExpire = {
|
|
|
1520
1648
|
children: [
|
|
1521
1649
|
{
|
|
1522
1650
|
type: "text",
|
|
1523
|
-
content: "\u23F0 \u8BD5\u7528\u5269 {{ user.
|
|
1651
|
+
content: "\u23F0 \u8BD5\u7528\u5269 {{ user.remainDays }} \u5929",
|
|
1524
1652
|
style: {
|
|
1525
1653
|
// 不写 alignSelf 会被 flex 列拉满整行,标签必须按内容宽度
|
|
1526
1654
|
alignSelf: "flex-start",
|
|
@@ -1547,7 +1675,7 @@ var renewExpire = {
|
|
|
1547
1675
|
children: [
|
|
1548
1676
|
{
|
|
1549
1677
|
type: "text",
|
|
1550
|
-
content: "{{ user.
|
|
1678
|
+
content: "{{ user.remainDays }} \u5929\u540E\u8BD5\u7528\u5230\u671F\uFF0C\u4EE5\u4E0B\u80FD\u529B\u4F1A\u505C\u6B62\uFF1A",
|
|
1551
1679
|
style: { fontSize: 15, fontWeight: "800", color: "#1f2533", marginBottom: 11 }
|
|
1552
1680
|
},
|
|
1553
1681
|
{
|
|
@@ -1941,7 +2069,7 @@ var lastDay = {
|
|
|
1941
2069
|
children: [
|
|
1942
2070
|
{
|
|
1943
2071
|
type: "text",
|
|
1944
|
-
content: "\u{1F525} \u8FD8\u5269\u6700\u540E {{ user.
|
|
2072
|
+
content: "\u{1F525} \u8FD8\u5269\u6700\u540E {{ user.remainDays }} \u5929",
|
|
1945
2073
|
style: {
|
|
1946
2074
|
alignSelf: "flex-start",
|
|
1947
2075
|
background: "rgba(255,255,255,0.18)",
|
|
@@ -1961,7 +2089,7 @@ var lastDay = {
|
|
|
1961
2089
|
// ===== 分格倒计时 + 厘秒逐帧动画 =====
|
|
1962
2090
|
{
|
|
1963
2091
|
type: "countdown",
|
|
1964
|
-
to: "{{ user.
|
|
2092
|
+
to: "{{ user.serviceExpireTime }}",
|
|
1965
2093
|
precision: "cs",
|
|
1966
2094
|
as: "cd",
|
|
1967
2095
|
style: { align: "center", gap: 6, marginTop: 10 },
|
|
@@ -2171,14 +2299,15 @@ var noticeToPopup = {
|
|
|
2171
2299
|
state: { plan: 0 },
|
|
2172
2300
|
derived: { current: { list: "plans", indexBy: "plan" } },
|
|
2173
2301
|
views: {
|
|
2174
|
-
//
|
|
2302
|
+
// 常驻在页面里的公告条,点右侧按钮才弹弹窗
|
|
2175
2303
|
bar: {
|
|
2176
2304
|
type: "notice",
|
|
2177
2305
|
stage: {
|
|
2178
2306
|
width: "100%",
|
|
2179
2307
|
height: "auto",
|
|
2180
2308
|
layout: "flow",
|
|
2181
|
-
|
|
2309
|
+
// 通栏类型不写 maxWidth,宽度交给宿主坑位(写死上限会铺不满、右边留白)
|
|
2310
|
+
style: { radius: 6, background: "#fff8e6" },
|
|
2182
2311
|
// 多视图下每层各埋各的,能分别统计「公告条曝光」和「弹窗曝光」
|
|
2183
2312
|
onShow: { type: "track", event: "notice_show", params: { view: "bar" } },
|
|
2184
2313
|
onClose: {
|
|
@@ -2190,20 +2319,14 @@ var noticeToPopup = {
|
|
|
2190
2319
|
nodes: [
|
|
2191
2320
|
{
|
|
2192
2321
|
type: "flex",
|
|
2193
|
-
//
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
type: "sequence",
|
|
2197
|
-
actions: [
|
|
2198
|
-
{ type: "track", event: "notice_click", params: { from: "bar" } },
|
|
2199
|
-
{ type: "open", view: "renew" }
|
|
2200
|
-
]
|
|
2201
|
-
},
|
|
2322
|
+
// 行容器本身不绑动作:公告条的文案是给人读的,整条可点会让用户
|
|
2323
|
+
// 想选中文字复制时误弹窗;打开弹窗的入口只有右侧那个按钮
|
|
2324
|
+
style: { align: "center", gap: 10, padding: "10px 14px" },
|
|
2202
2325
|
children: [
|
|
2203
2326
|
{ type: "text", content: "\u{1F4E2}", style: { fontSize: 16 } },
|
|
2204
2327
|
{
|
|
2205
2328
|
type: "text",
|
|
2206
|
-
content: "{{ user.shopName }}\uFF0C\u4F60\u7684{{ user.
|
|
2329
|
+
content: "{{ user.shopName }}\uFF0C\u4F60\u7684{{ user.levelName }}\u8FD8\u6709 {{ user.remainDays }} \u5929\u5230\u671F",
|
|
2207
2330
|
style: { flex: "1", fontSize: 14, color: "#8a6212", lineHeight: 1.5 }
|
|
2208
2331
|
},
|
|
2209
2332
|
{
|
|
@@ -2217,7 +2340,7 @@ var noticeToPopup = {
|
|
|
2217
2340
|
color: "#fff",
|
|
2218
2341
|
fontSize: 12
|
|
2219
2342
|
},
|
|
2220
|
-
//
|
|
2343
|
+
// 打开弹窗的唯一入口。叠一层弹窗,公告条留在下面
|
|
2221
2344
|
action: {
|
|
2222
2345
|
type: "sequence",
|
|
2223
2346
|
actions: [
|
|
@@ -2227,7 +2350,7 @@ var noticeToPopup = {
|
|
|
2227
2350
|
}
|
|
2228
2351
|
},
|
|
2229
2352
|
{
|
|
2230
|
-
//
|
|
2353
|
+
// 关掉整条公告(不是关弹窗——此时弹窗还没开)
|
|
2231
2354
|
type: "text",
|
|
2232
2355
|
content: "\u2715",
|
|
2233
2356
|
style: {
|
|
@@ -2376,7 +2499,7 @@ var confirmAndSwitch = {
|
|
|
2376
2499
|
children: [
|
|
2377
2500
|
{
|
|
2378
2501
|
type: "text",
|
|
2379
|
-
content: "\u8BD5\u7528\u8FD8\u5269 {{ user.
|
|
2502
|
+
content: "\u8BD5\u7528\u8FD8\u5269 {{ user.remainDays }} \u5929",
|
|
2380
2503
|
style: {
|
|
2381
2504
|
fontSize: 19,
|
|
2382
2505
|
fontWeight: "800",
|
|
@@ -2687,7 +2810,9 @@ var tabTheme = {
|
|
|
2687
2810
|
closeButton: {
|
|
2688
2811
|
show: true,
|
|
2689
2812
|
position: "top-right",
|
|
2690
|
-
|
|
2813
|
+
// 两个值要么都往内、要么都往外:[-12, 12] 这种一外一内会让按钮横跨弹窗边缘,
|
|
2814
|
+
// 看着像贴歪了。这里放在弹窗内侧右上角(stage 有 22 的 padding,压不到内容)
|
|
2815
|
+
offset: [12, 12],
|
|
2691
2816
|
size: 28,
|
|
2692
2817
|
icon: "\u2715",
|
|
2693
2818
|
style: { color: "rgba(255,255,255,0.85)", fontSize: 16 }
|
|
@@ -2849,16 +2974,32 @@ var tabTheme = {
|
|
|
2849
2974
|
var tab_theme_default = tabTheme;
|
|
2850
2975
|
|
|
2851
2976
|
// src/docs/examples/image-banner.ts
|
|
2852
|
-
var RATIO = "
|
|
2977
|
+
var RATIO = "1920 / 75";
|
|
2978
|
+
var BANNER_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="75" viewBox="0 0 1920 75">
|
|
2979
|
+
<defs>
|
|
2980
|
+
<linearGradient id="g" x1="0" y1="0" x2="1" y2="0">
|
|
2981
|
+
<stop offset="0" stop-color="#ff4433"/>
|
|
2982
|
+
<stop offset="1" stop-color="#ff8a3c"/>
|
|
2983
|
+
</linearGradient>
|
|
2984
|
+
</defs>
|
|
2985
|
+
<rect width="1920" height="75" fill="url(#g)"/>
|
|
2986
|
+
<text x="48" y="47" font-family="sans-serif" font-size="24" fill="#ffffff">\u79CB\u5B63\u5927\u4FC3 \xB7 \u6574\u56FE Banner \u5360\u4F4D\u56FE</text>
|
|
2987
|
+
<rect x="1344" y="19" width="288" height="38" rx="19" fill="#ffffff" fill-opacity="0.92"/>
|
|
2988
|
+
<text x="1488" y="45" font-family="sans-serif" font-size="22" fill="#d43a1f" text-anchor="middle">\u7ACB\u5373\u67E5\u770B</text>
|
|
2989
|
+
</svg>`;
|
|
2990
|
+
var BANNER_IMAGE = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(BANNER_SVG)}`;
|
|
2853
2991
|
var imageBanner = {
|
|
2854
2992
|
version: 1,
|
|
2855
2993
|
type: "banner",
|
|
2856
|
-
meta: { name: "\u6574\u56FE Banner\uFF08\
|
|
2994
|
+
meta: { name: "\u6574\u56FE Banner\uFF08\u7A84\u901A\u680F + \u70ED\u533A\uFF09" },
|
|
2857
2995
|
stage: {
|
|
2858
2996
|
width: "100%",
|
|
2997
|
+
// 高度由下面那层 box 的 aspectRatio 撑出来,所以这里是 auto + flow
|
|
2859
2998
|
height: "auto",
|
|
2860
2999
|
layout: "flow",
|
|
2861
|
-
|
|
3000
|
+
// 不写 maxWidth:banner 是通栏类型,宽度该由宿主坑位决定。
|
|
3001
|
+
// 写死上限后一旦小于坑位宽度就铺不满、右边留白
|
|
3002
|
+
style: { radius: 8, overflow: "hidden" },
|
|
2862
3003
|
onClose: {
|
|
2863
3004
|
type: "track",
|
|
2864
3005
|
event: "banner_dismiss",
|
|
@@ -2867,21 +3008,23 @@ var imageBanner = {
|
|
|
2867
3008
|
},
|
|
2868
3009
|
nodes: [
|
|
2869
3010
|
{
|
|
2870
|
-
// 热区的定位容器:宽度铺满,高度由 aspectRatio
|
|
3011
|
+
// 热区的定位容器:宽度铺满,高度由 aspectRatio 按实际宽度算。
|
|
3012
|
+
// 子节点都是绝对定位、撑不起高度,这里没有确定高度的话热区的百分比 rect 全算成 0
|
|
2871
3013
|
type: "box",
|
|
2872
3014
|
style: { width: "100%", aspectRatio: RATIO },
|
|
2873
3015
|
children: [
|
|
2874
3016
|
{
|
|
2875
3017
|
type: "image",
|
|
2876
3018
|
rect: [0, 0, "100%", "100%"],
|
|
2877
|
-
src:
|
|
3019
|
+
src: BANNER_IMAGE,
|
|
3020
|
+
// 容器比例与图比例一致,cover 既不裁也不拉,图里元素与百分比热区天然对齐
|
|
2878
3021
|
style: { objectFit: "cover" }
|
|
2879
3022
|
},
|
|
2880
3023
|
{
|
|
2881
|
-
//
|
|
3024
|
+
// 左半边:文案区,点了看活动详情(图里文字从 48/1920 起,热区框大一圈)
|
|
2882
3025
|
type: "box",
|
|
2883
|
-
rect: ["
|
|
2884
|
-
style: { radius:
|
|
3026
|
+
rect: ["1.5%", "16%", "46%", "68%"],
|
|
3027
|
+
style: { radius: 6, background: "rgba(255,255,255,0.16)", cursor: "pointer" },
|
|
2885
3028
|
action: {
|
|
2886
3029
|
type: "sequence",
|
|
2887
3030
|
actions: [
|
|
@@ -2895,10 +3038,10 @@ var imageBanner = {
|
|
|
2895
3038
|
}
|
|
2896
3039
|
},
|
|
2897
3040
|
{
|
|
2898
|
-
//
|
|
3041
|
+
// 右侧按钮:直接去下单。图里按钮是 1344~1632(70%~85%),热区照着框
|
|
2899
3042
|
type: "box",
|
|
2900
|
-
rect: ["70%", "
|
|
2901
|
-
style: { radius: 999, background: "rgba(255,
|
|
3043
|
+
rect: ["70%", "25%", "15%", "51%"],
|
|
3044
|
+
style: { radius: 999, background: "rgba(255,255,255,0.16)", cursor: "pointer" },
|
|
2902
3045
|
action: {
|
|
2903
3046
|
type: "sequence",
|
|
2904
3047
|
actions: [
|
|
@@ -2912,17 +3055,20 @@ var imageBanner = {
|
|
|
2912
3055
|
}
|
|
2913
3056
|
},
|
|
2914
3057
|
{
|
|
2915
|
-
//
|
|
3058
|
+
// 关闭按钮固定贴右:x 用 calc 而不是百分比 ——
|
|
3059
|
+
// 百分比是按容器宽度算的,坑位越宽它离右边缘越远(1885 宽时能差出快 200px),
|
|
3060
|
+
// 看着就像飘在中间。calc(100% - 32px) 让它永远距右边缘 12px(20 宽 + 12 边距);
|
|
3061
|
+
// y 同理用 calc 垂直居中,banner 高度随坑位宽度变,写死百分比会上下飘
|
|
2916
3062
|
type: "text",
|
|
2917
3063
|
content: "\u2715",
|
|
2918
|
-
rect: ["
|
|
3064
|
+
rect: ["calc(100% - 32px)", "calc(50% - 10px)", 20, 20],
|
|
2919
3065
|
style: {
|
|
2920
3066
|
textAlign: "center",
|
|
2921
|
-
lineHeight:
|
|
2922
|
-
radius:
|
|
3067
|
+
lineHeight: 20,
|
|
3068
|
+
radius: 10,
|
|
2923
3069
|
background: "rgba(0,0,0,0.35)",
|
|
2924
3070
|
color: "#fff",
|
|
2925
|
-
fontSize:
|
|
3071
|
+
fontSize: 12,
|
|
2926
3072
|
cursor: "pointer"
|
|
2927
3073
|
},
|
|
2928
3074
|
// 「不再提醒」写在 close 的 reason 上,上报给后端即可,不配 call 写本地存储
|
|
@@ -3073,7 +3219,9 @@ var noticeBar = {
|
|
|
3073
3219
|
width: "100%",
|
|
3074
3220
|
height: "auto",
|
|
3075
3221
|
layout: "flow",
|
|
3076
|
-
|
|
3222
|
+
// 不写 maxWidth:公告条是通栏类型,宽度该由宿主坑位决定。
|
|
3223
|
+
// 写死上限后一旦小于坑位宽度就铺不满,右边留白(core 会居中,但仍不如铺满)
|
|
3224
|
+
style: { radius: 6, background: "#fff8e6" },
|
|
3077
3225
|
onShow: { type: "track", event: "notice_show", params: { notice: "guide" } },
|
|
3078
3226
|
onClose: {
|
|
3079
3227
|
type: "track",
|
|
@@ -3163,7 +3311,7 @@ var examples = [
|
|
|
3163
3311
|
dsl: confirmAndSwitch
|
|
3164
3312
|
},
|
|
3165
3313
|
{ label: "\u2466 \u5207 tab \u6362\u80A4\u6362\u5E03\u5C40", value: "tabTheme", dsl: tab_theme_default },
|
|
3166
|
-
{ label: "\u2467 \u6574\u56FE Banner\uFF08\
|
|
3314
|
+
{ label: "\u2467 \u6574\u56FE Banner\uFF08\u7A84\u901A\u680F + \u70ED\u533A\uFF09", value: "imageBanner", dsl: image_banner_default }
|
|
3167
3315
|
];
|
|
3168
3316
|
var examples_default = examples;
|
|
3169
3317
|
|
|
@@ -3429,6 +3577,8 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6
|
|
|
3429
3577
|
- \`onClose\` \u5728\u70B9 X\u3001\u70B9\u906E\u7F69\u3001\u8D70 \`close\` \u52A8\u4F5C\u3001\u88AB \`replace\` \u9876\u6389\u65F6\u90FD\u4F1A\u89E6\u53D1
|
|
3430
3578
|
- \`{{ closeReason }}\` \u53D6\u503C\uFF1A\`close-button\` / \`mask\` / \`replace\` / \`close\` \u52A8\u4F5C\u81EA\u5E26\u7684 \`reason\`\uFF08\u5982 \`"user-dismiss"\`\uFF09/ \u9ED8\u8BA4 \`action\`
|
|
3431
3579
|
- \u591A\u89C6\u56FE\u65F6\u6BCF\u5C42\u5404\u5199\u5404\u7684\uFF0C\u624D\u80FD\u5206\u5F00\u7EDF\u8BA1
|
|
3580
|
+
- **\`onShow\` / \`onClose\` \u91CC\u7684 \`track\` \u4E0D\u4F1A\u88AB\u7B97\u6210\u70B9\u51FB**\uFF1A\u4E0A\u62A5\u7684 \`event\` \u662F\u300C\u66DD\u5149 / \u70B9\u51FB / \u5173\u95ED\u300D\u4E09\u503C\uFF0C\u524D\u53F0\u6309\u65F6\u673A\u51B3\u5B9A\u62A5\u54EA\u4E2A\uFF0C\u8FD9\u4E24\u4E2A\u94A9\u5B50\u91CC\u7684\u57CB\u70B9\u540D\u5206\u522B\u5E76\u8FDB\u66DD\u5149\u3001\u5173\u95ED\u90A3\u6761\u4E0A\u62A5\uFF0C\u540E\u7AEF\u7167\u6837\u770B\u5F97\u5230
|
|
3581
|
+
- \u4E00\u6B21\u70B9\u51FB\u91CC \`sequence: [track, navigate]\` **\u53EA\u4E0A\u62A5\u4E00\u6761\u70B9\u51FB**\uFF0C\u6309\u624B\u52BF\u8BA1\u6570\u3001\u4E0D\u6309\u52A8\u4F5C\u4E2A\u6570\u8BA1\u6570\uFF0C\u653E\u5FC3\u4E32
|
|
3432
3582
|
|
|
3433
3583
|
## \u516C\u544A\u6761 / Banner \u7684\u5173\u95ED
|
|
3434
3584
|
|
|
@@ -3488,7 +3638,7 @@ function countdownSection() {
|
|
|
3488
3638
|
|
|
3489
3639
|
\`to\` \u662F\u7ED3\u675F\u65F6\u95F4\u3002**\u7528\u6237\u8BF4\u300C9\u67081\u53F7\u622A\u6B62\u300D\u5C31\u76F4\u63A5\u5199 \`"2026-09-01"\`\uFF0C\u4E0D\u8981\u81EA\u4F5C\u4E3B\u5F20\u6362\u7B97\u6210\u65F6\u95F4\u6233** \u2014\u2014 \u8FD0\u8425\u770B\u4E0D\u61C2\u65F6\u95F4\u6233\uFF0C\u4E5F\u6CA1\u6CD5\u6838\u5BF9\u3002
|
|
3490
3640
|
|
|
3491
|
-
\u80FD\u8BC6\u522B\u7684\u5199\u6CD5\uFF1A\`"2026-09-01 18:00:00"\`\u3001\`"2026-09-01"\`\u3001\`"2026\u5E749\u67081\u65E5 18\u70B9"\`\u3001ISO\uFF08\`"2026-09-01T18:00:00+08:00"\`\uFF09\u3001\u6BEB\u79D2\u65F6\u95F4\u6233\u3001\`"{{ user.
|
|
3641
|
+
\u80FD\u8BC6\u522B\u7684\u5199\u6CD5\uFF1A\`"2026-09-01 18:00:00"\`\u3001\`"2026-09-01"\`\u3001\`"2026\u5E749\u67081\u65E5 18\u70B9"\`\u3001ISO\uFF08\`"2026-09-01T18:00:00+08:00"\`\uFF09\u3001\u6BEB\u79D2\u65F6\u95F4\u6233\u3001\`"{{ user.serviceExpireTime }}"\`\u3002
|
|
3492
3642
|
|
|
3493
3643
|
\u5199\u6210 \`"\u4E0B\u5468\u4E09"\` \u8FD9\u79CD\u8BC6\u522B\u4E0D\u4E86\u7684\u4F1A\u5728\u4FDD\u5B58\u524D\u62A5\u9519\u3002
|
|
3494
3644
|
|
|
@@ -3499,7 +3649,7 @@ function countdownSection() {
|
|
|
3499
3649
|
\`\`\`jsonc
|
|
3500
3650
|
{
|
|
3501
3651
|
"type": "countdown",
|
|
3502
|
-
"to": "2026-09-01 18:00:00", // \u4E5F\u53EF\u4EE5\u5199 "{{ user.
|
|
3652
|
+
"to": "2026-09-01 18:00:00", // \u4E5F\u53EF\u4EE5\u5199 "{{ user.serviceExpireTime }}" \u4ECE\u6570\u636E\u53D6
|
|
3503
3653
|
"precision": "s", // "s" \u6BCF\u79D2 | "cs" \u5398\u79D2\u9010\u5E27\uFF08\u7D27\u8FEB\u611F\u66F4\u5F3A\uFF09
|
|
3504
3654
|
"as": "cd",
|
|
3505
3655
|
"style": { "align": "center", "gap": 6 },
|
|
@@ -3576,6 +3726,10 @@ function dataSection() {
|
|
|
3576
3726
|
\u80FD\u8BFB\u5230\uFF1A\`data\` \u7684\u5B57\u6BB5\uFF08\u76F4\u63A5\u5728\u9876\u5C42\uFF09\u3001\`state.xxx\`\u3001\`user.xxx\`\uFF08\u5F53\u524D\u7528\u6237\u4FE1\u606F\uFF09\u3001
|
|
3577
3727
|
\`derived\` \u7684\u522B\u540D\u3001\`item\`/\`index\`\uFF08repeat \u5185\uFF09\u3001\`cd.xxx\`\uFF08countdown \u5185\uFF09\u3002
|
|
3578
3728
|
|
|
3729
|
+
\`user\` **\u53EA\u6709\u8FD9\u4E9B\u5B57\u6BB5**\uFF08\u5199\u522B\u7684\u540D\u5B57\u6C42\u503C\u4E3A\u7A7A\uFF0C\u4FDD\u5B58\u65F6\u4F1A\u88AB\u6821\u9A8C\u62E6\u4E0B\uFF09\uFF1A
|
|
3730
|
+
${DEFAULT_USER_FIELDS.map((field) => `\`${field}\`\uFF08${USER_FIELD_LABELS[field]}\uFF09`).join("\u3001")}\u3002
|
|
3731
|
+
\u5012\u8BA1\u65F6\u7684 \`to\` \u7528 \`{{ user.serviceExpireTime }}\`\uFF0C\u5269\u4F59\u5929\u6570\u6587\u6848\u7528 \`{{ user.remainDays }}\`\u3002
|
|
3732
|
+
|
|
3579
3733
|
\`{{ }}\` \u53EF\u7528\u4E8E \`content\` \`src\` \`text\` \`to\`\u3001**\`style\` \u7684\u6BCF\u4E2A\u503C**\u3001\u4EE5\u53CA\u52A8\u4F5C\u7684 \`url\`/\`event\`/\`params\`\u3002
|
|
3580
3734
|
|
|
3581
3735
|
\u652F\u6301\uFF1A\u53D6\u503C\u3001\u5B57\u9762\u91CF\u3001\`!\` \`-\`\u3001\`+ - * / %\`\u3001\u6BD4\u8F83\u3001\`&& ||\`\u3001\u4E09\u5143 \`a ? b : c\`\u3002
|