fix:购买商品饰品

This commit is contained in:
jingyun committed 2026-09-08 14:27:32 +08:00
1 parent 1f9a8b67a2
commit e29ed0a2c8
5 files changed
+88 -4

No files matched your search

@@ -6,7 +6,8 @@ void main() {
final arguments = buildEnterWebMallBridgeArguments(
currentUri: Uri.parse(
'https://mall.example.com/?from=jinzhi&source_app=jinzhi'
'&source_entry=mall_tab&placement=mall_tab&hook_type=mall_tab'
'&source_entry=market_quote&placement=mall_tab&hook_type=quote_cta'
'&entry_scene=retail&entry_metal=au'
'&tracking_id=tracking&click_id=click-1&ts=123&isNight=0',
),
logged: true,
@@ -23,6 +24,10 @@ void main() {
expect(arguments['from'], 'jinzhi');
expect(arguments['source_app'], 'jinzhi');
expect(arguments['source_entry'], 'market_quote');
expect(arguments['hook_type'], 'quote_cta');
expect(arguments['entry_scene'], 'retail');
expect(arguments['entry_metal'], 'au');
expect(arguments['ad_id'], 'latest-ad');
expect(arguments['tracking_id'], 'latest-tracking');
expect(arguments['click_id'], 'latest-click');
@@ -44,6 +44,24 @@ void main() {
expect(external.opensInApp, isFalse);
});
test('adds retail quote context to the mall URL for H5', () {
const config = MallTabConfig(
enabled: true,
url: 'https://mall.example.com/home',
);
final uri = config.attributedUri(
clickId: 'quote-click',
entry: MallEntryRequest.quoteRetailGold,
)!;
expect(uri.queryParameters['source_entry'], 'market_quote');
expect(uri.queryParameters['hook_type'], 'quote_cta');
expect(uri.queryParameters['entry_scene'], 'retail');
expect(uri.queryParameters['entry_metal'], 'au');
expect(uri.queryParameters['placement'], 'mall_tab');
});
test('shows the first-install promo only for a configured mall entry', () {
const configured = MallTabConfig(
enabled: true,