@tbox.cn/app-module-member 0.9.3 → 0.9.5
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/{chunk-ALVM7SOF.js → chunk-VU73BWYZ.js} +10 -2
- package/dist/index.js +1 -1
- package/dist/server/index.d.ts +76 -76
- package/dist/server/index.js +1 -1
- package/package.json +5 -5
- package/src/server/cards/member-card-summary/samples.ts +8 -0
- package/src/server/cards/member-point-usage-list/meta.ts +2 -0
- package/tests/samples.test.ts +6 -0
|
@@ -163,6 +163,7 @@ var samples = [
|
|
|
163
163
|
label: "\u5361\u9762\xB7\u5361\u56FE\u7F3A\u5931",
|
|
164
164
|
note: "presentation \u5728\u4F46 cardImageUrl \u7F3A\u7701\u2014\u2014\u9000\u5230\u6E10\u53D8\u515C\u5E95\u5E95\u7EB9\uFF0C\u53E0\u5B57\u6392\u5E03\u5E94\u4E0D\u53D8",
|
|
165
165
|
group: "\u5361\u9762\u7D20\u6750\u5206\u652F",
|
|
166
|
+
hidden: true,
|
|
166
167
|
data: {
|
|
167
168
|
userId: "u_1001",
|
|
168
169
|
cardRef: "card:u_1001",
|
|
@@ -178,6 +179,7 @@ var samples = [
|
|
|
178
179
|
label: "\u5361\u9762\xB7\u5916\u94FE\u52A0\u8F7D\u5931\u8D25",
|
|
179
180
|
note: "\u7EBF\u4E0A\u5361\u56FE 404 / \u65AD\u7F51\u7684\u5B9E\u51B5\u2014\u2014ImageWithFallback \u5360\u4F4D\u4E0D\u5E94\u628A\u5361\u9762\u6491\u53D8\u5F62",
|
|
180
181
|
group: "\u5361\u9762\u7D20\u6750\u5206\u652F",
|
|
182
|
+
hidden: true,
|
|
181
183
|
data: {
|
|
182
184
|
userId: "u_1001",
|
|
183
185
|
cardRef: "card:u_1001",
|
|
@@ -194,6 +196,7 @@ var samples = [
|
|
|
194
196
|
label: "\u5361\u9762\xB7\u8FDB\u5EA6\u957F\u6587\u6848",
|
|
195
197
|
note: "progress.message \u8D85 24 \u5B57\u89E6\u53D1 --scroll \u8DD1\u9A6C\u706F\uFF1Bpercent=0 \u65F6\u8FDB\u5EA6\u6761\u5E94\u53EF\u89C1\u8F68\u9053",
|
|
196
198
|
group: "\u5361\u9762\u7D20\u6750\u5206\u652F",
|
|
199
|
+
hidden: true,
|
|
197
200
|
data: {
|
|
198
201
|
userId: "u_1001",
|
|
199
202
|
cardRef: "card:u_1001",
|
|
@@ -215,6 +218,7 @@ var samples = [
|
|
|
215
218
|
label: "\u5361\u9762\xB7\u65E0\u8FDB\u5EA6\u65E0\u6743\u76CA",
|
|
216
219
|
note: "progress \u4E0E benefits \u540C\u65F6\u7F3A\u7701\u2014\u2014\u53EA\u5269\u5361\u9762 + \u504F\u597D\u5F15\u5BFC\uFF0C\u68C0\u67E5\u5E95\u90E8\u6536\u53E3",
|
|
217
220
|
group: "\u5361\u9762\u7D20\u6750\u5206\u652F",
|
|
221
|
+
hidden: true,
|
|
218
222
|
data: {
|
|
219
223
|
userId: "u_1001",
|
|
220
224
|
cardRef: "card:u_1001",
|
|
@@ -229,6 +233,7 @@ var samples = [
|
|
|
229
233
|
label: "\u5361\u9762\xB7\u6743\u76CA\u56FE\u6807\u5931\u8D25",
|
|
230
234
|
note: "iconUrl \u52A0\u8F7D\u5931\u8D25 \u2192 \u6309\u6743\u76CA\u540D\u5339\u914D\u7684\u515C\u5E95\u56FE\u6807\uFF08\u505C\u8F66/\u79EF\u5206/\u6D3B\u52A8/\u5176\u5B83\u56DB\u6761\u5206\u652F\uFF09",
|
|
231
235
|
group: "\u5361\u9762\u7D20\u6750\u5206\u652F",
|
|
236
|
+
hidden: true,
|
|
232
237
|
data: {
|
|
233
238
|
userId: "u_1001",
|
|
234
239
|
cardRef: "card:u_1001",
|
|
@@ -278,7 +283,8 @@ var samples = [
|
|
|
278
283
|
progress: PROGRESS_SHORT,
|
|
279
284
|
benefits: benefitsOf("gold")
|
|
280
285
|
},
|
|
281
|
-
isHistory: true
|
|
286
|
+
isHistory: true,
|
|
287
|
+
hidden: true
|
|
282
288
|
}
|
|
283
289
|
];
|
|
284
290
|
|
|
@@ -335,7 +341,9 @@ var meta3 = {
|
|
|
335
341
|
items: [{ usageRecordRef: "r1", title: "\u6D88\u8D39\u5956\u52B1", amount: "+100", usedAt: "2026-08-13T00:00:00Z" }],
|
|
336
342
|
total: 1
|
|
337
343
|
},
|
|
338
|
-
schemaVersion: 1
|
|
344
|
+
schemaVersion: 1,
|
|
345
|
+
// 永久型不出卡:积分流水仅作文本事实(queryPoints SKILL 9-03),不构造积分流水卡
|
|
346
|
+
hidden: true
|
|
339
347
|
};
|
|
340
348
|
var meta_default3 = meta3;
|
|
341
349
|
|
package/dist/index.js
CHANGED
package/dist/server/index.d.ts
CHANGED
|
@@ -103,19 +103,19 @@ declare const memberCards: {
|
|
|
103
103
|
labelRef: zod.ZodString;
|
|
104
104
|
name: zod.ZodString;
|
|
105
105
|
}, "strip", zod.ZodTypeAny, {
|
|
106
|
-
labelRef: string;
|
|
107
106
|
name: string;
|
|
108
|
-
}, {
|
|
109
107
|
labelRef: string;
|
|
108
|
+
}, {
|
|
110
109
|
name: string;
|
|
110
|
+
labelRef: string;
|
|
111
111
|
}>, "many">;
|
|
112
112
|
}, "strip", zod.ZodTypeAny, {
|
|
113
113
|
userId: string;
|
|
114
|
-
authState: "authenticated" | "unauthenticated";
|
|
115
114
|
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
115
|
+
authState: "authenticated" | "unauthenticated";
|
|
116
116
|
labels: {
|
|
117
|
-
labelRef: string;
|
|
118
117
|
name: string;
|
|
118
|
+
labelRef: string;
|
|
119
119
|
}[];
|
|
120
120
|
displayName?: string | undefined;
|
|
121
121
|
avatarUrl?: string | undefined;
|
|
@@ -124,11 +124,11 @@ declare const memberCards: {
|
|
|
124
124
|
registeredAt?: string | undefined;
|
|
125
125
|
}, {
|
|
126
126
|
userId: string;
|
|
127
|
-
authState: "authenticated" | "unauthenticated";
|
|
128
127
|
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
128
|
+
authState: "authenticated" | "unauthenticated";
|
|
129
129
|
labels: {
|
|
130
|
-
labelRef: string;
|
|
131
130
|
name: string;
|
|
131
|
+
labelRef: string;
|
|
132
132
|
}[];
|
|
133
133
|
displayName?: string | undefined;
|
|
134
134
|
avatarUrl?: string | undefined;
|
|
@@ -185,13 +185,13 @@ declare const memberCards: {
|
|
|
185
185
|
text: zod.ZodOptional<zod.ZodString>;
|
|
186
186
|
}, "strip", zod.ZodTypeAny, {
|
|
187
187
|
kind: "toast" | "miniapp" | "dialog";
|
|
188
|
-
title?: string | undefined;
|
|
189
188
|
url?: string | undefined;
|
|
189
|
+
title?: string | undefined;
|
|
190
190
|
text?: string | undefined;
|
|
191
191
|
}, {
|
|
192
192
|
kind: "toast" | "miniapp" | "dialog";
|
|
193
|
-
title?: string | undefined;
|
|
194
193
|
url?: string | undefined;
|
|
194
|
+
title?: string | undefined;
|
|
195
195
|
text?: string | undefined;
|
|
196
196
|
}>>;
|
|
197
197
|
}, "strip", zod.ZodTypeAny, {
|
|
@@ -200,8 +200,8 @@ declare const memberCards: {
|
|
|
200
200
|
description?: string | undefined;
|
|
201
201
|
action?: {
|
|
202
202
|
kind: "toast" | "miniapp" | "dialog";
|
|
203
|
-
title?: string | undefined;
|
|
204
203
|
url?: string | undefined;
|
|
204
|
+
title?: string | undefined;
|
|
205
205
|
text?: string | undefined;
|
|
206
206
|
} | undefined;
|
|
207
207
|
iconUrl?: string | undefined;
|
|
@@ -211,8 +211,8 @@ declare const memberCards: {
|
|
|
211
211
|
description?: string | undefined;
|
|
212
212
|
action?: {
|
|
213
213
|
kind: "toast" | "miniapp" | "dialog";
|
|
214
|
-
title?: string | undefined;
|
|
215
214
|
url?: string | undefined;
|
|
215
|
+
title?: string | undefined;
|
|
216
216
|
text?: string | undefined;
|
|
217
217
|
} | undefined;
|
|
218
218
|
iconUrl?: string | undefined;
|
|
@@ -228,8 +228,8 @@ declare const memberCards: {
|
|
|
228
228
|
query: string;
|
|
229
229
|
}>, "many">>;
|
|
230
230
|
}, "strip", zod.ZodTypeAny, {
|
|
231
|
-
userId: string;
|
|
232
231
|
status: "unknown" | "active" | "inactive" | "frozen" | "expired";
|
|
232
|
+
userId: string;
|
|
233
233
|
cardRef: string;
|
|
234
234
|
cardDisplay: string;
|
|
235
235
|
availablePoints: number;
|
|
@@ -254,8 +254,8 @@ declare const memberCards: {
|
|
|
254
254
|
description?: string | undefined;
|
|
255
255
|
action?: {
|
|
256
256
|
kind: "toast" | "miniapp" | "dialog";
|
|
257
|
-
title?: string | undefined;
|
|
258
257
|
url?: string | undefined;
|
|
258
|
+
title?: string | undefined;
|
|
259
259
|
text?: string | undefined;
|
|
260
260
|
} | undefined;
|
|
261
261
|
iconUrl?: string | undefined;
|
|
@@ -265,8 +265,8 @@ declare const memberCards: {
|
|
|
265
265
|
query: string;
|
|
266
266
|
}[] | undefined;
|
|
267
267
|
}, {
|
|
268
|
-
userId: string;
|
|
269
268
|
status: "unknown" | "active" | "inactive" | "frozen" | "expired";
|
|
269
|
+
userId: string;
|
|
270
270
|
cardRef: string;
|
|
271
271
|
cardDisplay: string;
|
|
272
272
|
availablePoints: number;
|
|
@@ -291,8 +291,8 @@ declare const memberCards: {
|
|
|
291
291
|
description?: string | undefined;
|
|
292
292
|
action?: {
|
|
293
293
|
kind: "toast" | "miniapp" | "dialog";
|
|
294
|
-
title?: string | undefined;
|
|
295
294
|
url?: string | undefined;
|
|
295
|
+
title?: string | undefined;
|
|
296
296
|
text?: string | undefined;
|
|
297
297
|
} | undefined;
|
|
298
298
|
iconUrl?: string | undefined;
|
|
@@ -313,42 +313,42 @@ declare const memberCards: {
|
|
|
313
313
|
usedAt: zod.ZodOptional<zod.ZodString>;
|
|
314
314
|
description: zod.ZodOptional<zod.ZodString>;
|
|
315
315
|
}, "strip", zod.ZodTypeAny, {
|
|
316
|
-
usageRecordRef: string;
|
|
317
316
|
title: string;
|
|
317
|
+
usageRecordRef: string;
|
|
318
318
|
amount: string;
|
|
319
|
-
usedAt?: string | undefined;
|
|
320
319
|
description?: string | undefined;
|
|
320
|
+
usedAt?: string | undefined;
|
|
321
321
|
}, {
|
|
322
|
-
usageRecordRef: string;
|
|
323
322
|
title: string;
|
|
323
|
+
usageRecordRef: string;
|
|
324
324
|
amount: string;
|
|
325
|
-
usedAt?: string | undefined;
|
|
326
325
|
description?: string | undefined;
|
|
326
|
+
usedAt?: string | undefined;
|
|
327
327
|
}>, "many">;
|
|
328
328
|
total: zod.ZodNumber;
|
|
329
329
|
}, "strip", zod.ZodTypeAny, {
|
|
330
330
|
userId: string;
|
|
331
|
-
|
|
331
|
+
total: number;
|
|
332
332
|
items: {
|
|
333
|
-
usageRecordRef: string;
|
|
334
333
|
title: string;
|
|
334
|
+
usageRecordRef: string;
|
|
335
335
|
amount: string;
|
|
336
|
-
usedAt?: string | undefined;
|
|
337
336
|
description?: string | undefined;
|
|
337
|
+
usedAt?: string | undefined;
|
|
338
338
|
}[];
|
|
339
|
-
|
|
339
|
+
balance: number;
|
|
340
340
|
membershipLabel?: string | undefined;
|
|
341
341
|
}, {
|
|
342
342
|
userId: string;
|
|
343
|
-
|
|
343
|
+
total: number;
|
|
344
344
|
items: {
|
|
345
|
-
usageRecordRef: string;
|
|
346
345
|
title: string;
|
|
346
|
+
usageRecordRef: string;
|
|
347
347
|
amount: string;
|
|
348
|
-
usedAt?: string | undefined;
|
|
349
348
|
description?: string | undefined;
|
|
349
|
+
usedAt?: string | undefined;
|
|
350
350
|
}[];
|
|
351
|
-
|
|
351
|
+
balance: number;
|
|
352
352
|
membershipLabel?: string | undefined;
|
|
353
353
|
}>>;
|
|
354
354
|
readonly 'member-enrollment-form': _tbox_cn_app_contracts.CardMeta<zod.ZodObject<{
|
|
@@ -390,14 +390,14 @@ declare const memberCards: {
|
|
|
390
390
|
required: zod.ZodBoolean;
|
|
391
391
|
url: zod.ZodOptional<zod.ZodString>;
|
|
392
392
|
}, "strip", zod.ZodTypeAny, {
|
|
393
|
-
title: string;
|
|
394
393
|
required: boolean;
|
|
394
|
+
title: string;
|
|
395
395
|
version: string;
|
|
396
396
|
consentId: string;
|
|
397
397
|
url?: string | undefined;
|
|
398
398
|
}, {
|
|
399
|
-
title: string;
|
|
400
399
|
required: boolean;
|
|
400
|
+
title: string;
|
|
401
401
|
version: string;
|
|
402
402
|
consentId: string;
|
|
403
403
|
url?: string | undefined;
|
|
@@ -415,7 +415,6 @@ declare const memberCards: {
|
|
|
415
415
|
manualNotice: zod.ZodOptional<zod.ZodString>;
|
|
416
416
|
}, "strip", zod.ZodTypeAny, {
|
|
417
417
|
userId: string;
|
|
418
|
-
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
419
418
|
authorization: {
|
|
420
419
|
status: "unavailable" | "required" | "authorized";
|
|
421
420
|
mobileMasked?: string | undefined;
|
|
@@ -430,10 +429,11 @@ declare const memberCards: {
|
|
|
430
429
|
prefill?: string | undefined;
|
|
431
430
|
placeholder?: string | undefined;
|
|
432
431
|
}[];
|
|
432
|
+
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
433
433
|
formVersion: string;
|
|
434
434
|
consents: {
|
|
435
|
-
title: string;
|
|
436
435
|
required: boolean;
|
|
436
|
+
title: string;
|
|
437
437
|
version: string;
|
|
438
438
|
consentId: string;
|
|
439
439
|
url?: string | undefined;
|
|
@@ -441,7 +441,6 @@ declare const memberCards: {
|
|
|
441
441
|
manualNotice?: string | undefined;
|
|
442
442
|
}, {
|
|
443
443
|
userId: string;
|
|
444
|
-
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
445
444
|
authorization: {
|
|
446
445
|
status: "unavailable" | "required" | "authorized";
|
|
447
446
|
mobileMasked?: string | undefined;
|
|
@@ -456,10 +455,11 @@ declare const memberCards: {
|
|
|
456
455
|
prefill?: string | undefined;
|
|
457
456
|
placeholder?: string | undefined;
|
|
458
457
|
}[];
|
|
458
|
+
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
459
459
|
formVersion: string;
|
|
460
460
|
consents: {
|
|
461
|
-
title: string;
|
|
462
461
|
required: boolean;
|
|
462
|
+
title: string;
|
|
463
463
|
version: string;
|
|
464
464
|
consentId: string;
|
|
465
465
|
url?: string | undefined;
|
|
@@ -474,15 +474,15 @@ declare const memberCards: {
|
|
|
474
474
|
message: zod.ZodOptional<zod.ZodString>;
|
|
475
475
|
}, "strip", zod.ZodTypeAny, {
|
|
476
476
|
userId: string;
|
|
477
|
-
state: "
|
|
478
|
-
memberRef?: string | undefined;
|
|
477
|
+
state: "failed" | "active" | "pending_confirmation" | "confirmation_timeout";
|
|
479
478
|
message?: string | undefined;
|
|
479
|
+
memberRef?: string | undefined;
|
|
480
480
|
attemptRef?: string | undefined;
|
|
481
481
|
}, {
|
|
482
482
|
userId: string;
|
|
483
|
-
state: "
|
|
484
|
-
memberRef?: string | undefined;
|
|
483
|
+
state: "failed" | "active" | "pending_confirmation" | "confirmation_timeout";
|
|
485
484
|
message?: string | undefined;
|
|
485
|
+
memberRef?: string | undefined;
|
|
486
486
|
attemptRef?: string | undefined;
|
|
487
487
|
}>>;
|
|
488
488
|
readonly 'member-enrollment-cta': _tbox_cn_app_contracts.CardMeta<zod.ZodObject<{
|
|
@@ -495,16 +495,16 @@ declare const memberCards: {
|
|
|
495
495
|
perks: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
496
496
|
}, "strip", zod.ZodTypeAny, {
|
|
497
497
|
userId: string;
|
|
498
|
-
authState: "authenticated";
|
|
499
498
|
state: "not_enrolled" | "closed";
|
|
499
|
+
authState: "authenticated";
|
|
500
500
|
title?: string | undefined;
|
|
501
501
|
subtitle?: string | undefined;
|
|
502
502
|
enrollUrl?: string | undefined;
|
|
503
503
|
perks?: string[] | undefined;
|
|
504
504
|
}, {
|
|
505
505
|
userId: string;
|
|
506
|
-
authState: "authenticated";
|
|
507
506
|
state: "not_enrolled" | "closed";
|
|
507
|
+
authState: "authenticated";
|
|
508
508
|
title?: string | undefined;
|
|
509
509
|
subtitle?: string | undefined;
|
|
510
510
|
enrollUrl?: string | undefined;
|
|
@@ -541,19 +541,19 @@ declare const serverModule: {
|
|
|
541
541
|
labelRef: zod.ZodString;
|
|
542
542
|
name: zod.ZodString;
|
|
543
543
|
}, "strip", zod.ZodTypeAny, {
|
|
544
|
-
labelRef: string;
|
|
545
544
|
name: string;
|
|
546
|
-
}, {
|
|
547
545
|
labelRef: string;
|
|
546
|
+
}, {
|
|
548
547
|
name: string;
|
|
548
|
+
labelRef: string;
|
|
549
549
|
}>, "many">;
|
|
550
550
|
}, "strip", zod.ZodTypeAny, {
|
|
551
551
|
userId: string;
|
|
552
|
-
authState: "authenticated" | "unauthenticated";
|
|
553
552
|
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
553
|
+
authState: "authenticated" | "unauthenticated";
|
|
554
554
|
labels: {
|
|
555
|
-
labelRef: string;
|
|
556
555
|
name: string;
|
|
556
|
+
labelRef: string;
|
|
557
557
|
}[];
|
|
558
558
|
displayName?: string | undefined;
|
|
559
559
|
avatarUrl?: string | undefined;
|
|
@@ -562,11 +562,11 @@ declare const serverModule: {
|
|
|
562
562
|
registeredAt?: string | undefined;
|
|
563
563
|
}, {
|
|
564
564
|
userId: string;
|
|
565
|
-
authState: "authenticated" | "unauthenticated";
|
|
566
565
|
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
566
|
+
authState: "authenticated" | "unauthenticated";
|
|
567
567
|
labels: {
|
|
568
|
-
labelRef: string;
|
|
569
568
|
name: string;
|
|
569
|
+
labelRef: string;
|
|
570
570
|
}[];
|
|
571
571
|
displayName?: string | undefined;
|
|
572
572
|
avatarUrl?: string | undefined;
|
|
@@ -623,13 +623,13 @@ declare const serverModule: {
|
|
|
623
623
|
text: zod.ZodOptional<zod.ZodString>;
|
|
624
624
|
}, "strip", zod.ZodTypeAny, {
|
|
625
625
|
kind: "toast" | "miniapp" | "dialog";
|
|
626
|
-
title?: string | undefined;
|
|
627
626
|
url?: string | undefined;
|
|
627
|
+
title?: string | undefined;
|
|
628
628
|
text?: string | undefined;
|
|
629
629
|
}, {
|
|
630
630
|
kind: "toast" | "miniapp" | "dialog";
|
|
631
|
-
title?: string | undefined;
|
|
632
631
|
url?: string | undefined;
|
|
632
|
+
title?: string | undefined;
|
|
633
633
|
text?: string | undefined;
|
|
634
634
|
}>>;
|
|
635
635
|
}, "strip", zod.ZodTypeAny, {
|
|
@@ -638,8 +638,8 @@ declare const serverModule: {
|
|
|
638
638
|
description?: string | undefined;
|
|
639
639
|
action?: {
|
|
640
640
|
kind: "toast" | "miniapp" | "dialog";
|
|
641
|
-
title?: string | undefined;
|
|
642
641
|
url?: string | undefined;
|
|
642
|
+
title?: string | undefined;
|
|
643
643
|
text?: string | undefined;
|
|
644
644
|
} | undefined;
|
|
645
645
|
iconUrl?: string | undefined;
|
|
@@ -649,8 +649,8 @@ declare const serverModule: {
|
|
|
649
649
|
description?: string | undefined;
|
|
650
650
|
action?: {
|
|
651
651
|
kind: "toast" | "miniapp" | "dialog";
|
|
652
|
-
title?: string | undefined;
|
|
653
652
|
url?: string | undefined;
|
|
653
|
+
title?: string | undefined;
|
|
654
654
|
text?: string | undefined;
|
|
655
655
|
} | undefined;
|
|
656
656
|
iconUrl?: string | undefined;
|
|
@@ -666,8 +666,8 @@ declare const serverModule: {
|
|
|
666
666
|
query: string;
|
|
667
667
|
}>, "many">>;
|
|
668
668
|
}, "strip", zod.ZodTypeAny, {
|
|
669
|
-
userId: string;
|
|
670
669
|
status: "unknown" | "active" | "inactive" | "frozen" | "expired";
|
|
670
|
+
userId: string;
|
|
671
671
|
cardRef: string;
|
|
672
672
|
cardDisplay: string;
|
|
673
673
|
availablePoints: number;
|
|
@@ -692,8 +692,8 @@ declare const serverModule: {
|
|
|
692
692
|
description?: string | undefined;
|
|
693
693
|
action?: {
|
|
694
694
|
kind: "toast" | "miniapp" | "dialog";
|
|
695
|
-
title?: string | undefined;
|
|
696
695
|
url?: string | undefined;
|
|
696
|
+
title?: string | undefined;
|
|
697
697
|
text?: string | undefined;
|
|
698
698
|
} | undefined;
|
|
699
699
|
iconUrl?: string | undefined;
|
|
@@ -703,8 +703,8 @@ declare const serverModule: {
|
|
|
703
703
|
query: string;
|
|
704
704
|
}[] | undefined;
|
|
705
705
|
}, {
|
|
706
|
-
userId: string;
|
|
707
706
|
status: "unknown" | "active" | "inactive" | "frozen" | "expired";
|
|
707
|
+
userId: string;
|
|
708
708
|
cardRef: string;
|
|
709
709
|
cardDisplay: string;
|
|
710
710
|
availablePoints: number;
|
|
@@ -729,8 +729,8 @@ declare const serverModule: {
|
|
|
729
729
|
description?: string | undefined;
|
|
730
730
|
action?: {
|
|
731
731
|
kind: "toast" | "miniapp" | "dialog";
|
|
732
|
-
title?: string | undefined;
|
|
733
732
|
url?: string | undefined;
|
|
733
|
+
title?: string | undefined;
|
|
734
734
|
text?: string | undefined;
|
|
735
735
|
} | undefined;
|
|
736
736
|
iconUrl?: string | undefined;
|
|
@@ -751,42 +751,42 @@ declare const serverModule: {
|
|
|
751
751
|
usedAt: zod.ZodOptional<zod.ZodString>;
|
|
752
752
|
description: zod.ZodOptional<zod.ZodString>;
|
|
753
753
|
}, "strip", zod.ZodTypeAny, {
|
|
754
|
-
usageRecordRef: string;
|
|
755
754
|
title: string;
|
|
755
|
+
usageRecordRef: string;
|
|
756
756
|
amount: string;
|
|
757
|
-
usedAt?: string | undefined;
|
|
758
757
|
description?: string | undefined;
|
|
758
|
+
usedAt?: string | undefined;
|
|
759
759
|
}, {
|
|
760
|
-
usageRecordRef: string;
|
|
761
760
|
title: string;
|
|
761
|
+
usageRecordRef: string;
|
|
762
762
|
amount: string;
|
|
763
|
-
usedAt?: string | undefined;
|
|
764
763
|
description?: string | undefined;
|
|
764
|
+
usedAt?: string | undefined;
|
|
765
765
|
}>, "many">;
|
|
766
766
|
total: zod.ZodNumber;
|
|
767
767
|
}, "strip", zod.ZodTypeAny, {
|
|
768
768
|
userId: string;
|
|
769
|
-
|
|
769
|
+
total: number;
|
|
770
770
|
items: {
|
|
771
|
-
usageRecordRef: string;
|
|
772
771
|
title: string;
|
|
772
|
+
usageRecordRef: string;
|
|
773
773
|
amount: string;
|
|
774
|
-
usedAt?: string | undefined;
|
|
775
774
|
description?: string | undefined;
|
|
775
|
+
usedAt?: string | undefined;
|
|
776
776
|
}[];
|
|
777
|
-
|
|
777
|
+
balance: number;
|
|
778
778
|
membershipLabel?: string | undefined;
|
|
779
779
|
}, {
|
|
780
780
|
userId: string;
|
|
781
|
-
|
|
781
|
+
total: number;
|
|
782
782
|
items: {
|
|
783
|
-
usageRecordRef: string;
|
|
784
783
|
title: string;
|
|
784
|
+
usageRecordRef: string;
|
|
785
785
|
amount: string;
|
|
786
|
-
usedAt?: string | undefined;
|
|
787
786
|
description?: string | undefined;
|
|
787
|
+
usedAt?: string | undefined;
|
|
788
788
|
}[];
|
|
789
|
-
|
|
789
|
+
balance: number;
|
|
790
790
|
membershipLabel?: string | undefined;
|
|
791
791
|
}>>;
|
|
792
792
|
readonly 'member-enrollment-form': _tbox_cn_app_contracts.CardMeta<zod.ZodObject<{
|
|
@@ -828,14 +828,14 @@ declare const serverModule: {
|
|
|
828
828
|
required: zod.ZodBoolean;
|
|
829
829
|
url: zod.ZodOptional<zod.ZodString>;
|
|
830
830
|
}, "strip", zod.ZodTypeAny, {
|
|
831
|
-
title: string;
|
|
832
831
|
required: boolean;
|
|
832
|
+
title: string;
|
|
833
833
|
version: string;
|
|
834
834
|
consentId: string;
|
|
835
835
|
url?: string | undefined;
|
|
836
836
|
}, {
|
|
837
|
-
title: string;
|
|
838
837
|
required: boolean;
|
|
838
|
+
title: string;
|
|
839
839
|
version: string;
|
|
840
840
|
consentId: string;
|
|
841
841
|
url?: string | undefined;
|
|
@@ -853,7 +853,6 @@ declare const serverModule: {
|
|
|
853
853
|
manualNotice: zod.ZodOptional<zod.ZodString>;
|
|
854
854
|
}, "strip", zod.ZodTypeAny, {
|
|
855
855
|
userId: string;
|
|
856
|
-
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
857
856
|
authorization: {
|
|
858
857
|
status: "unavailable" | "required" | "authorized";
|
|
859
858
|
mobileMasked?: string | undefined;
|
|
@@ -868,10 +867,11 @@ declare const serverModule: {
|
|
|
868
867
|
prefill?: string | undefined;
|
|
869
868
|
placeholder?: string | undefined;
|
|
870
869
|
}[];
|
|
870
|
+
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
871
871
|
formVersion: string;
|
|
872
872
|
consents: {
|
|
873
|
-
title: string;
|
|
874
873
|
required: boolean;
|
|
874
|
+
title: string;
|
|
875
875
|
version: string;
|
|
876
876
|
consentId: string;
|
|
877
877
|
url?: string | undefined;
|
|
@@ -879,7 +879,6 @@ declare const serverModule: {
|
|
|
879
879
|
manualNotice?: string | undefined;
|
|
880
880
|
}, {
|
|
881
881
|
userId: string;
|
|
882
|
-
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
883
882
|
authorization: {
|
|
884
883
|
status: "unavailable" | "required" | "authorized";
|
|
885
884
|
mobileMasked?: string | undefined;
|
|
@@ -894,10 +893,11 @@ declare const serverModule: {
|
|
|
894
893
|
prefill?: string | undefined;
|
|
895
894
|
placeholder?: string | undefined;
|
|
896
895
|
}[];
|
|
896
|
+
state: "unknown" | "active" | "not_enrolled" | "closed";
|
|
897
897
|
formVersion: string;
|
|
898
898
|
consents: {
|
|
899
|
-
title: string;
|
|
900
899
|
required: boolean;
|
|
900
|
+
title: string;
|
|
901
901
|
version: string;
|
|
902
902
|
consentId: string;
|
|
903
903
|
url?: string | undefined;
|
|
@@ -912,15 +912,15 @@ declare const serverModule: {
|
|
|
912
912
|
message: zod.ZodOptional<zod.ZodString>;
|
|
913
913
|
}, "strip", zod.ZodTypeAny, {
|
|
914
914
|
userId: string;
|
|
915
|
-
state: "
|
|
916
|
-
memberRef?: string | undefined;
|
|
915
|
+
state: "failed" | "active" | "pending_confirmation" | "confirmation_timeout";
|
|
917
916
|
message?: string | undefined;
|
|
917
|
+
memberRef?: string | undefined;
|
|
918
918
|
attemptRef?: string | undefined;
|
|
919
919
|
}, {
|
|
920
920
|
userId: string;
|
|
921
|
-
state: "
|
|
922
|
-
memberRef?: string | undefined;
|
|
921
|
+
state: "failed" | "active" | "pending_confirmation" | "confirmation_timeout";
|
|
923
922
|
message?: string | undefined;
|
|
923
|
+
memberRef?: string | undefined;
|
|
924
924
|
attemptRef?: string | undefined;
|
|
925
925
|
}>>;
|
|
926
926
|
readonly 'member-enrollment-cta': _tbox_cn_app_contracts.CardMeta<zod.ZodObject<{
|
|
@@ -933,16 +933,16 @@ declare const serverModule: {
|
|
|
933
933
|
perks: zod.ZodOptional<zod.ZodArray<zod.ZodString, "many">>;
|
|
934
934
|
}, "strip", zod.ZodTypeAny, {
|
|
935
935
|
userId: string;
|
|
936
|
-
authState: "authenticated";
|
|
937
936
|
state: "not_enrolled" | "closed";
|
|
937
|
+
authState: "authenticated";
|
|
938
938
|
title?: string | undefined;
|
|
939
939
|
subtitle?: string | undefined;
|
|
940
940
|
enrollUrl?: string | undefined;
|
|
941
941
|
perks?: string[] | undefined;
|
|
942
942
|
}, {
|
|
943
943
|
userId: string;
|
|
944
|
-
authState: "authenticated";
|
|
945
944
|
state: "not_enrolled" | "closed";
|
|
945
|
+
authState: "authenticated";
|
|
946
946
|
title?: string | undefined;
|
|
947
947
|
subtitle?: string | undefined;
|
|
948
948
|
enrollUrl?: string | undefined;
|
package/dist/server/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tbox.cn/app-module-member",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "商圈会员模块:会员账户、会员卡、积分流水与入会流程(codegen 源)。",
|
|
6
6
|
"exports": {
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@tbox.cn/app-contracts": "0.12.
|
|
22
|
-
"@tbox.cn/app-contracts-mall": "0.12.
|
|
23
|
-
"@tbox.cn/app-agent-sdk-client": "0.1.
|
|
24
|
-
"@tbox.cn/app-agent-sdk-server": "0.1.
|
|
21
|
+
"@tbox.cn/app-contracts": "0.12.3",
|
|
22
|
+
"@tbox.cn/app-contracts-mall": "0.12.3",
|
|
23
|
+
"@tbox.cn/app-agent-sdk-client": "0.1.3",
|
|
24
|
+
"@tbox.cn/app-agent-sdk-server": "0.1.4"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"zod": "3.25.76",
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
* 换行(低两档 14 项、高两档 15 项的数量差异照实铺),不是图标的图案还原度
|
|
16
16
|
* (真实图标由 provider 运行时下发;图案语义兜底归组件内 ImageWithFallback);
|
|
17
17
|
* - 卡图/图标的外链失败分支刻意保留 example.com 占位(该分支本身是合法预览态);
|
|
18
|
+
* - 「卡面素材分支」组五格 hidden: true(2026-09-23 预览降噪裁决——真源保留,shape/schema
|
|
19
|
+
* 质量检查仍全量巡走;恢复展示 = 移除标记);
|
|
18
20
|
* - 白名单由 tests/samples.test.ts 断言收口:卡面 URL 仅允许 mdn.alipayobjects.com /
|
|
19
21
|
* example.com / data:image/svg+xml,厂商租户素材回潜即 fail。
|
|
20
22
|
*/
|
|
@@ -194,6 +196,7 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
194
196
|
label: '卡面·卡图缺失',
|
|
195
197
|
note: 'presentation 在但 cardImageUrl 缺省——退到渐变兜底底纹,叠字排布应不变',
|
|
196
198
|
group: '卡面素材分支',
|
|
199
|
+
hidden: true,
|
|
197
200
|
data: {
|
|
198
201
|
userId: 'u_1001', cardRef: 'card:u_1001', cardDisplay: '金卡会员', status: 'active',
|
|
199
202
|
availablePoints: 860,
|
|
@@ -205,6 +208,7 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
205
208
|
label: '卡面·外链加载失败',
|
|
206
209
|
note: '线上卡图 404 / 断网的实况——ImageWithFallback 占位不应把卡面撑变形',
|
|
207
210
|
group: '卡面素材分支',
|
|
211
|
+
hidden: true,
|
|
208
212
|
data: {
|
|
209
213
|
userId: 'u_1001', cardRef: 'card:u_1001', cardDisplay: '金卡会员', status: 'active',
|
|
210
214
|
availablePoints: 860, cardImageUrl: 'https://assets.example.com/member/gold-card.png',
|
|
@@ -216,6 +220,7 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
216
220
|
label: '卡面·进度长文案',
|
|
217
221
|
note: 'progress.message 超 24 字触发 --scroll 跑马灯;percent=0 时进度条应可见轨道',
|
|
218
222
|
group: '卡面素材分支',
|
|
223
|
+
hidden: true,
|
|
219
224
|
data: {
|
|
220
225
|
userId: 'u_1001', cardRef: 'card:u_1001', cardDisplay: '金卡会员', status: 'active',
|
|
221
226
|
availablePoints: 860, cardImageUrl: FACE.gold,
|
|
@@ -231,6 +236,7 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
231
236
|
label: '卡面·无进度无权益',
|
|
232
237
|
note: 'progress 与 benefits 同时缺省——只剩卡面 + 偏好引导,检查底部收口',
|
|
233
238
|
group: '卡面素材分支',
|
|
239
|
+
hidden: true,
|
|
234
240
|
data: {
|
|
235
241
|
userId: 'u_1001', cardRef: 'card:u_1001', cardDisplay: '悦享卡', status: 'active',
|
|
236
242
|
availablePoints: 0, cardImageUrl: FACE.blue,
|
|
@@ -241,6 +247,7 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
241
247
|
label: '卡面·权益图标失败',
|
|
242
248
|
note: 'iconUrl 加载失败 → 按权益名匹配的兜底图标(停车/积分/活动/其它四条分支)',
|
|
243
249
|
group: '卡面素材分支',
|
|
250
|
+
hidden: true,
|
|
244
251
|
data: {
|
|
245
252
|
userId: 'u_1001', cardRef: 'card:u_1001', cardDisplay: '金卡会员', status: 'active',
|
|
246
253
|
availablePoints: 860, cardImageUrl: FACE.gold,
|
|
@@ -277,5 +284,6 @@ export const samples: CardSample<MemberCardSummaryCardData>[] = [
|
|
|
277
284
|
progress: PROGRESS_SHORT, benefits: benefitsOf('gold'),
|
|
278
285
|
},
|
|
279
286
|
isHistory: true,
|
|
287
|
+
hidden: true,
|
|
280
288
|
},
|
|
281
289
|
];
|
package/tests/samples.test.ts
CHANGED
|
@@ -27,6 +27,12 @@ describe('member samples 双断言(样本即契约)', () => {
|
|
|
27
27
|
expect(meta.samples).toHaveLength(11);
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
+
it('历史卡保留质量检查但不进入 Preview', () => {
|
|
31
|
+
const histories = (meta.samples ?? []).filter((sample) => sample.isHistory === true);
|
|
32
|
+
expect(histories).toHaveLength(1);
|
|
33
|
+
expect(histories.every((sample) => sample.hidden === true)).toBe(true);
|
|
34
|
+
});
|
|
35
|
+
|
|
30
36
|
it('四档 variant 全覆盖 + 高低档权益数量差异照实(14/15)', () => {
|
|
31
37
|
const variants = new Set(
|
|
32
38
|
(meta.samples ?? [])
|